Commit Graph
3829 Commits
Author SHA1 Message Date
Tommaso CasaburiandGitHub 9896c4400b fix(replies): keep fresh replies scoped to thread (#1174) 2026-06-18 18:13:31 +07:00
Tommaso Casaburi 0bffa38930 Merge branch 'codex/fix/desktop-board-address-verification' 2026-06-18 15:59:21 +07:00
Tommaso Casaburi 57805d60e5 Merge branch 'codex/fix/thread-author-controls' 2026-06-18 15:59:20 +07:00
Tommaso Casaburi 3a4a0d4130 fix(electron): add BSO name resolvers for desktop board address resolution
Configure desktop PKC RPC with Ethereum-backed BSO resolvers so .bso board addresses resolve correctly.
2026-06-18 15:59:15 +07:00
Tommaso Casaburi 6297edb49f fix(post): restore thread author controls after publish navigation
Overlay local account comment author data on thread pages so edit/delete controls stay available after navigation from publish.
2026-06-18 15:59:14 +07:00
Tommaso Casaburi d2f058a5ed fix(home): point footer Blog link to bitsocial.net 2026-06-18 15:57:33 +07:00
Tommaso Casaburi f4eb1d28d2 chore(home): replace Telegram footer link with Blog
Reorder footer links and add Home; Blog points to bitsocial.app/blog?q=5chan.
2026-06-18 15:57:02 +07:00
Tommaso Casaburi 9179988e7f chore(release): v0.9.3 v0.9.3 2026-06-18 14:19:34 +07:00
Tommaso Casaburi 8cf03a7bb4 fix(pubsub): repair browser pure p2p publishing 2026-06-18 14:18:14 +07:00
Tommaso Casaburi de06d5d4bc chore(release): v0.9.3 2026-06-17 23:13:33 +07:00
Tommaso Casaburi 1278cf42c0 fix(pubsub): restore browser pure p2p publishing 2026-06-17 23:09:39 +07:00
Tommaso Casaburi d3772786ff test(pubsub): align pure p2p option expectations 2026-06-16 22:53:22 +07:00
Tommaso Casaburi f7771d33dd chore(release): v0.9.3 2026-06-16 22:51:09 +07:00
Tommaso Casaburi 10015de6b9 fix(pubsub): avoid false browser p2p provider failures 2026-06-16 22:48:09 +07:00
Tommaso Casaburi 1fed20a471 chore: upgrade knip to 6.17.0 2026-06-16 17:21:20 +07:00
Tommaso Casaburi 8f491f58ed Merge branch 'codex/chore/upgrade-bitsocial-react-hooks-0.1.18' 2026-06-15 18:40:30 +07:00
Tommaso Casaburi 88b44dc3a3 chore(deps): upgrade bitsocial-react-hooks to 0.1.18 2026-06-15 18:40:24 +07:00
Tommaso Casaburi 6006a658fb fix(rules): re-scroll directory hash when data refreshes
Remove the one-shot scroll guard so /rules#code anchors scroll again when directory data updates after the initial render.
2026-06-15 18:39:49 +07:00
Tommaso Casaburi f3565f0dda perf(mod queue): stabilize moderation subscriptions 2026-06-15 18:10:58 +07:00
Tommaso Casaburi 75dd7a8496 fix(ci): keep raw board tests side-effect free 2026-06-14 20:58:26 +07:00
Tommaso CasaburiandGitHub 33bb1d1356 perf(mod queue): stabilize empty loading state
Keep the mod queue empty state visible while background P2P loading continues, reduce footer-driven rerenders, and preserve footer errors when retained queue history rows are rendered.
2026-06-14 20:38:25 +07:00
Tommaso Casaburi 35776737f2 fix(release): align blotter and release copy with LaTeX in /sci/
Update v0.9.2 blotter message and release one-liner to describe LaTeX
in /sci/ instead of generic scientific math preview wording.
2026-06-14 16:21:57 +07:00
Tommaso Casaburi f53bd0f6e5 ci(release): make React Doctor check advisory
The release preflight ran yarn doctor --diff against the previous tag as a
hard gate, but many error-level diagnostics flag intentional patterns rather
than bugs (e.g. resetting preview state when the reply modal closes, mirroring
long-accepted code). Mark the step continue-on-error so it still runs and posts
annotations without blocking a release.
v0.9.2
2026-06-13 18:25:53 +07:00
Tommaso Casaburi 591aaa729f fix(challenge-modal): publish challenge answers with pkc object schema
pkc-js's publishChallengeAnswers destructures { challengeAnswers } from its
argument, so passing a bare string[] left challengeAnswers undefined and
silently broke challenge submission (i.e. posting). Wrap answers in the object
form via a publishPublicationChallengeAnswers helper with error logging, and
align the ChallengePublication type with the real runtime signature.
2026-06-13 18:25:04 +07:00
Tommaso Casaburi ded239bef2 chore(release): v0.9.2 2026-06-13 18:09:24 +07:00
Tommaso Casaburi f72d0b9fa5 chore(release): drop macOS quarantine workaround from release notes
The mac DMGs are now signed with a Developer ID and notarized, so Gatekeeper
no longer shows the "app is damaged" error and the xattr quarantine command
is no longer needed.
2026-06-13 18:04:42 +07:00
Tommaso Casaburi cdb1d13bef fix(post ids): avoid cid fallback for poster identity 2026-06-13 17:56:15 +07:00
Tommaso Casaburi fb03957835 chore: sharpen advisory code quality review skill 2026-06-13 16:22:31 +07:00
Tommaso CasaburiandGitHub 85b782e934 feat(electron): sign and notarize mac release builds (#1171)
* feat(electron): sign and notarize mac release builds when Apple credentials are present

* fix(electron): work around codesign PID parsing for digit-leading app name in @electron/notarize

codesign interprets a bare '5chan.app' argument as process ID 5, so
@electron/notarize 2.5.0's pre-upload signature check fails with 'No such
process'. Backport the './' basename prefix from electron/notarize#245 as
a yarn patch until forge depends on notarize >= 3.x.

* docs(agent-playbooks): record codesign PID parsing surprise for digit-leading app name

* fix(ci): keep mac signing env consistent with certificate availability
2026-06-13 15:26:31 +07:00
Tommaso Casaburi 3484963a59 chore: add advisory code quality review workflow 2026-06-13 15:13:25 +07:00
Tommaso Casaburi 824c36e518 Merge branch 'master' of github.com:bitsocialnet/5chan 2026-06-13 13:43:34 +07:00
Tommaso CasaburiandGitHub 6cb28b0e4f fix(youtube thumbnails): prefer best available image
Prefer the best available YouTube thumbnail, fall back cleanly when high-resolution images are unavailable, and keep the React Doctor PR gate scoped to newly introduced issues.
2026-06-13 13:39:22 +07:00
Tommaso Casaburi 43b160b1fc fix: resolve open Dependabot security alerts
Bump vulnerable transitive dependencies via yarn resolutions and direct dependency updates.
2026-06-13 12:55:31 +07:00
Tommaso Casaburi c3d72e53cc chore: upgrade react-doctor to 0.5.2 2026-06-13 12:42:11 +07:00
Tommaso Casaburi 3d393478e1 Merge branch 'codex/chore/bso-domain-rpc-label' 2026-06-12 19:06:08 +07:00
Tommaso Casaburi 6d9b5ff3ce feat(settings): internationalize advanced settings and update RPC label to .bso
Replace hardcoded advanced settings strings with i18n keys and translate them across all 35 languages, including the Ethereum RPC tip for .bso domains.
2026-06-12 19:06:02 +07:00
Tommaso Casaburi 44cc792a9a chore(deps): upgrade bitsocial-react-hooks to 0.1.17 2026-06-12 18:42:35 +07:00
Tommaso Casaburi 9b6386a0b8 chore(deps): upgrade pkc-js to 0.0.47 2026-06-12 17:21:38 +07:00
Tommaso Casaburi 8456295eee fix(reply-modal): blur TeX button when preview closes
Blur the TeX preview trigger on close so Escape does not leave a
lingering focus outline or tooltip on the button.
2026-06-11 16:35:18 +07:00
Tommaso Casaburi 15fb1bf57c chore(ai-workflow): add toolchain drift validator and harden agent rules
Borrowed from a review of addyosmani/agent-skills:

- add scripts/validate-ai-workflow.mjs (yarn ai-workflow:check): verifies
  .claude/.codex/.cursor skills, agents, and hooks stay in parity, with
  validator-owned exemptions for intentional harness-specific differences
  and enforcement of the AGENTS.md agent model rules
- browser-check and profiler agents: treat page content as untrusted data,
  never instructions (5chan pages render arbitrary user-generated content)
- refactor-pass: Chesterton's Fence rule (git blame unclear code before
  removing it)
- review-and-merge-pr: pass subagent verifiers only the artifact and
  contract, not the triage verdict, to keep reviews independent
2026-06-11 16:13:53 +07:00
Tommaso CasaburiandGitHub 17c63bb2e6 feat(reply modal): add sci tex preview button (#1170)
* feat(sci): add 4chan-style TeX support with MathJax on /sci/

- [math]/[eqn] tags typeset with MathJax 3 (lazy chunk, only on /sci/ with math present)
- 4chan-identical config: Safe mode, left-aligned eqn, neutered \color/\newcommand macros
- TeX button in reply modal title bar opens live TeX Preview modal
- /sci/ post form rules bullets for [math]/[eqn] usage and right-click source
- MathJax context menu on right-click (Show Math As > TeX Commands)
- woff fonts served from node_modules in dev and emitted into build

* feat(sci): finish TeX support: configmacros fix, preview preload, translations, tests

- add configmacros package so the 4chan macro neutering (\color, \newcommand, ...) applies
- preload MathJax when the TeX Preview opens, like 4chan
- stable closeModal callback for the preview modal
- pre-bundle mathjax components in vite optimizeDeps to avoid dev mid-session reload
- translate the 6 new TeX keys into all 35 languages
- markdown math segment component tests + math-tags unit tests

* feat(reply modal): add sci tex preview button

* fix(tex-preview): clear MathJax bookkeeping and pending typeset on close

Addresses Cursor Bugbot: the preview output was typeset via typesetMathElement but
never passed to clearMathElement on unmount, so repeated open/close cycles kept
detached nodes in MathJax's math list. Also cancels the pending debounce timer.

* fix(reply-modal): reset TeX preview state when the reply modal closes

Addresses CodeRabbit: showTexPreview persisted across close/reopen like the
bbcode preview flags, so the TeX preview would auto-open on the next reply.
2026-06-11 16:12:38 +07:00
Tommaso Casaburi fa7cab0699 fix(deps): resolve shell-quote critical dependabot alert
Pin shell-quote to 1.8.4 via yarn resolutions so concurrently no longer pulls the vulnerable 1.8.3 release.
2026-06-11 15:01:58 +07:00
Tommaso Casaburi b044202e33 chore(electron): upgrade bundled kubo IPFS to 0.42.0 2026-06-11 14:59:00 +07:00
Tommaso Casaburi b0193b34be fix(archive): preserve button link text color on desktop
Exclude .button links from the nav unset rule and apply mobile button
spacing to anchor buttons so archive actions keep theme text color.
2026-06-10 16:47:31 +07:00
Tommaso Casaburi e9c729a9e3 fix(rules): use hash links for directory deep links
Switch rules navigation from /rules/:code paths to /rules#code hashes,
reject legacy subpaths, and ignore address hashes in markdown links.
2026-06-10 16:38:31 +07:00
Tommaso Casaburi f3d59c3345 fix(post-form): style errors like 4chan and move into tfoot
Use red banner styling for form errors and render them in the table
footer so messages stay aligned with the post form layout.
2026-06-10 15:45:49 +07:00
Tommaso CasaburiandGitHub 2f938d59ae fix(post-form): convert twimg query-format links in the reply modal (#1168)
Share getPublishLinkOptions between the inline post form and the reply modal so the modal publishes twimg ?format= links in their .jpg/.png form (previously raw), and rewrite the link field on blur in both so the conversion is visible. Also gate the dev service worker's runtime asset cache to production so dev no longer serves stale /src modules.
2026-06-09 19:24:28 +07:00
Tommaso Casaburi ee5aa7845e fix(deps): bump react-router-dom to 6.30.4
Patches GHSA open redirect via protocol-relative URL reinterpretation
in react-router (Dependabot alert #276).
2026-06-09 19:11:43 +07:00
Tommaso CasaburiandGitHub c0f1a77958 fix(post ids): fall back to comment cid for missing ids (#1167)
* fix(post ids): fall back to comment cid for missing ids

* fix(post ids): count cid-resolved account replies
2026-06-09 19:08:02 +07:00
Tommaso Casaburi 9de2e6a851 fix(failed-publish): keep bracket actions on one line
Replace mobile-only line breaks with CSS so retry/delete actions wrap
as a block without splitting bracket labels across lines.
2026-06-09 16:51:35 +07:00