Commit Graph
100 Commits
Author SHA1 Message Date
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
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
plebeius 9dd28d8726 Update README.md 2026-03-11 14:37:28 +08:00
plebeius 3401ec147f fix(ci): URL-encode asset filenames and allow release updates
Spaces in Electron Forge filenames (e.g. "5chan Setup.exe") broke
markdown download links in the release body. Also add allowUpdates
to finalize-release so it succeeds when a release already exists.
2026-03-10 18:55:28 +08:00
plebeius ec2c2d5d70 chore(release): v0.6.10 2026-03-10 18:26:11 +08:00
plebeius 773debece3 fix(post): avoid duplicate history entries on OP permalinks 2026-03-10 18:25:07 +08:00
plebeius cd11f1d4df chore(release): v0.6.10 2026-03-10 18:12:13 +08:00
plebeius 35d652b8b5 chore(deps): upgrade bitsocial-react-hooks 2026-03-10 18:09:43 +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 4cb5c4a833 fix(ai-workflow): scan full project item list before add 2026-03-10 16:24:56 +08:00
plebeius f27a8233bc fix(ai-workflow): delete merged local task branches 2026-03-10 16:23:09 +08:00
plebeius 7699cdbbb8 chore(ai-workflow): prune stale refs in stop hooks 2026-03-10 16:16:32 +08:00
Tommaso CasaburiandGitHub 248a38d71c fix(ai-workflow): finalize linked issue after PR merge (#1047) 2026-03-10 16:07:07 +08:00
Tommaso CasaburiandGitHub a92b185a66 chore(ai-workflow): track repo-managed review tooling (#1046)
* chore(ai-workflow): track repo-managed review tooling

* fix(ai-workflow): remove repo-specific path assumptions

Make shared workflow hooks and APK testing guidance resolve paths from the repo and contributor environment so the tooling works for all contributors, not just one machine.
2026-03-10 15:49:15 +08:00
plebeius 878d0ee70b Update AGENTS.md 2026-03-10 15:17:03 +08:00
plebeius c7565ddb17 chore: patch vulnerable transitive dependencies 2026-03-10 14:34:11 +08:00
plebeius a862852e53 fix(subplebbit): resolve aliased board metadata in subplebbit selectors 2026-03-10 12:47:38 +08:00
plebeius 2c3ef23dc7 chore(release): v0.6.9 2026-03-10 12:22:14 +08:00
plebeius 10cd99545e fix(ci): prevent partial releases when a build job fails
Restructure the release workflow so build jobs upload workflow artifacts
instead of creating GitHub releases directly. A single finalize-release
job downloads all artifacts and creates the release only when every
platform build succeeds. Also removes the unused gradle bundle step
from the Android job and adds retry logic to gradlew assembleRelease.
2026-03-10 12:21:37 +08:00
plebeius bcdc3f0df1 chore(release): v0.6.9 2026-03-09 21:31:14 +08:00
plebeius 17767e6383 chore(package.json): update author 2026-03-09 21:27:15 +08:00
plebeius 41500a6079 chore: remove unused exported catalog sort type 2026-03-09 21:25:35 +08:00