Commit Graph
100 Commits
Author SHA1 Message Date
Tommaso Casaburi 27cc4767c6 fix(transfer): link trash transfer success to new post 2026-07-28 15:01:25 +07:00
Tommaso Casaburi 56b22e7ea9 fix(transfer): hide transferred label on trash board posts
Posts moved to /trash/ should not show the transferred tag since the move is the intended outcome.
2026-07-28 14:28:37 +07:00
Tommaso Casaburi de47749c52 chore(deps): upgrade react-router-dom to 7.18.1 for Dependabot alerts
Clears GHSA-wrjc-x8rr-h8h6 (open redirect via backslash in <Link>/useNavigate)
and GHSA-337j-9hxr-rhxg (arbitrary constructor injection in deserializeErrors),
neither of which has a 6.x backport. Drops the now-unused @remix-run/router
resolution, since v7 no longer depends on it.
2026-07-26 16:06:48 +07:00
Tommaso Casaburi c48ea43ee3 fix(directory): center loading ellipsis in status column
Add a centered loading ellipsis variant and use it for directory row loading states.
2026-07-25 15:57:34 +07:00
Tommaso Casaburi bc819336c4 chore(agents): inherit session model for judgment-tier subagents
Drop the pinned `model: sonnet` from the reasoning-heavy subagents so they
follow the session model instead of being forced down to Sonnet. Running an
Opus session now gets Opus subagents; deliberately dropping to a cheaper
session model is respected too.

Mechanical agents (browser-check, profiler, translator) keep their haiku pin
— that pin is a capability statement, not a stale default, and should hold
regardless of session model.
2026-07-25 15:07:01 +07:00
Tommaso Casaburi 8ac0d68bfd chore(deps): bump transitive deps to clear dependabot alerts
Raise resolution pins to the patched versions for 14 open Dependabot
alerts (1 critical, 8 high, 5 medium):

- brace-expansion 1.1.14 -> 1.1.16, 2.1.0 -> 2.1.2, 5.0.7 -> 5.0.8 (DoS)
- tar 7.5.16 -> 7.5.22 (decompression DoS, infinite loop, PAX crashes)
- postcss 8.5.15 -> 8.5.23 (source map path traversal)
- fast-uri 3.1.2 -> 3.1.4 (host confusion)
- sharp 0.34.5 -> 0.35.3 (inherited libvips CVEs)
- shell-quote 1.8.4 -> 1.9.0 (quadratic parse DoS)
- js-yaml 4.2.0 -> 4.3.0 (merge-key CPU exhaustion)

