Tommaso Casaburi
eacb422f40
fix(routing): canonicalize board page 1 routes instead of not-found
...
Board URLs ending in /1 now redirect to the canonical page-1 path while
preserving search, hash, and settings suffixes.
2026-06-27 17:02:51 +07:00
Tommaso Casaburi and GitHub
c6d048ecd7
Review settings upgrades before applying defaults
...
Adds a review modal for settings upgrades, keeps the settings banner reviewable, and preserves explicit router settings during account import.
2026-06-26 17:14:31 +07:00
Tommaso Casaburi and GitHub
f1022fc2d9
fix: consume enriched account comments directly ( #1178 )
...
* fix: consume enriched account comments directly
* fix(account comments): use empty lookup patch
2026-06-24 16:23:42 +07:00
Tommaso Casaburi
8cf03a7bb4
fix(pubsub): repair browser pure p2p publishing
2026-06-18 14:18:14 +07:00
Tommaso Casaburi
e9c729a9e3
fix(rules): use hash links for directory deep links
...
Switch rules navigation from /rules/:code paths to /rules#code hashes,
reject legacy subpaths, and ignore address hashes in markdown links.
2026-06-10 16:38:31 +07:00
Tommaso Casaburi
4308d26cf0
fix(mod-queue): show empty state instead of not-allowed redirect
...
When the account moderates no boards, render ModEmptyState on the global
/mod/queue route instead of sending users to /not-allowed.
2026-06-09 13:01:31 +07:00
Tommaso Casaburi and GitHub
245d3164c3
fix(media playback): stop hidden and offscreen media ( #1164 )
...
* fix(media playback): stop hidden and offscreen media
* fix(media playback): keep offscreen embeds suspended
2026-06-08 22:55:30 +07:00
Tommaso Casaburi
b686def1a1
fix(board-buttons): hide catalog controls on flash upload boards
...
Flash boards do not use catalog view, so hide catalog links and OP search
without leaving empty bracket placeholders in desktop board controls.
2026-06-01 12:42:21 +07:00
Tommaso Casaburi
0469f61a45
feat(theme): add halloween special theme
2026-05-29 17:45:18 +07:00
Tommaso Casaburi and GitHub
e082c7b428
fix(react): address Doctor findings ( #1143 )
...
Accessibility/semantics pass aligned with React Doctor: role-based spans/divs become real buttons, role=status becomes <output>, modals use native <dialog>, author/peer flags render as <img>, and embed/challenge iframes are sandboxed. Includes review follow-ups: correct button chrome/centering/themed dialog colors and focus rings, the missing aria-label i18n keys (all languages), the Yandex image-search URL, clearer .bso setup steps, a keyboard-accessible image-search dropdown, and removal of the post-edit ('comment edited') display (mod edits unchanged).
2026-05-29 17:09:07 +07:00
Tommaso Casaburi
616fea39fb
fix(directory): use resolved board for directory feeds
2026-05-21 00:05:29 +07:00
Tommaso Casaburi and GitHub
cda1f7519f
Add board directory view ( #1132 )
...
* feat(directory): add board directory view
* fix(directory): populate board status
* style(directory): tighten board table
* docs(board manager): point board owners to manager
* fix(directory): show loading status
* style(directory): center board column in directory table
* perf(directory): cap board status checks
* style(directory): simplify board row links
* test(ci): stabilize coverage run
* test(ci): stabilize coverage harness
* test(ci): avoid async app flush act
* test(app): narrow layout harness coverage
* test(ci): stabilize app update distribution mock
* test(ci): preload app harness before route tests
* fix(directory): address final review findings
2026-05-19 23:34:33 +07:00
Tommaso Casaburi
f39ad096b7
fix(app): preserve post form drafts in settings
2026-05-18 16:07:40 +07:00
Tommaso Casaburi
918ed5b11b
fix(blotter): render on multiboard feeds
2026-05-14 17:12:07 +07:00
Tommaso Casaburi and GitHub
556973a445
Improve React Doctor score and badge ( #1127 )
...
* fix(react doctor): improve quality score and badge
* fix(react doctor): address review feedback
* fix(review): address final bot feedback
2026-05-10 18:25:13 +07:00
Tommaso Casaburi
abaa0d4e16
perf(mod queue): reduce loading rerenders
2026-04-27 14:59:24 +07:00
Tommaso Casaburi and GitHub
5dc5408a15
fix(codebase audit): preserve cleanup without regressions
...
Fix codebase audit regressions while preserving UI/UX behavior and adding review-driven hardening.
2026-04-24 15:48:07 +07:00
Tommaso Casaburi
c046c542b6
chore(deps): use published bitsocial react hooks
2026-04-20 22:11:36 +07:00
Tommaso Casaburi
49422591b8
fix(multiboards): restore stable time-filter suggestions
2026-04-18 15:58:27 +07:00
Tommaso Casaburi
1c6cf3fc0f
feat(pass): add pass page and update voting copy
2026-04-17 14:21:10 +07:00
Tommaso Casaburi
ee7a5b5778
refactor(core): remove legacy plebbit terminology
2026-04-17 10:48:27 +07:00
Tommaso Casaburi
621235379c
fix(feed): support strict community refs and safer domain publishing
2026-04-15 12:51:21 +07:00
Tommaso Casaburi and GitHub
c2e8e169c2
fix(accounts): adapt 5chan to compact account history hooks ( #1118 )
...
* chore(cursor): use composer-2 for subagents
* fix(accounts): adapt 5chan to compact account history hooks
* fix(accounts): address 5chan account-history review findings
2026-03-20 21:25:57 +08:00
Tommaso Casaburi and GitHub
fd9ab19de3
fix(mod-queue): show board button from live roles ( #1079 )
...
* fix(mod-queue): show board button from live roles
* fix(mod-queue): require live role for board access
2026-03-13 16:37:57 +08:00
Tommaso Casaburi and GitHub
aedee9fb83
feat(archive): implement comment.archived and add archive page ( #1074 )
...
* feat(archive): implement comment.archived and add archive page
Add isCommentArchived() utility, /board/:boardIdentifier/archive route,
archive view with filtered feed, and UI integration (board buttons, edit
menu, catalog row, post). Archived indicator on catalog and posts.
* fix(archive): address review feedback from Bugbot and CodeRabbit
Add missing i18n keys (archived, thread_archived, view, loading_archive),
add /archive/settings route, replace hardcoded English in archive.tsx, and
fix mobile test state.
2026-03-13 16:06:36 +08:00
Tommaso Casaburi and GitHub
d7703953fb
refactor: migrate 5chan to the community hooks API ( #1073 )
...
* refactor(community-api): migrate 5chan to community hooks
* fix(review): address PR feedback
* fix(review): preserve legacy board context fallbacks
* fix(review): address latest bot feedback
* fix(review): use communityAddress in edit menu privileges
2026-03-13 13:25:10 +08:00
Tommaso Casaburi and GitHub
abf6727212
Add NSFW/SFW board filter to /all/ board page on mobile ( #1071 )
...
* feat(board-buttons): add NSFW/SFW filter to /all/ board page on mobile
* refactor(board-buttons): extract MobileAllFeedFilter padding to CSS class
2026-03-12 18:33:04 +08:00
Tommaso Casaburi and GitHub
fe55e6f332
fix(quotes): resolve external quote links across boards ( #1064 )
2026-03-12 17:41:11 +08:00
Tommaso Casaburi and GitHub
6ed3708322
fix(post): align op permalinks to the outer thread container ( #1050 )
...
* fix(post): align op permalinks to the outer thread container
* perf(scroll-to-reply): stop interval when max attempts/duration reached
2026-03-10 18:08:20 +08:00
plebeius
417482060d
refactor: org name changed from bitsocialhq to bitsocialnet
2026-03-09 17:01:35 +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
1b9f69839d
fix(routing): canonicalize board aliases in thread routes
2026-03-07 13:48:18 +08:00
plebeius
4508f589dd
chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks
2026-03-05 17:14:23 +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
41a238094c
refactor(boards-bar): rename boardsbar to boards-bar
2026-03-02 19:17:59 +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
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
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
e51f5b968c
refactor(react-doctor): raise score from 79 to 90
2026-02-24 15:15:44 +08:00
plebeius
f82ebcce82
Update app.tsx
2026-02-23 19:37:13 +08:00
plebeius
239f3be199
fix(routing): enforce numeric page param for board feed
2026-02-23 18:57:51 +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
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
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
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
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