Commit Graph
60 Commits
Author SHA1 Message Date
Tommaso Casaburi c046c542b6 chore(deps): use published bitsocial react hooks 2026-04-20 22:11:36 +07:00
Tommaso Casaburi 4cae9c3caa fix(board status): resolve offline indicators with strict community refs 2026-04-17 12:51:14 +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 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
plebeius 417482060d refactor: org name changed from bitsocialhq to bitsocialnet 2026-03-09 17:01:35 +08:00
plebeius 5aec67714a test: cover reply modal and board header flows 2026-03-08 15:19:24 +08:00
plebeius 4508f589dd chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks 2026-03-05 17:14:23 +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 e51f5b968c refactor(react-doctor): raise score from 79 to 90 2026-02-24 15:15:44 +08:00
plebeius e0ed510fc6 perf(react-doctor): fix compiler-blocking patterns, raise score 72→81
Replace sync setState-in-effect with keyed remount and render-derived patterns in app, error-display, topbar-edit-modal, catalog-filters; use useCurrentTime() instead of Date.now() in hot paths; fix conditional hooks, passive scroll listeners, lodash path imports.
2026-02-18 15:31:01 +08:00
plebeius 901f40f6b8 feat(board-header): add hover tooltip for address subtitle 2026-02-12 18:15:11 +08:00
plebeius 18cea185e7 refactor: replace default lodash imports with named imports
Replaced `import _ from 'lodash'` with specific named imports (`capitalize`, `lowerCase`, `debounce`, `startCase`) across 18 files. This reduces bundle size and improves tree-shaking efficiency.
2026-02-11 19:01:09 +08:00
plebeius 63ee8aa168 refactor: rebrand default subplebbits to 5chan directories 2026-01-28 16:51:27 +08:00
plebeius fa32833b2a perf(components): prevent rerenders from updatingState
Use Zustand selectors with custom equality functions to only subscribe to specific fields needed by components, avoiding unnecessary rerenders when transient state like updatingState changes. Extract offline indicators into separate components to isolate rerenders. Memoize card components in catalog and popular threads views.
2026-01-02 16:42:16 +01:00
plebeius 4cb3bda38c fix: update Plebbit.getShortAddress calls to use object parameter 2025-12-24 13:29:09 +01:00
plebeius bb596bff0d feat(i18n): add translations for subscriptions subtitle
Replace hardcoded subscriptions subtitle string with i18next translation supporting pluralization across all 35 languages
2025-12-15 16:53:36 +01:00
plebeius 4f49ec6666 fix(board header): limit clickable area of subscriptions counter to text only 2025-11-14 13:14:34 +01:00
plebeius cc28224c91 feat(board header): make subscriptions subtitle clickable to go to subs settings 2025-11-14 13:05:52 +01:00
plebeius 1675ab7d40 feat(board-header): show subscription count in subscriptions view 2025-11-14 12:59:26 +01:00
plebeius e91a0494ae remove useless subtitle for multiboards 2025-11-13 12:21:10 +01:00
plebeius 12101fe75e feat: add Multiboards category with /subs/ and /all/ 2025-11-12 16:35:38 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01:00
plebeius f44b9aefbb feat(board-header): prioritize default subplebbit title over store title 2025-11-06 17:24:09 +01:00
plebeius f26da13c77 refactor: implement scalable asset manifest system for dynamic images
Created build-time script to generate TypeScript manifest from public/assets, avoiding import.meta.glob limitations. Images stay in public/ for scalability (supports hundreds), while components get type-safe auto-discovery. Manifest auto-regenerates before builds.
2025-11-01 19:39:22 +01:00
plebeius a92892a604 update vite glob syntax, simplify path handling 2025-11-01 17:25:38 +01:00
plebeius e350311308 refactor(board header): use dynamic banner discovery with Vite glob imports
Replaced hardcoded banner array with Vite's import.meta.glob to automatically discover all banner files at build time. Now supports unlimited banners without code changes. Works across all platforms (web, Electron, Android).
2025-11-01 16:46:51 +01:00
plebeius 07831cb8b0 feat(board header): add banners, add support to gif banners 2025-10-30 22:21:17 +01:00
plebeius 70eaaaf7e9 remove old banners 2025-10-27 15:01:36 +01:00
plebeius 7374465c4f fix(pending post page): prevent crash and ensure redirect to "not found" on invalid URL 2025-06-12 17:51:08 +02:00
Tom (plebeius.eth) 339a9bc18a fix(mod multisub): mod page was missing post form 2025-06-04 16:37:17 +02:00
Tom (plebeius.eth) bc80533740 fix(board header): subplebbit address could be too long 2025-06-04 14:54:11 +02:00
Tom (plebeius.eth) 6edbed8d16 add banner 2025-03-07 16:53:19 +01:00
Tom (plebeius.eth) dcb05ed3a0 perf: prioritize cached data from API, improving navigation speed and memory consumption 2025-03-06 13:15:33 +01:00
Tom (plebeius.eth) ba5753d85e feat: add p/mod feed for all subs the user moderates 2025-03-05 17:38:34 +01:00
Tom (plebeius.eth) ffe42c35ea upgrade react to v19, migrate from CRA to Vite, add react compiler 2025-03-04 17:53:05 +01:00
Tom (plebeius.eth) 2df9a964e6 fix(board header): banner could change while subplebbit is loading 2025-02-24 12:21:59 +01:00
Tom (plebeius.eth) 1639600d7c add banner 2025-02-24 12:18:02 +01:00
Tom (plebeius.eth) 5e5cfd60c7 fix tooltips 2025-02-21 17:31:16 +01:00
Tom (plebeius.eth) eb3a630cc3 feat: add christmas theme 2024-12-24 17:13:12 +01:00
Tom (plebeius.eth) 0717850c53 add new banner 2024-12-15 15:07:31 +01:00
Tom (plebeius.eth) f40c2c2f88 feat(android app): add 'choose file' button to auto upload media to catbox in the background
more free and open web hosting services can be added later
2024-11-02 18:42:52 +01:00
Tom (plebeius.eth) 3f4f0229ba style(board header): don't show 'p/' or '.eth/.sol' in title 2024-11-02 17:37:58 +01:00
Tom (plebeius.eth) 6692c65c4b add route validation checks 2024-10-29 17:40:09 +01:00
Tom (plebeius.eth) 38e60fd797 fix(board title): offline icon would appear in p/all and p/subscriptions 2024-07-23 09:01:03 +02:00
Tom (plebeius.eth) fe434cb634 feat(board header): add yellow offline icon for loading online status, red icon for offline status 2024-07-09 14:59:18 +02:00
Tom (plebeius.eth) 9f7544936e feat: use red offline icon for subplebbits that are most likely offline (ipns record fails to update) 2024-07-07 20:02:58 +02:00
Tom (plebeius.eth) 80836302f6 add banner 2024-07-04 12:13:57 +02:00
Tom (plebeius.eth) 6eb521f501 style: update mobile UI spacing, colors 2024-06-30 11:47:09 +02:00