The two react-router advisories (GHSA-wrjc-x8rr-h8h6, GHSA-337j-9hxr-rhxg)
are not addressed: they are only patched in 7.18.0 and 6.30.4 is the final
v6 release, so clearing them needs a v6 -> v7 migration.
2026-07-25 14:02:33 +07:00
Tommaso Casaburi 35a574362b feat(banners): add banner-6 2026-07-25 13:53:03 +07:00
Tommaso CasaburiandGitHub c437b59850 chore(deps): upgrade bitsocial-react-hooks to 0.1.32 (#1188) 2026-07-25 13:51:30 +07:00
Tommaso CasaburiandGitHub 7538403b4c fix(composer): preserve drafts by location (#1186)
* fix(composer): preserve drafts by location

* fix(composer): address review feedback

* fix(composer): remount drafts on location changes
2026-07-24 16:42:00 +07:00
Tommaso CasaburiandGitHub a91c5b588b fix(community status): use sync lifecycle for availability (#1187)
* chore(deps): upgrade pkc-js to 0.0.72 and bitsocial-react-hooks to 0.1.31

Update bitsocial internals import paths for the new package dist layout.

* fix(community status): use sync lifecycle for availability

* fix(community status): handle terminal sync without cache

* fix(directory routing): resolve candidate sync aliases

* fix(directory routing): preserve fresh cached winners
2026-07-24 16:36:09 +07:00
Tommaso Casaburi 047bb1d5ab chore(skills): drop GitHub issue/project finalization from PR workflow skills
GitHub Projects are no longer used in this repo. Remove issue/project
finalization from review-and-merge-pr and the project-board step from
make-closed-issue in all three toolchain mirrors, record the surprise
in known-surprises.md, and regenerate llms files.
2026-07-23 18:59:30 +07:00
Tommaso Casaburi 0f2c56440c fix(author badges): recognize legacy developer address 2026-07-23 16:42:44 +07:00
Tommaso Casaburi 0ddf25bb44 fix(home stats): include replies in total post count 2026-07-23 16:27:59 +07:00
Tommaso Casaburi 01e5bdf19a chore(deps): upgrade @chenglou/pretext to 0.0.8
Update pretext height estimation to use layoutNextLineRange from the new release.
2026-07-22 12:37:03 +07:00
Tommaso Casaburi 715acb4c9a chore(deps): bump axios, protobufjs, and brace-expansion for Dependabot alerts
Resolve open security advisories by pinning patched versions in Yarn resolutions.
2026-07-22 12:09:03 +07:00
Tommaso Casaburi cfcb8cdb8c style(footer): shrink Bitsocial logo to 18px and drop 1px 2026-07-20 16:52:22 +07:00
Tommaso Casaburi 829e90d65c fix(footer): point About link to 5chan app page 2026-07-20 16:34:47 +07:00
Tommaso Casaburi 4aef06b56c Merge branch 'codex/feature/footer-bitsocial-attribution'
Add Bitsocial attribution to site legal meta footer.
2026-07-20 16:33:50 +07:00
Tommaso Casaburi 192007d632 feat(footer): add Bitsocial attribution to site legal meta
Show a powered-by Bitsocial link with logo in the footer license line and add translations for the new copy.
2026-07-20 16:33:44 +07:00
Tommaso Casaburi 87553414a8 fix(transfer): publish trash board transfers with canonical community name
Use the trash board address as communityAddress and communityName instead of the public key, while still passing communityPublicKey for identity.
2026-07-20 16:22:57 +07:00
Tommaso Casaburi 32dea15e86 chore: upgrade react-grab to 0.1.48 2026-07-19 14:44:32 +07:00
Tommaso Casaburi e6dc405faf chore: upgrade react-doctor to 0.8.1 2026-07-19 14:35:27 +07:00
Tommaso Casaburi 3431c26755 chore(data): replace plebeius.bso with bitsocialist.bso
Update board directory owners, known developer registry, and related tests to use the new bitsocialist.bso address.
2026-07-18 16:43:39 +07:00
Tommaso Casaburi bbc2d5860d chore(release): v0.9.15 2026-07-17 16:37:51 +07:00
Tommaso Casaburi e74952a016 Merge branch 'codex/fix/thread-cid-community-route'
Resolve thread community from CID and redirect stale directory routes.
2026-07-17 16:32:06 +07:00
Tommaso Casaburi cb15128ee8 fix(post): resolve thread community from CID and redirect stale routes
Fetch the comment community from the CID payload for initial useComment hints, and redirect directory thread URLs to the authoritative community instead of 404.
2026-07-17 16:32:01 +07:00
Tommaso Casaburi d0c515e70f fix(deps): upgrade @libp2p/gossipsub to 16.0.4 for CVE-2026-49866
Resolves Dependabot alert #302 (CPU DoS via oversized IHAVE/IWANT arrays).
2026-07-17 15:03:51 +07:00
Tommaso Casaburi e14efac63a chore(deps): upgrade bitsocial-react-hooks to 0.1.30 and bso-resolver to 0.0.10 2026-07-14 16:43:34 +07:00
Tommaso Casaburi eadf048d5e fix(android): support TypeScript 7 builds 2026-07-14 15:02:30 +07:00
Tommaso Casaburi 8cf425717b chore(release): v0.9.14 2026-07-14 14:54:02 +07:00
Tommaso Casaburi 3d49781c3d chore(deps): upgrade bitsocial-react-hooks to 0.1.29 2026-07-14 14:14:09 +07:00
Tommaso Casaburi 2068894cbd chore(deps): upgrade pkc-js to 0.0.71 2026-07-14 14:04:41 +07:00
Tommaso Casaburi e3f45a6112 fix(ui): hide account author ID on pending replies 2026-07-14 01:08:04 +07:00
Tommaso CasaburiandGitHub e5e46907d6 fix(routing): avoid nested hashes in shared links (#1185) 2026-07-11 00:09:30 +07:00
Tommaso Casaburi 1e9cdab9a6 chore(deps): bump pkc and hooks packages 2026-07-10 20:26:23 +07:00
Tommaso Casaburi 7ff9c19331 chore(ai workflow): add Ponytail simplicity pass 2026-07-10 15:30:55 +07:00
Tommaso Casaburi 9dfdf2f147 Merge branch 'codex/fix/favicon-route-ownership' 2026-07-10 15:22:19 +07:00
Tommaso Casaburi 56f451719d fix(ui): centralize favicon updates and tighten route ownership for mod views
Gate document theme and favicon side effects behind GlobalLayout, restore the default favicon after leaving not-found, and treat valid mod and trailing-slash routes as recognized views.
2026-07-10 15:22:12 +07:00
Tommaso Casaburi 5456ba2fb8 chore(codex agents): inherit parent model settings 2026-07-10 14:45:05 +07:00
Tommaso Casaburi ece58da78b chore(deps): drop @typescript/native-preview in favor of typescript 7 native tsc
TypeScript 7's own tsc is the Go-native compiler, so the separate tsgo
binary from the dev-preview package is redundant. yarn type-check now
runs tsc --noEmit. Bump tsconfig target to ES2018 and add types: [node]
to fix the pre-existing NodeJS namespace, global, and /s regex flag
errors that stable tsc reports but tsgo did not.
2026-07-09 15:17:35 +07:00
Tommaso Casaburi 217fccf2d6 chore: upgrade typescript to 7.0.2 2026-07-09 14:46:00 +07:00
Tommaso Casaburi 6753f4b3e6 fix(deps): satisfy yauzl API for Windows packaging 2026-07-09 00:57:27 +07:00
Tommaso Casaburi ba4e2f42cc chore(release): v0.9.13 2026-07-09 00:41:54 +07:00
Tommaso Casaburi c6dadc6355 fix(deps): replace vulnerable decompress with @xhmikosr/decompress
The unmaintained decompress package (<=4.2.1) allows archive extraction
outside the target directory. Migrate electron before-pack to the patched
@xhmikosr/decompress fork (11.1.3) to resolve Dependabot alert #301.
2026-07-08 21:44:18 +07:00
Tommaso Casaburi 1e1de76f8f chore(deps): upgrade bitsocial-react-hooks to 0.1.27 2026-07-08 15:18:30 +07:00
Tommaso Casaburi bf0577ab13 chore(deps): upgrade pkc-js to 0.0.65 2026-07-08 15:18:10 +07:00
Tommaso Casaburi f07e0df098 Merge branch 'codex/fix/trash-board-canonical-bso'
Keep hidden special boards on canonical BSO identity.
2026-07-07 23:45:25 +07:00
Tommaso Casaburi e2dc9413a0 fix(trash board): keep hidden special boards on canonical BSO identity
Resolve trash and other hidden special board routes to their canonical BSO
address and public key instead of stale directory aliases.
2026-07-07 23:45:13 +07:00
Tommaso CasaburiandGitHub abe1e5a6a2 fix(post ids): never display account identity as a post user id (#1184)
* fix(post ids): never display account identity as a post user id

In per-post pseudonymity mode, local account comment data is overlaid on
published comments so author edit/delete controls keep working, but the
overlay also replaced the displayed User ID with the account author
address in logged-in thread views.

Split the two concerns: getCommentUserID now reads only the published
author.shortAddress, and preservePublishedUserID mirrors the published
ID back onto comments after any local account/edit overlay.

* test(post): cover published user id restore over edited comment overlay
2026-07-07 16:27:41 +07:00
Tommaso Casaburi 6c9c57794c chore(release): v0.9.12 2026-07-06 23:46:18 +07:00
Tommaso Casaburi d6f83e8abe fix(post transfer): publish trash with public key 2026-07-05 00:11:48 +07:00
Tommaso Casaburi 716d8d93a5 Merge branch 'codex/fix/mod-queue-trash-only' 2026-07-04 23:51:09 +07:00
Tommaso Casaburi 177ccb7c40 Revert "Merge branch 'codex/fix/trash-transfer-publication-identity'"
This reverts commit 63eac48110, reversing
changes made to 5111954081.
2026-07-04 23:51:04 +07:00
Tommaso Casaburi 9dfd638b71 fix(mod queue): restrict trash action to trash board 2026-07-04 23:48:43 +07:00
Tommaso Casaburi 63eac48110 Merge branch 'codex/fix/trash-transfer-publication-identity' 2026-07-04 23:48:31 +07:00
Tommaso Casaburi ad091d2be8 fix(post transfer): publish trash with public key 2026-07-04 23:48:19 +07:00
Tommaso Casaburi 5111954081 fix: avoid pending post cleanup crash 2026-07-04 23:13:49 +07:00
Tommaso Casaburi dad43a0830 Merge branch 'codex/chore/ai-workflow-improvements'
AI workflow improvements: skills, subagents, hooks, and agent playbooks.
2026-07-03 18:21:45 +07:00
Tommaso Casaburi bbc696dcec ci: make coverage badge publishing advisory 2026-07-03 14:24:38 +07:00
Tommaso Casaburi 2088c4b50d docs(agent playbooks): fix stale CI references and index committed skills
Corrects the react-doctor PR-check command and workflow filename, marks the
superseded hooks-tarball surprises now that bitsocial-react-hooks comes from
npm, rewrites hooks-setup.md around the real per-harness entry points and drops
its drifted inline script copies, points the Task Router translations row at
the translate skill, and adds a committed skills/subagents index so agents can
discover the tooling that already exists.
2026-07-03 13:58:38 +07:00
Tommaso Casaburi 1ac3e5883b fix(agent hooks): wire hooks into real harness entry points and fix payload parsing
Claude Code never reads a standalone .claude/hooks.json, so the PostToolUse and
Stop pipeline is moved into .claude/settings.json and hooks.json is removed;
.cursor/hooks.json is rewritten in Cursor's version+afterFileEdit/stop schema;
.codex/hooks.json is already Codex-valid and stays. The shared scripts now
parse both the Cursor file_path and Claude/Codex tool_input.file_path stdin
shapes and normalize absolute paths, so the format, yarn-install, and
react-pattern-review hooks stop being silent no-ops. verify.sh blocks with
exit 2 plus a stderr reason, guards stop_hook_active, and skips clean trees;
react-pattern-review surfaces its reminder via hookSpecificOutput on
PostToolUse; sync-git-branches no longer misreports open PRs as merged. The
validator now checks that the three harness-specific entry points wire the
same hook scripts instead of requiring byte-identical hooks.json copies.
2026-07-03 13:58:36 +07:00
Tommaso Casaburi 0166f2f4e8 fix(subagents): restrict read-only agent tools and remove machine-specific paths
browser-check and profiler get an explicit read-only tools list mirroring the
Codex sandbox_mode, and test-apk no longer hardcodes one contributor's
ANDROID_HOME and project paths.
2026-07-03 13:58:35 +07:00
Tommaso Casaburi 21bbc5f07c fix(ai skills): correct stale branch names, rg flags, and commit scope rules
Fixes deslop diffing against nonexistent main, an invalid rg --type tsx flag
in fix-merge-conflicts, a Codex-specific phrase leaking into the Claude/Cursor
inspect-elements description, and aligns commit-format with the required-scope
convention the commit skill and git history already use. Rewrites the readme
skill from 764 lines of Rails-specific guidance to a lean version matching
this Vite/Capacitor/Electron repo.
2026-07-03 13:58:34 +07:00
Tommaso Casaburi 57310867ec chore(release): v0.9.11 2026-07-03 01:43:41 +07:00
Tommaso CasaburiandGitHub 099fdd6f3e Add hidden trash board (#1183)
* feat(trash-board): add hidden trash board

* fix(trash-board): resolve special board transfer lookups

* fix(trash-board): exclude source aliases from transfers

* fix(trash-board): avoid hidden rules hash
2026-07-02 21:22:19 +07:00
Tommaso Casaburi 19530d1d99 Revert "chore(release): v0.9.11"
This reverts commit 6fb4adc0b2.
2026-07-02 16:18:10 +07:00
Tommaso Casaburi 6fb4adc0b2 chore(release): v0.9.11 2026-07-02 16:15:24 +07:00
Tommaso Casaburi e50e4e630b fix(transfer modal): remember dragged position 2026-07-02 16:07:25 +07:00
Tommaso CasaburiandGitHub b4a6f0a65a feat(mod queue): transfer posts across boards (#1182)
* feat(mod queue): transfer posts across boards

* fix(mod queue): polish transfer modal and reason

* fix(mod queue): recover abandoned transfer challenges

* fix(mod queue): address transfer review feedback

* fix(mod queue): hide transfer for unavailable posts

* fix(mod queue): prevent repeat transfer submit

* fix(mod queue): sync transfer state with queue actions

* fix(mod queue): omit transfer temp index

* fix(mod queue): harden transfer failure states

* fix(mod queue): keep hidden transfer lock

* fix(mod queue): release hidden transfer lock
2026-07-02 14:52:06 +07:00
Tommaso Casaburi 546ee99f12 fix(reply modal): remember desktop position across opens in session
Dragged reply modal positions persist in sessionStorage for the tab and restore on the next desktop open, while mobile viewports still center the modal.
2026-07-01 22:51:30 +07:00
Tommaso Casaburi fde4f0ac6a Merge branch 'codex/fix/reply-preview-modal-width' 2026-07-01 16:43:40 +07:00
Tommaso Casaburi c0537cc680 fix(reply modal): align composer controls 2026-07-01 16:43:21 +07:00
Tommaso Casaburi 4bfe298d4b fix(reply modal): insert YouTube links at cursor and enable conversion everywhere
YouTube thumbnail conversion now inserts links at the textarea caret instead of prepending, runs in reply modals even when media links are optional, and preserves the YouTube brand label on desktop posts.
2026-07-01 16:33:32 +07:00
Tommaso Casaburi 21056ae6b9 feat(bbcode preview): allow resizing preview pane 2026-07-01 16:08:53 +07:00
Tommaso Casaburi b90138f1d9 fix(reply modal): constrain bbcode preview width 2026-07-01 16:01:31 +07:00
Tommaso Casaburi 5aaee154d2 chore(deps): bump pkc and hooks packages 2026-06-29 20:18:44 +07:00
Tommaso Casaburi 3c3236c0bd docs(product): document the no-emoji-affordances policy and rationale
Explain why emoji render as raw Unicode but get no picker, shortcode/emote system, or Twemoji styling: imageboard expressive norms (greentext, reaction images, kaomoji/ASCII art), emoji as an outsider marker, and structural-not-cosmetic differentiation from 4chan. Add the matching DESIGN.md guardrail and regenerate the LLM index.
2026-06-29 15:34:08 +07:00
Tommaso Casaburi e52aa3a44f chore(release): v0.9.10 2026-06-29 10:07:32 +07:00
Tommaso Casaburi 69ba4ace7a fix(post form): respect reply link rules 2026-06-29 09:55:55 +07:00
Tommaso Casaburi 3b3a5a5e6c chore(release): v0.9.9 2026-06-29 00:44:49 +07:00
Tommaso Casaburi deb7c841b7 chore(deps): upgrade bitsocial-react-hooks to 0.1.25 2026-06-29 00:41:39 +07:00
Tommaso CasaburiandGitHub 7258e21f6f fix(markdown): render code tags on code-enabled boards
Enable [code] tag parsing for both /g/ and /q/ rendering paths, show the post-form hint on code-enabled boards, and preserve whitespace in BBCode previews.
2026-06-28 23:37:59 +07:00
Tommaso Casaburi 1de28afd45 chore(deps): upgrade bitsocial-react-hooks to 0.1.24 2026-06-28 23:22:11 +07:00
Tommaso Casaburi 64dd30ff24 fix(post-content): keep visited link colors on theme palette
Apply post link and quotelink CSS variables to visited anchors in
bbcode and markdown so they match unvisited styling.
2026-06-28 23:14:23 +07:00
Tommaso Casaburi 6e361e224d chore(deps): upgrade pkc-js to 0.0.59 2026-06-28 22:57:57 +07:00
Tommaso Casaburi e24685a234 Merge branch 'codex/fix/q-topbar-category' 2026-06-28 15:47:17 +07:00
Tommaso Casaburi afb3e31f0a fix(boards-bar): group /q/ with r9k, s5s, and vip in top bar
Move the feedback board into the same desktop bracket category as the
other small meta boards instead of the large general group.
2026-06-28 15:47:12 +07:00
Tommaso Casaburi 6b2b85f51e fix(post-form): enforce required post link board rules
Validate link and media requirements from community/directory features in
post and reply forms, with shared helpers and translated alert messages.
2026-06-28 15:44:36 +07:00
Tommaso Casaburi b974be7b2f chore(release): v0.9.8 2026-06-27 18:46:31 +07:00
Tommaso Casaburi fa5320e834 fix(edit-menu): let moderators edit their own post content
Show a content editor in the mod menu when the signed-in mod is the post
author, and publish author edits alongside moderation actions on save.
2026-06-27 18:41:28 +07:00
Tommaso Casaburi fcd2171e62 Merge branch 'master' of github.com:bitsocialnet/5chan 2026-06-27 17:47:01 +07:00
Tommaso CasaburiandGitHub ecb7f9e4cc fix(catalog): use search hashes for board routes
Use 4chan-style #s= catalog search hashes for redirected board search routes and quotelinks.
2026-06-27 17:45:38 +07:00
Tommaso Casaburi f213d41296 fix(favicon): show dedicated icon on 404 pages
Add favicon-404.ico and switch tab favicon on not-found routes while
keeping static app pages and larger crawler icons unchanged.
2026-06-27 17:38:55 +07:00
Tommaso Casaburi eacb422f40 fix(routing): canonicalize board page 1 routes instead of not-found
Board URLs ending in /1 now redirect to the canonical page-1 path while
preserving search, hash, and settings suffixes.
2026-06-27 17:02:51 +07:00
Tommaso Casaburi 292d3e35a4 fix(footer): rename contact link to contributors 2026-06-27 16:27:58 +07:00
Tommaso Casaburi 9e027a0159 fix(ai workflow): align hook configs 2026-06-27 14:25:56 +07:00
Tommaso Casaburi 9c269d9dfa chore(deps): upgrade bitsocial-react-hooks to 0.1.23 2026-06-27 14:23:56 +07:00
Tommaso Casaburi 87f73d7268 chore(deps): upgrade pkc-js to 0.0.57 2026-06-27 14:23:36 +07:00
Tommaso Casaburi a06733cad4 Fix Codex hooks config schema 2026-06-27 13:53:09 +07:00
Tommaso Casaburi 42c08ecc49 Merge branch 'codex/feature/add-q-feedback-directory' 2026-06-26 18:12:11 +07:00