Commit Graph
100 Commits
Author SHA1 Message Date
Tommaso Casaburi 4fb7739991 fix(catalog-search): clear stale query filter 2026-04-01 19:05:58 +07:00
Tommaso Casaburi 99c0bbfac5 perf(board): reduce mobile reverse-scroll jank 2026-03-31 19:47:36 +07:00
Tommaso Casaburi eeb288e2dc fix(catalog): avoid stretching unknown-size thumbnails 2026-03-31 17:46:01 +07:00
Tommaso Casaburi 6a3040dc55 fix(portless): fall forward when branch route is occupied 2026-03-31 17:42:37 +07:00
Tommaso Casaburi 315505fb8d fix(deps): patch vulnerable transitive packages 2026-03-31 16:59:07 +07:00
Tommaso Casaburi 8078d10441 fix(portless): avoid route collisions across worktrees 2026-03-30 17:32:01 +07:00
Tommaso Casaburi 75958ac0c5 fix(dev server): fall forward from port 1355 without portless 2026-03-30 17:20:38 +07:00
Tommaso Casaburi 3cda3155a8 merge: bring reply modal recenter fix into master 2026-03-29 18:54:44 +07:00
Tommaso Casaburi ec47d37911 add CLAUDE.md pointing to AGENTS.md 2026-03-29 18:46:07 +07:00
Tommaso Casaburi 36ab2b0811 chore: update AGENTS.md to include .claude alongside .codex and .cursor 2026-03-29 18:23:40 +07:00
Tommaso Casaburi e345935aac fix(reply modal): stop recentering on input 2026-03-29 16:40:09 +07:00
Tommaso CasaburiandClaude Opus 4.6 189d1c2165 add .claude config folder with Claude-equivalent agent and hook settings
Mirrors .cursor and .codex structure with Claude model assignments:
- haiku for lighter tasks (translator, browser-check, profiler)
- sonnet for standard tasks (code-quality, plan-implementer, etc.)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 16:35:21 +07:00
Tommaso Casaburi e7d175afa1 chore(deps): upgrade knip to 6.1.0
Made-with: Cursor
2026-03-28 17:51:39 +07:00
Tommaso Casaburi 1f0b3dde4f chore(deps): reduce yarn peer install warnings 2026-03-26 19:12:41 +07:00
Tommaso Casaburi a2de57d85b chore(deps): upgrade bitsocial-react-hooks 2026-03-26 19:03:31 +07:00
Tommaso Casaburi 971bf8b85b docs(ai): clarify browser session choice for verification 2026-03-26 14:15:15 +07:00
Tommaso Casaburi 16764c7cfd chore: upgrade TypeScript to 6.0.2 and Vite to 8.0.2
Made-with: Cursor
2026-03-24 22:58:59 +07:00
Tommaso Casaburi 0b844e6060 fix(favicon): harden sfw board icon swapping 2026-03-24 16:03:31 +07:00
Tommaso Casaburi fae4bcfe7f chore: add auto-open Android USB preview and waitForPort 2026-03-24 12:50:09 +07:00
Tommaso Casaburi 98549a614e chore: add yarn start:android-usb for local USB device testing 2026-03-23 14:09:13 +08:00
Tommaso Casaburi 3b2110ebc5 docs(blotter): rewrite release messages for general users 2026-03-21 17:52:07 +08:00
Tommaso Casaburi 85e81aae2e fix(release): normalize asset names 2026-03-21 12:41:32 +08:00
Tommaso Casaburi 7af59ae556 chore(release): v0.7.3 2026-03-20 21:54:22 +08:00
Tommaso Casaburi 5ce0e797c7 fix(release): include version in DMG artifact names 2026-03-20 21:53:07 +08: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 Casaburi 4ec74bc85e fix(ci): cache yarn after corepack in windows packaging 2026-03-20 18:32:43 +08:00
Tommaso Casaburi 1bec1fd549 Update ci.yml 2026-03-20 18:08:05 +08:00
Tommaso Casaburi 4d5ee595e4 fix(ci): windows job was hanging 2026-03-20 17:32:24 +08:00
Tommaso CasaburiandGitHub 816281c607 fix(thread-page): make thread auto updates opt-in (#1115)
* fix(thread-page): make thread auto updates opt-in

Wire `Auto` and `Update` to the same manual refresh path and cover the thread flow with an e2e harness.

* fix(thread-page): address PR review findings
2026-03-20 16:48:57 +08:00
Tommaso Casaburi ce2ad82c8c fix: allow edit modal saves after delete toggles 2026-03-20 16:20:04 +08:00
Tommaso Casaburi 125ddf4672 chore: bump knip to v6
Made-with: Cursor
2026-03-20 16:08:11 +08:00
Tommaso CasaburiandGitHub 5ecf8fbea8 feat: add in-app update flow and native e2e verification (#1112)
* feat(app-update): add in-app update flow with native e2e coverage

* docs(ai-workflow): infer closed-issue labels automatically

* fix(app-update): address native updater review findings

* fix(android): validate updater redirect hosts

* fix(electron): harden updater file names
2026-03-20 13:31:52 +08:00
Tommaso Casaburi dd4451c8c5 chore(cursor): use composer-2 for subagents 2026-03-20 12:51:22 +08:00
Tommaso Casaburi a2286aa68e feat(app-update): add in-app update flow with native e2e coverage 2026-03-19 20:19:48 +08:00
Tommaso Casaburi bc870ae438 chore: bump vite to 8.0.1 2026-03-19 15:55:28 +08:00
Tommaso CasaburiandGitHub 5dbb404635 Merge pull request #1110 from bitsocialnet/fix/electron-rebuild-bin
fix(ci): declare electron rebuild binary
2026-03-19 15:23:26 +08:00
Tommaso Casaburi 34662f1989 fix(ci): declare electron rebuild binary 2026-03-19 15:19:26 +08:00
Tommaso CasaburiandGitHub 8cced0fc8b Merge pull request #1109 from bitsocialnet/codex/chore/yarn4-corepack
chore: migrate to Corepack-managed Yarn 4
2026-03-19 15:06:12 +08:00
Tommaso Casaburi 50301fb4e8 fix(ci): avoid husky during yarn install 2026-03-19 15:02:12 +08:00
Tommaso Casaburi da62c27180 fix(ci): drop legacy yarn install flags 2026-03-19 14:54:17 +08:00
Tommaso Casaburi 91e5131d29 fix(ci): remove setup-node yarn cache 2026-03-19 14:47:35 +08:00
Tommaso Casaburi 15df2e5385 fix(vercel): use Yarn 4 install command 2026-03-19 14:43:27 +08:00
Tommaso Casaburi 4e29707522 docs(setup): pin Node 22.12.0 and document Corepack workflow 2026-03-19 14:23:08 +08:00
Tommaso Casaburi f342179f1a chore(tooling): migrate 5chan to Yarn 4 2026-03-19 13:41:03 +08:00
Tommaso Casaburi e0fa1ca83f chore(footer): update telegram link 2026-03-18 16:05:41 +08:00
Tommaso Casaburi 132eaa3691 chore(release): v0.7.2 2026-03-17 20:42:04 +08:00
Tommaso CasaburiandGitHub 85ea1598c0 Merge pull request #1108 from bitsocialnet/codex/fix/coverage-badge-pages
fix(ci): publish coverage badge via GitHub Pages
2026-03-17 20:26:25 +08:00
Tommaso Casaburi 2de723a076 fix(ci): publish coverage badge via GitHub Pages 2026-03-17 20:24:12 +08:00
Tommaso CasaburiandGitHub ebf5ab64e4 chore(ai-workflow): tighten agent workflow and worktree tooling (#1107)
* chore(ai-workflow): tighten agent workflow and worktree tooling

* fix(ai-workflow): address review feedback

* fix(ai-workflow): make format hook portable
2026-03-17 19:58:30 +08:00
Tommaso Casaburi b9c7524f04 Merge branch 'master' of github.com:plebbit/plebchan 2026-03-17 19:14:22 +08:00
Tommaso CasaburiandGitHub 714c39cf47 feat(settings): add expanded video auto-unmute preference (#1104)
* feat(settings): add expanded video auto-unmute preference

* fix(translations): add missing unmute labels

* fix(translations): localize unmute label
2026-03-17 19:09:29 +08:00
Tommaso Casaburi cc5155f2f4 Revert "fix(translations): localize unmute label"
This reverts commit 33518890f1.
2026-03-17 19:08:11 +08:00
Tommaso Casaburi 33518890f1 fix(translations): localize unmute label 2026-03-17 19:07:51 +08:00
Tommaso CasaburiandGitHub 8c37258f20 perf(replies): prefer cached board preview replies (#1101)
* perf(replies): prefer cached board preview replies

* fix(replies): address review feedback
2026-03-17 19:01:56 +08:00
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 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 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