plebeius
3b341922c4
fix(tests): mock board-buttons and style-selector to avoid Solana import crash
2026-03-09 16:31:06 +08:00
plebeius
892e6e824a
fix(settings): restore style selector to interface settings
2026-03-09 15:53:53 +08:00
plebeius
9f2fd12200
chore: update footer links
2026-03-09 15:46:13 +08:00
plebeius
dd7dc7dcf8
chore: update translations
2026-03-09 15:33:21 +08:00
plebeius
cf55eaa781
feat(markdown): make spoiler tags case-insensitive like BBCode
2026-03-09 15:31:53 +08:00
plebeius
c3cfc7d63a
feat(catalog): add mobile footer with Return, Archive, Top, Refresh buttons
2026-03-09 15:17:39 +08:00
plebeius
9c79bf2198
fix(i18n): default interface language to english
2026-03-08 21:09:22 +08:00
plebeius
fabdd0efe5
fix: stabilize catalog filter coverage imports
2026-03-08 19:40:19 +08:00
plebeius
5d77a33c38
fix: patch bitsocial-react-hooks esm imports on install
...
Add a `postinstall` repair step for the git-based `@bitsocialhq/bitsocial-react-hooks` package so test and build environments stop tripping over extensionless relative imports in dist. This keeps GitHub Actions aligned with local installs without changing app logic.
2026-03-08 19:28:03 +08:00
plebeius
723a2dee52
fix: share board offline state between post form and reply modal
2026-03-08 19:02:49 +08:00
plebeius
71b0b0fa42
perf(popular-threads): show board-count loading state for popular threads
2026-03-08 17:36:55 +08:00
plebeius
08ec9f31ff
fix(reply-modal): align offline warning with post form
2026-03-08 17:10:48 +08:00
plebeius
c27590372c
fix(popular-posts): randomize popular thread board selection on mount
2026-03-08 16:58:55 +08:00
plebeius
04b98b84a4
feat(popular-threads): show actual feed state string instead of generic loading
2026-03-08 16:50:27 +08:00
plebeius
824c14f538
fix(home): stabilize initial popular threads box
...
Keep usePopularPosts() keyed to the requested board list, wait to reveal the box until the first result set is stable, and limit the grid to one thread per board. Freeze the first revealed threads until refresh or filter changes so later board loads cannot displace visible cards.
2026-03-08 16:48:38 +08:00
plebeius
2b32866b6b
test: cover edit, challenge, advanced settings, and gif preview flows
2026-03-08 16:48:01 +08:00
plebeius
90a01057f2
chore(knip): trim dead exports and tool noise
2026-03-08 16:37:34 +08:00
plebeius
b2137c7f91
test: expand markdown and post menu coverage
...
Adds focused regression coverage for quote previews, markdown link rendering, embed toggles, and desktop/mobile post-menu actions. It also fixes the undefined feed-state crash in use-state-string.ts and removes unnecessary runtime imports with import type.
2026-03-08 16:30:02 +08:00
plebeius
9444d3e01a
test: cover comment rendering and edge-route states
2026-03-08 16:00:54 +08:00
plebeius
a8ef232b1d
fix: erase runtime Comment import in catalog filters store
2026-03-08 16:00:42 +08:00
plebeius
0a392a3f02
fix: stabilize special theme coverage test
2026-03-08 15:50:23 +08:00
plebeius
dc5d23d8d9
test: expand hook and utility runtime coverage
2026-03-08 15:46:05 +08:00
plebeius
36616990d4
Update README.md
2026-03-08 15:29:25 +08:00
plebeius
5aec67714a
test: cover reply modal and board header flows
2026-03-08 15:19:24 +08:00
plebeius
29b6c85541
test: cover board actions, pagination, and thread routes
...
Core browsing flows around board controls, pagination, and thread pages were still largely unmeasured in the honest whole-repo report. That left route mismatches, cached-thread hydration, board action wiring, and mod-queue control regressions underprotected in CI.
2026-03-08 14:37:35 +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
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
e3907e7420
docs(agents): preserve measured coverage
2026-03-08 13:10:25 +08:00
plebeius
045bea7ff9
fix(android tests): align runner stage assertions
2026-03-08 13:10:17 +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
e46c7dd169
ci: add smoke-gated quality checks to the main pipeline
...
Replaced test.yml with ci.yml, added a built-app smoke runner in scripts/smoke-web-app.js, and inserted a release preflight so tags run the same core checks before packaging.
2026-03-08 12:41:52 +08:00
plebeius
4e3cc06a81
Update vercel.json
2026-03-08 12:02:53 +08:00
plebeius
337603af39
chore(deps): upgrade bitsocial-react-hooks
2026-03-08 11:34:56 +08:00
plebeius
52414853fb
chore(tooling): add knip, test:coverage, and agent guidance
2026-03-07 21:31:20 +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
b064cf0511
chore(deps): upgrade bitsocial-react-hooks
2026-03-07 21:15:47 +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
76b3e97a31
chore(deps): upgrade bitsocial-react-hooks
2026-03-07 17:10:57 +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
4eed34e4a7
docs(llms): add AI-facing project guide
2026-03-07 14:07:32 +08:00
plebeius
92eed04eb1
fix(seo): serve sitemap and preserve static metadata files
2026-03-07 14:03:07 +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
2d8d280365
chore: add missing translations
2026-03-07 13:46:44 +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
109811d144
chore(deps): upgrade bitsocial-react-hooks
2026-03-07 12:41: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
c69c46442b
chore(deps): upgrade bitsocial-react-hooks
2026-03-06 21:42:03 +08:00
plebeius
cac3d09698
Update default.json
2026-03-06 21:11:33 +08:00
plebeius
ca9f743cef
fix(vite.config.js): remove deprecated rolldown dep optimizer config
2026-03-06 21:09:04 +08:00
plebeius
91615dbf47
feat(markdown): use BBCode-style [spoiler][/spoiler] tags
2026-03-06 20:54:11 +08:00
plebeius
0247a392c2
Update yarn.lock
2026-03-06 19:36:19 +08:00
plebeius
ec404569e7
fix(quotes): avoid striking unresolved quote links
2026-03-06 19:24:49 +08:00
plebeius
b243ec55b8
chore(deps): upgrade bitsocial-react-hooks
2026-03-06 19:24:43 +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
3fa758ef8c
chore(deps): upgrade bitsocial-react-hooks
2026-03-05 19:07:42 +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
c6620dc5a5
chore(deps): upgrade pkc-react-hooks
2026-03-04 20:12:16 +08:00
plebeius
7b15bddbb5
chore(release): replace yarn release script with release agent skill
2026-03-04 20:12:15 +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
e484f96e3a
fix(ci): make portless optional for windows installs
2026-03-04 17:48:31 +08:00
plebeius
0207fad8ad
chore(dev): bump portless to 0.5.2
2026-03-04 16:22: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
2f697c6a36
Update README.md
2026-03-04 15:20:41 +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
5e48483b21
Update index.html
2026-03-01 19:05:59 +08:00
plebeius
c9e9506ebd
fix(replies-preview): stable sort when recency yields identical Infinity values
2026-03-01 19:05:36 +08:00
plebeius
dfa203a506
fix(react-grab): disable Cmd+C shortcut to avoid copy/paste conflicts
2026-03-01 18:58:18 +08:00
plebeius
75b66516fe
refactor(replies): remove pinned-thread special handling for reply preview
2026-03-01 18:36:12 +08:00