Commit Graph
2453 Commits
Author SHA1 Message Date
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 41f07124c6 fix(backlinks): scroll to reply and persist highlight when clicking OP backlink 2026-02-25 16:18:16 +08:00
plebeius e241125aac fix(backlinks): hide backlinks from pending replies without comment number 2026-02-25 15:57:13 +08:00
plebeius 9c0350ca24 fix(board-buttons): use postCid for page number in PostPageStats 2026-02-25 15:19:13 +08:00
plebeius 37d40626e7 refactor(account-settings): simplify UI layout, rename backup buttons, remove u/ prefix 2026-02-25 14:51:10 +08:00
Cursor Agent f123c08994 fix: resolve publication details visibility, comment re-render performance, and translation issues
- fix(challenge-modal): restore publication details for text/image challenges
- fix(comment-content): optimize Zustand selector to prevent excessive re-renders
- fix(translations): translate search_ops_placeholder key across all locales
2026-02-24 13:43:09 +00:00
plebeius 15d8103391 fix(board-pagination): hide pagelist in multiboards, right-align style selector 2026-02-24 21:18:51 +08:00
plebeius 1c55a79581 Update settings-modal.tsx 2026-02-24 20:41:47 +08:00
plebeius fb9443a0f8 feat(settings): move account json editing to dedicated full editor route 2026-02-24 20:33:07 +08:00
plebeius dc43a8438e feat(board-pagination): redirect /boardIdentifier/1 to not-found, refine [All] button, hide pagelist when infinite scroll enabled 2026-02-24 19:34:55 +08:00
plebeius 0ddb22f5fa feat(thread-stats): show board page number in post stats via cache-first lookup 2026-02-24 18:15:50 +08:00
plebeius bec6bf4d51 update pagination ui 2026-02-24 18:00:15 +08:00
plebeius e853e73beb Update site-legal-meta.tsx 2026-02-24 16:49:06 +08:00
plebeius ce8159f2ea fix(board-buttons): use useComment in PostPageStats so reply count shows on direct thread URLs 2026-02-24 16:42:39 +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 5bd1dc0e71 chore(cleanup): remove dead code and add android build to gitignore 2026-02-24 15:15:38 +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 f82ebcce82 Update app.tsx 2026-02-23 19:37:13 +08:00
plebeius bb027794ee fix(reply modal): keep textarea empty when opened from Post a Reply footer button 2026-02-23 19:33:59 +08:00
plebeius 0fbb3bef38 Update comment-media.tsx 2026-02-23 19:29:50 +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 f9325b907c fix(a11y): add translated aria-label for pagination, aria-label for close button 2026-02-23 19:00:54 +08:00
plebeius 6c1f535efe fix(components): fix colSpan, hook usage, special theme reset, unused imports, CSS color 2026-02-23 18:57:55 +08:00
plebeius 239f3be199 fix(routing): enforce numeric page param for board feed 2026-02-23 18:57:51 +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 34fdae1e97 perf(app): enable FeedCacheContainer always, lazy-load modals
FeedCacheContainer now always renders since Virtuoso is used for all feed modes (infinite scroll and pagination). Feed routes are always rendered by FeedCacheContainer; route elements are null. Outlet only renders for thread, pending, and modqueue routes. Removed clearFeeds effect. Modals lazy-loaded with Suspense fallback=null for bundle splitting.
2026-02-23 18:51:36 +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 a13c72f888 perf: defer board reply fetching and remove nested mobile backlink fetch
Split useReplies in post-desktop.tsx and post-mobile.tsx into preview/full modes so board cards avoid full REPLIES_PER_PAGE fetches by default. Added replies-preview-utils.ts and switched mobile backlinks to use precomputed directRepliesByParentCid map instead of per-reply useReplies.
2026-02-22 16:53:01 +08:00
plebeius 4647e6a090 Update board-pagination.tsx 2026-02-22 16:07:46 +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 f521bdbe33 fix(posts): Board link in multiboard views (/all/, /subs/, /mod/) 2026-02-22 15:02:31 +08:00
plebeius 71fdbef1ea fix(feeds): force infinite scroll on multiboards and canonicalize page URLs 2026-02-22 14:24:45 +08:00
plebeius 445b271982 feat(board-buttons): add Bottom button when infinite scroll is disabled 2026-02-21 20:31:17 +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 082076ba83 refactor(feed): gate feed cache to infinite scroll mode 2026-02-21 12:14:10 +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 b20aae8244 fix(upload-automation): harden android and electron failure handling
Updated Android/Electron upload paths to fail deterministically and report consistent stage details, while removing unsafe stage casting and path/package mismatches. This keeps postimages automation behavior intact and makes failures easier to diagnose.
2026-02-20 16:52:35 +08:00
plebeius 15d608764b fix: chain providers, i18n, dedup isWebRuntime, and a11y label
Conditionally build `chainProviders` so empty `urls` arrays are never passed downstream. Replace hardcoded "Chain ticker: " with `capitalize(t('chain_ticker'))` and add the translation key to all locales. Remove the duplicate `isWebRuntime` in `media-hosting-settings.tsx` in favor of the shared implementation in `show-upload-controls`. Add `aria-label` to the directory codes input in `TopbarEditModal`.
2026-02-20 16:23:09 +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