Commit Graph
462 Commits
Author SHA1 Message Date
plebeius 4bdee0362d perf(bundle): replace plebbit-js imports with local utility, split chunks, fix CLS and rerenders
Eliminate direct @plebbit/plebbit-js (8.7MB) imports from all UI components by replacing
Plebbit.getShortAddress() with a local get-short-address utility. Add Vite manual chunks for
plebbit-js, plebbit-react-hooks, and react-spring/use-gesture. Fix catalog CLS by matching
skeleton to wrapper dimensions. Lazy-load ChallengeModal and ReplyModal. Add failed-URL cache
to useFetchGifFirstFrame, optimize useHide selector, and memoize useFeed options in mod-queue.
2026-02-26 16:42:36 +08:00
plebeius 9b538f324d perf(board): disable Virtuoso when single-board pagination is on 2026-02-25 19:16:00 +08:00
plebeius e12743f783 fix(account-data-editor): resolve Ace editor loading failure
Load react-ace before mode/theme to avoid 'ace is not defined' race.
Unwrap Vite CJS double-default export for correct component reference.
Use save_changes translation key for Save button.
2026-02-25 19:10:47 +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 7a516cfbf9 fix(popular-threads): pass linkWidth/linkHeight to CatalogPostMedia for correct aspect ratio 2026-02-25 17:11:50 +08:00
plebeius 8cef8ce2a0 fix(popular-threads): adaptive ranking with grow-only stability 2026-02-25 16:49:43 +08:00
plebeius f6906e1ff8 feat(home): add Boards You Moderate link to Multiboards in boards box 2026-02-25 16:43:51 +08:00
plebeius 15d8103391 fix(board-pagination): hide pagelist in multiboards, right-align style selector 2026-02-24 21:18:51 +08:00
plebeius fb9443a0f8 feat(settings): move account json editing to dedicated full editor route 2026-02-24 20:33:07 +08:00
plebeius 0e1421fff7 fix styling 2026-02-24 16:36:13 +08:00
plebeius e51f5b968c refactor(react-doctor): raise score from 79 to 90 2026-02-24 15:15:44 +08:00
plebeius 925297bc3a refactor footer 2026-02-23 20:50:30 +08:00
plebeius 849ff18a8b fix(board): add computeItemKey to Virtuoso to prevent media flash on page change
Without `computeItemKey`, Virtuoso uses index-based keys so React reuses DOM nodes across pages, causing `<img>` elements to briefly flash old media before loading new sources.
2026-02-23 20:24:37 +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 609436a0fb fix(post): use feed cache fallback for instant post content on catalog navigation 2026-02-23 19:43:49 +08:00
plebeius f86906ae15 fix(post): add modQueueError, isPublishing, onApprove, onReject to memo comparator 2026-02-23 19:01:19 +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 6ed7d74928 fix link 2026-02-23 14:16:36 +08:00
plebeius 0cb7b1a970 feat(blotter): replace board stats with changelog-backed blotter
Add static blotter snapshot, route /blotter, compact board blotter (Hide/Show All).
Include yarn blotter tooling and AGENTS rules so every changelog version has a
release line. 4chan-style table UI, subplebbit→board and plebchan→5chan in messages.
2026-02-22 19:37:49 +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 035ffd6414 Update board.tsx 2026-02-21 19:47:58 +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 60d2f6804d feat(board): default pagination with optional infinite scroll and URL-based page routing 2026-02-20 20:16:11 +08:00
plebeius 64c89533f0 feat(rules): add URL params for direct links to board rules
Support /rules/:boardIdentifier (e.g. /rules/pol, /rules/somedomain.eth).
Selection updates URL; rules page always uses yotsuba theme.
2026-02-20 16:12:52 +08:00
plebeius cb0ab3a698 feat(rules): render markdown in board rules display 2026-02-20 16:07:00 +08:00
plebeius 981940731b refactor: remove NFT avatar functionality
Removes avatar-settings component, avatar-visibility store, and all
avatar rendering from posts. Strips avatar from account JSON, renames
NFT gateway label to media IPFS gateway, removes Polygon RPC and
hide-avatars toggle. Deletes 6 avatar-related translation keys.
2026-02-19 17:40:10 +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 e0ed510fc6 perf(react-doctor): fix compiler-blocking patterns, raise score 72→81
Replace sync setState-in-effect with keyed remount and render-derived patterns in app, error-display, topbar-edit-modal, catalog-filters; use useCurrentTime() instead of Date.now() in hot paths; fix conditional hooks, passive scroll listeners, lodash path imports.
2026-02-18 15:31:01 +08:00
plebeius 9c558d21c1 fix(modqueue): enforce role-gated access with not-allowed view 2026-02-16 19:17:38 +08:00
plebeius 64a5a6a526 chore: add missing key, fix translation 2026-02-15 20:40:06 +08:00
plebeius dedf18e199 perf(replies): progressive render, 500 replies/page, content-visibility
Set repliesPerPage to 500 to avoid Virtuoso pagination sort drift. Add useProgressiveRender with startTransition batching and CSS content-visibility for long reply lists.
2026-02-15 18:46:49 +08:00
plebeius c667657e96 Update boards-list.tsx 2026-02-15 14:50:17 +08:00
plebeius e47727c074 fix(home): derive board link state from directory availability
Replaced one-off /biz/ and /pol/ checks with a single board-name-to-address resolver built from useDirectories() data. The homepage boards list now consistently colors and links any available directory board without manual hardcoding.
2026-02-15 14:32:14 +08:00
plebeius 9c1879045d update links 2026-02-11 21:27:18 +08:00
plebeius 25375612a9 fix(post): show OP backlinks in board feed cards 2026-02-11 19:06:29 +08:00
plebeius 18cea185e7 refactor: replace default lodash imports with named imports
Replaced `import _ from 'lodash'` with specific named imports (`capitalize`, `lowerCase`, `debounce`, `startCase`) across 18 files. This reduces bundle size and improves tree-shaking efficiency.
2026-02-11 19:01:09 +08:00
plebeius d862550132 fix(post): render OP backlinks from replies quoting OP 2026-02-11 18:52:10 +08:00
plebeius 716c782d1a fix: scroll OP quote to thread card on same-route click 2026-02-11 18:43:39 +08:00
plebeius c7c8c46557 feat(post): add backlinks for quotedCids 2026-02-09 19:56:07 +08:00
plebeius 41b7fee439 refactor(mod queue): rename routes from /queue to /modqueue 2026-02-09 17:42:23 +08:00
plebeius 1704686a6f Update mod-queue.tsx 2026-02-09 17:17:14 +08:00
plebeius 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius fa4ec6da40 feat(mod-queue): improve compact view and add pending approval features
- Update excerpt format to show both title and content (title: content)
- Add Type and Image columns to compact view (desktop and mobile)
- Show parent post above replies in feed view
- Add approve/reject buttons to post page for pending posts when user is mod
- Translate pending approval string across all languages
- Reorder columns: No., Excerpt, Submitted, Type, Image, Actions
- Right-align Type and Image columns in desktop view
2026-01-26 16:31:15 +08:00
plebeius 14e8c92fa0 feat(mod-queue): add view mode selection and integrate with post components 2026-01-25 16:29:15 +08:00
plebeius b8e3a0202a fix(replies): reply permalink didn't auto-scroll to deep replies 2026-01-19 16:02:45 +01:00