Commit Graph
2247 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 76eb4b537e test: expand honest whole-repo coverage
Adds broad coverage across stores, hooks, and runtime utilities while switching `vitest.config.ts` to an explicit whole-repo include list. This turns the coverage report into a real repo-wide baseline instead of an imported-file subset.
2026-03-08 13:59:38 +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 725da9c33e Create get-short-address.test.ts 2026-03-08 13:09:06 +08:00
plebeius eda5af7bf2 test: expand directory and electron upload coverage
Added hook coverage for cached directory hydration, alias lookup, and fallback behavior, plus broader Electron automation tests around hidden BrowserWindow upload flows and failure cases. useDirectoriesState() and related fallback paths now stay synchronized when the shared cache is already populated but the GitHub refresh fails.
2026-03-08 13:04:51 +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 a1423b8c5f fix missing button styling 2026-03-07 20:48:53 +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 95088300bd refactor(routing): namespace board mod queue under board mod routes
Updated the canonical board mod queue URL to /:boardIdentifier/mod/queue and made legacy /:boardIdentifier/modqueue paths resolve to not found. Tightened route helpers so board-scoped mod URLs no longer fall through as generic board pages.
2026-03-07 16:02:19 +08:00
plebeius 58abae7e38 fix: handle purged posts in quote availability and mobile author counts 2026-03-07 13:52:48 +08:00
plebeius 1b9f69839d fix(routing): canonicalize board aliases in thread routes 2026-03-07 13:48:18 +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 da7757075f Update 5chan-directories.json 2026-03-06 22:15:54 +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 9cc6876887 fix(challenge flow): abandon publish immediately on modal close 2026-03-05 20:47:49 +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 1f232d38ad chore(release): v0.6.8 2026-03-04 20:14:53 +08:00
plebeius d8a003ed1d Revert "chore(release): v0.6.8"
This reverts commit 8c51c56397.
2026-03-04 20:14:36 +08:00
plebeius 8c51c56397 chore(release): v0.6.8 2026-03-04 20:12:16 +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 064d3414f1 feat(release): add yarn release script and v0.6.7 blotter entry 2026-03-03 18:18:33 +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 422eacc5c1 fix(publish): use active account at publish time instead of baking stale author data at typing time 2026-03-03 15:50:32 +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 9216791505 fix(popular-posts): rank by time-decayed popularity instead of raw reply count 2026-03-03 14:51:42 +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 3bd1c0ad4f feat(favicon): swap tab favicon for SFW vs NSFW boards 2026-03-02 21:08:46 +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 c9e9506ebd fix(replies-preview): stable sort when recency yields identical Infinity values 2026-03-01 19:05:36 +08:00
plebeius 75b66516fe refactor(replies): remove pinned-thread special handling for reply preview 2026-03-01 18:36:12 +08:00