Commit Graph
1747 Commits
Author SHA1 Message Date
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 7da0df9466 test: expand interface settings and account editor coverage
Added coverage for version check button states, language selector, fit-expanded-images toggle, and account editor warning gate, continue flow, save/reset, and JSON validation.
2026-03-08 13:19:06 +08:00
plebeius 0d34b477e4 test(settings): expand settings and route coverage
Added focused tests for settings flows, subscription behavior, and route helpers, and fixed the account import success path those tests exposed in account-settings.tsx.
2026-03-08 12:52:41 +08:00
plebeius 34e2c2bc4d fix: hold gif thumbnails until first frame is ready
Distinguish GIF frame loading from GIF frame failure in useFetchGifFirstFrame(), so thread and catalog thumbnails no longer render animated GIFs before the still frame arrives. Keep the existing animated fallback when the first-frame fetch actually fails.
2026-03-07 21:16:13 +08:00
plebeius 8414fac15c style(mod queue): flatten feed items, add View Thread button for replies 2026-03-07 20:33:08 +08:00
plebeius 38614e39e9 style(mod queue): add missing footer, improve mobile UI 2026-03-07 18:50:24 +08:00
plebeius e80a73663f feat(subscriptions): use useAccountSubplebbitAddresses for deduplicated addresses
Integrate bitsocial-react-hooks#16: replace raw useAccountsStore access with
useAccountSubplebbitAddresses so .eth/.bso aliases are deduplicated under .bso.
2026-03-07 16:50:24 +08:00
plebeius 58abae7e38 fix: handle purged posts in quote availability and mobile author counts 2026-03-07 13:52:48 +08:00
plebeius 27a294f949 fix(replies): render CommentContent for purged replies so purge message displays 2026-03-07 13:30:32 +08:00
plebeius 08d929bb97 fix(posts): render per-post IDs on initial board load 2026-03-07 12:46:37 +08:00
plebeius affea1b3ed fix(comment-content): use info text style for purge message instead of red caps 2026-03-06 21:46:14 +08:00
plebeius ae744d0f78 feat(posts): add purge UI feedback for mods
Show Purged author/ID, red content message, and file-deleted media when
post.commentModeration.purged is true. Mirrors removal UI pattern.
2026-03-06 21:44:33 +08:00
plebeius 91615dbf47 feat(markdown): use BBCode-style [spoiler][/spoiler] tags 2026-03-06 20:54:11 +08:00
plebeius ec404569e7 fix(quotes): avoid striking unresolved quote links 2026-03-06 19:24:49 +08:00
plebeius 14262fe887 chore: improve wording, translations 2026-03-06 19:19:05 +08:00
plebeius 65731ceb3a fix(markdown): handle unavailable reply quote links 2026-03-06 14:55:40 +08:00
plebeius 59851a4b01 fix(publishing): abandon challenge close and clean failed local posts 2026-03-05 19:30:50 +08:00
plebeius 980b5ca572 fix(post): hide stuck Loading and Downloading board for pending comments 2026-03-05 19:09:23 +08:00
plebeius 4508f589dd chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks 2026-03-05 17:14:23 +08:00
plebeius 5fe2024a49 feat(home): clarify 5chan is serverless app, use current hostname for share links
- Homepage infobox: merged copy into single line explaining app nature and download link
- Share links (Copy direct link): use window.location.origin instead of hardcoded 5chan.app
- Settings version link: use current origin
- FAQ: add 'Is 5chan just this website?' entry under Basics
- Remove pleb.bz from CHAN_5_HOSTNAMES
2026-03-04 18:49:06 +08:00
plebeius 7644d59599 perf(media): restrict gif frame extraction to gif media types 2026-03-04 16:04:49 +08:00
plebeius df1bc2071d perf(settings): fix navigate-in-setState, memo sections, defer crypto resolution 2026-03-04 15:41:21 +08:00
plebeius e6afb041ae refactor(markdown): replace react-markdown with custom imageboard-style text parser 2026-03-04 15:20:06 +08:00
plebeius 1aabe7a6b2 fix(comment-content): prevent doubled >>postnumber quote when cidToNumber resolves late 2026-03-04 14:37:46 +08:00
plebeius 822b6c937a fix(posts): default to hiding user IDs when pseudonymityMode is undefined 2026-03-03 18:38:00 +08:00
plebeius c3fd256255 style(boards-bar): missing padding 2026-03-03 15:56:58 +08:00
plebeius 17afdc7502 fix(edit-menu): remove redundant double confirm for purge 2026-03-03 15:51:20 +08:00
plebeius 84e6057bb8 feat(post): add mobile footer to thread view
Post a Reply, Return/Catalog/Top, Update/Auto buttons, stats row (Replies/Images/Page), and license footer links. Matches mobile board view styling.
2026-03-03 15:07:14 +08:00
plebeius 3a9b5ab75f feat(board-buttons): reorganize button layout on mobile and desktop
- Conditional PostForm placement: above MobileBoardButtons in catalog, below in board/post
- Add ArchiveButton (work-in-progress alert) to mobile catalog and desktop board/catalog
- Restructure MobileBoardButtons: board row [Bottom][Catalog][Refresh], secondRow [Vote][Subscribe][Mod Queue]; catalog row [Return][Archive][Bottom][Refresh], no Vote/Subscribe row
- Desktop board left: [Catalog][Archive][Refresh][Mod Queue], right: [Vote][Subscribe]
- Desktop catalog left: [Return][Archive][Bottom][Refresh][Mod Queue], right: (selectors)[Vote][Subscribe][Filters][Search]
- Add whitespace between Vote and Subscribe on desktop right side
- Extend showBottomButton to board paginated view
2026-03-02 21:42:58 +08:00
plebeius ea0789faa1 fix(boards-bar): cancel debounced scroll handler on cleanup 2026-03-02 19:36:56 +08:00
plebeius efd152609d feat(boards-bar): alphabetize mobile board select and show full multiboard titles 2026-03-02 19:19:29 +08:00
plebeius 41a238094c refactor(boards-bar): rename boardsbar to boards-bar 2026-03-02 19:17:59 +08:00
plebeius 1a4e8a624b feat(board): add mobile footer with Start a New Thread, Top, Refresh, pagination, Catalog, Load More 2026-03-01 20:45:26 +08:00
plebeius 75b66516fe refactor(replies): remove pinned-thread special handling for reply preview 2026-03-01 18:36:12 +08:00
plebeius 27b2d6fd8a fix(markdown): preserve full URL display text for autolinked 5chan links 2026-03-01 18:25:20 +08:00
plebeius f2264ba60c feat(post-desktop): truncate long file links with ellipsis in middle 2026-03-01 17:03:28 +08:00
plebeius 2bc2827f83 fix(post form): default link label to 'link to file' on /all/ and /subs/ 2026-03-01 15:27:27 +08:00
plebeius ec9ee6ff43 fix(reply-quote-preview): add trailing break to mobile quotelinks so each >>N appears on its own line 2026-02-28 20:05:01 +08:00
plebeius 7fd3e3fd45 chore(media-upload): remove Postimages provider
Postimages cannot support WebView automation (site blocks automated uploads).
Imgur works reliably. Keep only Catbox and Imgur as supported providers.
2026-02-28 19:13:43 +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 fd6ca36acc feat(mod-queue): redesign with multiboard summary, boardsbar-style links, and board-aware rows 2026-02-27 17:38:36 +08:00
plebeius f35bb73b55 fix(boardsbar): show mod in mobile board selector when on /mod/ 2026-02-27 17:04:34 +08:00
plebeius f19ebe5f33 fix(edit-menu): render mod edit modal in FloatingPortal to escape reply card containment 2026-02-27 15:00:39 +08:00
plebeius 326b40300f fix(reply-quote-preview): only scroll to reply when on thread page 2026-02-27 14:54:11 +08:00
plebeius 2debf964cc feat(post-desktop): show filename instead of full URL when requirePostLinkIsMedia 2026-02-27 14:54:08 +08:00
plebeius 549300f20d feat: show file/image labels instead of link when requirePostLinkIsMedia is truthy 2026-02-27 14:42:46 +08:00
plebeius 4f342fed3f refactor(post-form): remove obsolete missing-link filter confirmation 2026-02-26 18:26:10 +08:00
plebeius 9793f0ed60 feat(post-form): show 'Link To File' when requirePostLinkIsMedia is true 2026-02-26 18:17:54 +08:00
plebeius 6ac9ac0ee7 fix(media): reserve stable post media space before thumbnails resolve 2026-02-26 17:27:54 +08:00
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