Commit Graph
134 Commits
Author SHA1 Message Date
Tommaso Casaburi 616fea39fb fix(directory): use resolved board for directory feeds 2026-05-21 00:05:29 +07:00
Tommaso Casaburi 62cff4e207 fix(catalog): improve empty search state and footer layout
Show centered Nothing Found for catalog searches with no matches, mirror
search results labels at the bottom footer, split nav from the style row,
and drop the desktop catalog footer top margin.
2026-05-19 15:38:44 +07:00
Tommaso Casaburi 8217bad735 fix(catalog): hide threads across board catalogs 2026-05-14 16:59:55 +07:00
Tommaso CasaburiandGitHub 5dc5408a15 fix(codebase audit): preserve cleanup without regressions
Fix codebase audit regressions while preserving UI/UX behavior and adding review-driven hardening.
2026-04-24 15:48:07 +07:00
Tommaso Casaburi c046c542b6 chore(deps): use published bitsocial react hooks 2026-04-20 22:11:36 +07:00
Tommaso Casaburi 58a4be1be7 fix(catalog): reuse board feed identity when idle 2026-04-18 17:29:33 +07:00
Tommaso Casaburi 70d8c37222 feat(multiboards): expand time filters in place 2026-04-18 16:47:04 +07:00
Tommaso Casaburi 49422591b8 fix(multiboards): restore stable time-filter suggestions 2026-04-18 15:58:27 +07:00
Tommaso Casaburi ee7a5b5778 refactor(core): remove legacy plebbit terminology 2026-04-17 10:48:27 +07:00
Tommaso Casaburi 45567013fc test(ci): align strict community mocks 2026-04-15 13:18:02 +07:00
Tommaso Casaburi 621235379c fix(feed): support strict community refs and safer domain publishing 2026-04-15 12:51:21 +07:00
Tommaso Casaburi a35ec83966 fix(catalog): address missed review findings 2026-04-03 15:51:57 +07:00
Tommaso CasaburiandGitHub 7ba28becc5 fix(catalog): stop virtualizing single-board catalogs (#1121)
* fix(catalog): defer pretext row work and trim multiboard append batches

* fix(catalog): stop virtualizing single-board catalogs
2026-04-03 15:08:22 +07:00
Tommaso CasaburiandGitHub 251e103db3 feat: finalize pretext feed sizing rollout (#1120)
* feat(feeds): add pretext-backed item sizing across board, catalog, and thread replies

* feat: finalize pretext feed sizing rollout

* fix(catalog): raise multiboard viewport buffer

* fix(board): preserve pretext query overrides
2026-04-02 19:45:55 +07:00
Tommaso CasaburiandGitHub c2e8e169c2 fix(accounts): adapt 5chan to compact account history hooks (#1118)
* chore(cursor): use composer-2 for subagents

* fix(accounts): adapt 5chan to compact account history hooks

* fix(accounts): address 5chan account-history review findings
2026-03-20 21:25:57 +08:00
Tommaso CasaburiandGitHub aedee9fb83 feat(archive): implement comment.archived and add archive page (#1074)
* feat(archive): implement comment.archived and add archive page

Add isCommentArchived() utility, /board/:boardIdentifier/archive route,
archive view with filtered feed, and UI integration (board buttons, edit
menu, catalog row, post). Archived indicator on catalog and posts.

* fix(archive): address review feedback from Bugbot and CodeRabbit

Add missing i18n keys (archived, thread_archived, view, loading_archive),
add /archive/settings route, replace hardcoded English in archive.tsx, and
fix mobile test state.
2026-03-13 16:06:36 +08:00
Tommaso CasaburiandGitHub d7703953fb refactor: migrate 5chan to the community hooks API (#1073)
* refactor(community-api): migrate 5chan to community hooks

* fix(review): address PR feedback

* fix(review): preserve legacy board context fallbacks

* fix(review): address latest bot feedback

* fix(review): use communityAddress in edit menu privileges
2026-03-13 13:25:10 +08:00
plebeius 417482060d refactor: org name changed from bitsocialhq to bitsocialnet 2026-03-09 17:01:35 +08:00
plebeius 3b341922c4 fix(tests): mock board-buttons and style-selector to avoid Solana import crash 2026-03-09 16:31:06 +08:00
plebeius c3cfc7d63a feat(catalog): add mobile footer with Return, Archive, Top, Refresh buttons 2026-03-09 15:17:39 +08:00
plebeius 1fbf715aa9 test: cover board, catalog, and publish flows
Board browsing, catalog filtering, post publishing, and reply publishing had little or no honest whole-repo coverage, which let route-level regressions and duplicated form side effects slip through. This pass adds targeted tests for those user flows and fixes the duplicate `PostFormTable` mounting bug they exposed.
2026-03-08 14:29:47 +08:00
plebeius 4508f589dd chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks 2026-03-05 17:14:23 +08:00
plebeius e556a9e662 chore(deps): replace plebbit/plebbit-react-hooks with bitsocialhq/pkc-react-hooks
bitsocialhq/pkc-react-hooks is a fork of plebbit-react-hooks that we're maintaining temporarily as an attempt to modernize the original repository using AI tools, possibly merging changes back into plebbit-react-hooks, which should also be rebranded to pkc-react-hooks eventually, under the org pkcprotocol.
2026-02-28 15:02:56 +08:00
plebeius 6e08203ce6 perf(feed): reduce Virtuoso overscan and memoize itemContent for multiboard views 2026-02-26 17:27:58 +08:00
plebeius 13dba00778 fix(catalog): cap single-board catalog to maxGuiPages to prevent page 11+ posts 2026-02-25 17:39:07 +08:00
plebeius 0e1421fff7 fix styling 2026-02-24 16:36:13 +08:00
plebeius 925297bc3a refactor footer 2026-02-23 20:50:30 +08:00
plebeius 0ea7356523 refactor(feed): remove "Newer threads available" banner
Removed the newer threads banner and refresh button from catalog and board
footers. Deleted newer_threads_available translation key from all languages.
2026-02-23 19:46:30 +08:00
plebeius 8f8c6254cc perf(catalog): memoize handleNewerPostsButtonClick with useCallback 2026-02-23 19:01:15 +08:00
plebeius 91667966f8 perf(feeds): defer useReplies, Virtuoso for all paths, CLS fixes, memo
Defer useReplies to hover-only in CatalogPost. Memo CatalogRow and Post. Remove useWindowWidth and autoUpdate from CatalogPost. Replace display:none with opacity for images. Add width/height to img tags in catalog-row and comment-media. Use Virtuoso for all rendering paths (infinite, finite, pagination). Optimize filteredComments with Set lookup. Add Vite manual chunks for markdown, virtuoso, floating-ui.
2026-02-23 18:51:42 +08:00
plebeius 24d7b3e057 feat(catalog): add reply-count sorting mode 2026-02-23 17:09:26 +08:00
plebeius 4433834c1c refactor(ui): rename topbar to boardsbar and add desktop footer for board, thread, and catalog 2026-02-23 16:47:51 +08:00
plebeius 8e6d81ba59 refactor(multiboards): remove time filter system end-to-end
Backend retention now keeps only recent posts, making the time filter UI
and newerThan filtering obsolete. Deleted use-time-filter hook, canonical
multiboard routes only, removed footer suggestions, dropped i18n keys.
2026-02-22 15:57:42 +08:00
plebeius 71fdbef1ea fix(feeds): force infinite scroll on multiboards and canonicalize page URLs 2026-02-22 14:24:45 +08:00
plebeius 1067ff39e8 fix(catalog): align pagination and postsPerPage with board view
Use useBoardFeedPageSize and useDirectoryByAddress so catalog respects
directory postsPerPage, caps feed to guiPostsPerPage * 10 in non-infinite
mode, and conditionally renders Virtuoso based on enableInfiniteScroll.
2026-02-21 13:14:50 +08:00
plebeius 1d133b812d refactor(settings): remove Hide threads without images setting
5chan boards enforce requirePostLinkIsMedia/requirePostLink at subplebbit level; client-side filter redundant.
2026-02-19 15:34:13 +08:00
plebeius 11697db1ec refactor(settings): remove blocked addresses setting and block user/board feature
Obsolete with pseudonymity mode (user IDs randomized per board) and custom boards
requiring explicit search/subscribe. Unsubscribe suffices for boards.
2026-02-19 15:30:55 +08:00
plebeius 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius eb8e226ff1 perf: isolate IPFS state updates in board and catalog views to prevent excessive re-renders 2026-01-13 17:21:30 +01:00
plebeius c0c6e9ee31 perf(feeds): use hasMore instead of length check for conditional virtualization 2026-01-13 17:01:51 +01:00
plebeius 341e72ad5b fix(error-display): add delay to prevent false positive error displays 2025-12-31 16:00:58 +01:00
plebeius 652385561b feat(all-feed): add NSFW/SFW filter 2025-12-29 16:18:59 +01:00
plebeius 5aa1eaf13a fix(views): use directory codes in document titles and fix order 2025-12-28 23:13:25 +01:00
plebeius 80e7af81f3 refactor: remove hide gore boards and hide adult boards functionality 2025-12-15 17:04:26 +01:00
plebeius 198b6135da fix: show cached feed time filter in UI 2025-12-08 23:52:13 +01:00
plebeius 1a6ac4a2be fix: use stable time filter for virtuoso state key in cached feeds 2025-12-08 23:32:42 +01:00
plebeius 896ca4ad13 perf: implement LRU-cached persistent feed mounting to eliminate Virtuoso flash
Keep Board/Catalog feeds mounted outside React Router's control to prevent
Virtuoso from remounting when navigating to/from post pages. The feed is
hidden via CSS when viewing posts and shown again when returning, eliminating
the visible flash/displacement that occurred during scroll restoration.

- Add FeedCacheContainer to manage LRU cache of 2 feeds
- Modify Board/Catalog to accept cache props and visibility state
- Add route utilities for feed/post route detection
2025-12-08 22:40:16 +01:00
plebeius 9e13292ae3 fix: reset board scroll on link nav
Force scroll-to-top on link navigation while keeping POP restores, and scope Virtuoso keys per pathname to avoid cross-board scroll leakage.
2025-12-08 13:03:25 +01:00
plebeius ad1a017c57 missing color 2025-11-13 21:15:47 +01:00
plebeius 12101fe75e feat: add Multiboards category with /subs/ and /all/ 2025-11-12 16:35:38 +01:00