Commit Graph
3315 Commits
Author SHA1 Message Date
Tommaso Casaburi 8d3c82f93a chore(deps): upgrade bitsocial-react-hooks 2026-03-17 18:25:09 +08:00
Tommaso CasaburiandGitHub 2c276f05eb fix(ci): scope Electron native rebuilds (#1099) 2026-03-17 18:22:56 +08:00
Tommaso Casaburi 1db0c625e8 feat(home): show platform-specific info message on homepage
Web users see the existing download prompt; native app users see a P2P encouragement message instead.

Closes #1096
2026-03-17 17:54:52 +08:00
Tommaso CasaburiandGitHub c9bd6258b2 fix(electron): restore packaged desktop app loading (#1095)
* fix(electron): restore packaged desktop app loading

Rebuild and verify Electron native modules before packaging and use the Vite base URL for packaged asset preloads.

* test(preload-utils): cover non-root base urls
2026-03-17 17:04:47 +08:00
Tommaso CasaburiandGitHub f812fe1d18 fix(pwa): make web updates deterministic (#1093)
* fix(pwa): make web updates deterministic

* fix(pwa): address review feedback
2026-03-17 16:20:13 +08:00
Tommaso CasaburiandGitHub b2946e8b2e fix(ci): publish coverage badge from badges branch (#1091)
* fix(ci): publish coverage badge from badges branch

* fix(ci): address badge review findings
2026-03-17 16:10:55 +08:00
Tommaso Casaburi 83aa221ec0 chore(agents): update codex/cursor workflows 2026-03-17 15:54:46 +08:00
Tommaso Casaburi dfd96db7fa chore(release): v0.7.1 v0.7.1 2026-03-16 20:56:31 +08:00
Tommaso Casaburi d08becf4b2 chore(readme): add dynamic coverage badge 2026-03-16 20:55:01 +08:00
Tommaso Casaburi 81f67ee287 chore(deps): upgrade bitsocial-react-hooks 2026-03-16 20:31:56 +08:00
Tommaso Casaburi a37fbcb9bc fix(electron): lazy-load before-pack ipfs downloader 2026-03-16 20:09:57 +08:00
Tommaso CasaburiandGitHub 7bd51f00e1 chore(package.json): upgrade bitsocial-react-hooks, stop yarn install from depending on kubo postinstall (#1090)
Removes the direct `kubo` install-time dependency and switches Electron dev to the repo-managed Kubo downloader in `electron/start-ipfs.js`. This keeps the hooks upgrade in place while avoiding the `dist.ipfs.tech` timeout during `yarn install`.
2026-03-16 19:20:59 +08:00
Tommaso Casaburi cdd87de446 chore: update translations 2026-03-16 17:56:59 +08:00
Tommaso CasaburiandGitHub f4ff7a23f7 feat(post-menu): add Report/Delete, reorder buttons, edit-only-for-mods, copy link 5chan.app (#1089)
* Update crypto address UI for .bso accounts

* feat(post-menu): add Report/Delete, reorder buttons, edit-only-for-mods, copy link 5chan.app

- Remove redundant reason field from edit menu (purged posts unreachable)
- Add Report post (placeholder alert) and Delete post (mobile) to post menus
- Reorder: Report, Hide, Delete, Copy x3, Image search
- Mobile edit checkbox only for mods; authors use Delete in post menu
- Copy direct link always uses 5chan.app domain
- 10px margin-top on mod menu save button

* fix(post-menu): add confirmation before delete post (Bugbot)
2026-03-16 17:54:17 +08:00
Tommaso Casaburi 6ecf3c40d3 fix(thread): count user id tooltips from thread data
Replace the DOM-based user ID tooltip count with a deduped per-thread author map in `getThreadPostCountsByAuthor()`. This keeps mounted preview copies from doubling ID totals on desktop and mobile thread views.
2026-03-16 15:13:04 +08:00
Tommaso Casaburi 47e8c5a37b fix(multiboards): hide archive button slot 2026-03-16 14:57:00 +08:00
Tommaso CasaburiandGitHub 37c834d975 fix(reply-modal): keep drag interactions sharp (#1086) 2026-03-16 14:42:30 +08:00
Tommaso CasaburiandGitHub 3a7400e4a8 fix(reply-quote-preview): restore (You) for pseudonymous quotes (#1084)
* fix(reply-quote-preview): restore (You) for pseudonymous quotes

* test(reply-quote-preview): mock account comments hook
2026-03-16 14:26:08 +08:00
Tommaso Casaburi 6f1305c2ad chore(deps): upgrade react-grab and react-scan
Made-with: Cursor
2026-03-16 13:34:51 +08:00
Tommaso Casaburi e93564e919 chore(deps): upgrade portless
Made-with: Cursor
2026-03-16 13:33:21 +08:00
Tommaso Casaburi 7f4e069783 feat(skills): add inspect-elements skill backed by element-source
Closes #1082
2026-03-15 19:02:19 +08:00
Tommaso Casaburi be44aefd49 fix(security): patch vulnerable transitive packages 2026-03-15 17:35:25 +08:00
Tommaso Casaburi 78556c7f66 chore: upgrade bitsocial-react-hooks 2026-03-13 19:33:26 +08:00
Tommaso CasaburiandGitHub 7ed0edd50e fix(testing): stabilize Vitest worktree runs (#1081)
* fix(testing): stabilize Vitest worktree runs

* fix(testing): pass no-webstorage through Vitest workers

* fix(testing): drop unsupported no-webstorage workaround

* fix(testing): remove invalid changed coverage flag
2026-03-13 18:55:02 +08:00
Tommaso Casaburi bf6bfa1adb chore: upgrade vitest and Vite-adjacent tooling 2026-03-13 16:58:52 +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 726522586c fix(edit-menu): allow pseudonymous reply deletion (#1076)
* fix(edit-menu): allow pseudonymous reply deletion

* fix(edit-menu): ignore non-pseudonymous mode
2026-03-13 16:37:44 +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 Casaburi 9dc4d96d27 chore(vite): replace rolldown-vite with vite 8 2026-03-13 12:45:09 +08:00
Tommaso Casaburi 2df838a14c chore(release): v0.7.0 v0.7.0 2026-03-12 18:52:12 +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 aca0eef50e fix(viewport): remove maximum-scale=1 to restore reply modal autofocus on mobile (#1069)
iOS Safari blocks programmatic focus() on inputs when viewport scaling is restricted.
2026-03-12 18:24:58 +08:00
Tommaso Casaburi 34aae6ba03 docs(review-and-merge-pr): clarify non-blocking comment triage 2026-03-12 18:22:24 +08:00
Tommaso CasaburiandGitHub 0aafb7f538 fix(post): move failed publish notice into comment body (#1066)
Align the failed notice and delete action with the existing post card and footer controls.
2026-03-12 17:56:52 +08:00
Tommaso CasaburiandGitHub 053965f124 fix(settings-modal): raise settings modal above reply and challenge modals (#1062) 2026-03-12 17:51:30 +08:00
Tommaso CasaburiandGitHub fe55e6f332 fix(quotes): resolve external quote links across boards (#1064) 2026-03-12 17:41:11 +08:00
Tommaso CasaburiandGitHub ef375e3578 fix(mobile): hide empty mobile reply backlink wrapper (#1060)
getRenderableMobileBacklinks() now filters mobile backlinks down to replies that can actually render, so ReplyBacklinks only mounts mobileReplyBacklinks when there is visible content. This adds a regression test for the gap where a newly published reply exists before it receives its post number.
2026-03-12 16:40:48 +08:00
Tommaso Casaburi 48fccede8d Update AGENTS.md 2026-03-12 15:28:15 +08:00
Tommaso CasaburiandGitHub ea792fe8a8 fix(replies): refresh thread backlinks from live account replies (#1058)
* fix(replies): refresh thread backlinks from live account replies

* refactor(replies): extract useRegisterFreshReplies hook per CodeRabbit
2026-03-12 15:08:45 +08:00
tomcasaburi b3ec6495c5 chore: update skill 2026-03-12 14:07:53 +08:00
tomcasaburi debf6cca6b Revert "Update README.md"
This reverts commit 7420ff188d.
2026-03-12 13:51:39 +08:00
Tommaso CasaburiandGitHub 2dd7c0e8d7 fix(catalog): use alias-aware media link labels (#1056)
* fix(catalog): use alias-aware media link labels

* fix(settings): align advanced settings tests with save label
2026-03-11 22:03:15 +08:00
tomcasaburi 7420ff188d Update README.md 2026-03-11 19:44:36 +08:00
Tommaso CasaburiandGitHub d56175a66e feat(ui): polish advanced settings, media hosting warning, reply modal mobile UX (#1054)
- Move Save Advanced Settings button to bottom-center of advanced settings
- Reduce spacing above/below web upload warning in media hosting
- Set 16px font for reply modal inputs on mobile (prevents iOS zoom)
- Autofocus textarea when opening reply modal on mobile
2026-03-11 19:42:34 +08:00
tomcasaburi f37ab79bb9 chore: align PR review skills with contributor gh login 2026-03-11 19:25:27 +08:00
tomcasaburi 0105dd0a0f style(rules): sort boards alphabetically 2026-03-11 19:04:22 +08:00
tomcasaburi 1960e99b82 chore: update github username 2026-03-11 19:03:51 +08:00
tomcasaburi f27e53029c Merge branch 'master' of github.com:plebbit/plebchan 2026-03-11 18:45:43 +08:00
Tommaso CasaburiandGitHub 6c03253cb4 fix(post): stop thread navigation from forcing OP alignment (#1052)
* Update README.md

* fix(post): stop thread navigation from forcing OP alignment

Route-driven thread opens now use the normal top-of-page behavior, while explicit OP permalink intents carry a scrollThreadContainerCid state and resolve against the visible thread container only. The old spacer injection path is removed.

* fix(post): address PR review follow-ups
2026-03-11 18:43:36 +08:00