Commit Graph
129 Commits
Author SHA1 Message Date
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
plebeius e3e25995d6 feat(board): add more_threads_last_year suggestion 2025-11-08 15:56:32 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01:00
plebeius bae6faa929 feat: implement 5chan-specific default board list 2025-11-03 22:06:18 +01:00
plebeius 1360dd8348 feat: rename plebchan to 5chan 2025-10-17 23:30:35 +02:00
plebeius 760e8d900e fix: remove unused variables from catalog and post views
- catalog.tsx: Remove unused 'coloredFeed' variable assignment in useMemo
- post.tsx: Remove unused 'useState' import

The useMemo in catalog.tsx still executes its side effects (applying filter
colors to the store) without needing to assign the return value.
2025-10-16 23:16:38 +02:00