Commit Graph
143 Commits
Author SHA1 Message Date
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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub 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 CasaburiandGitHub fe55e6f332 fix(quotes): resolve external quote links across boards (#1064) 2026-03-12 17:41:11 +08:00
Tommaso CasaburiandGitHub 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