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 Casaburi and Claude 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 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
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
37c834d975
fix(reply-modal): keep drag interactions sharp ( #1086 )
2026-03-16 14:42:30 +08:00
Tommaso Casaburi and GitHub
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 Casaburi and GitHub
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 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
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 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
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 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
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 Casaburi and GitHub
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 Casaburi and GitHub
053965f124
fix(settings-modal): raise settings modal above reply and challenge modals ( #1062 )
2026-03-12 17:51:30 +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
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 Casaburi and GitHub
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 Casaburi and GitHub
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 Casaburi and GitHub
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