Commit Graph

2726 Commits

Author SHA1 Message Date
Tommaso Casaburi
468b671ab9 chore(ai workflow): sync cursor, claude, and codex tooling 2026-05-19 13:30:27 +07:00
Tommaso Casaburi
9270fcb1dd chore(cursor agents): use composer-2.5-fast model 2026-05-19 13:29:58 +07:00
Tommaso Casaburi
b69bd764ec feat(release): add signed release manifest 2026-05-12 16:58:33 +07:00
Tommaso Casaburi
4882b1d252 chore(deps): upgrade react-doctor 2026-05-09 15:34:19 +07:00
Tommaso Casaburi
703ffc7fd7 docs(agents): require descriptive worktree names 2026-04-30 14:11:56 +07:00
Tommaso Casaburi
9ce1b4e6a0 docs(agents): add operating principles
Inspired by https://github.com/forrestchang/andrej-karpathy-skills.
2026-04-28 15:24:35 +07:00
Tommaso Casaburi
3ab64e8394 fix(portless): force HTTPS proxy startup 2026-04-28 14:34:23 +07:00
Tommaso Casaburi
e1cfe4f2be chore(portless): upgrade local dev URLs 2026-04-28 14:25:16 +07:00
Tommaso Casaburi
cc31ca7a74 fix(dev): restore dev home page render 2026-04-28 14:04:06 +07:00
Tommaso Casaburi
f9f290c53e Merge pull request #817 from bitsocialnet/codex/chore/translate-community-rebrand
chore(i18n): translate community-rebrand keys across all locales
2026-04-27 19:57:19 +07:00
Tommaso Casaburi
cc0f1aaef9 Merge pull request #815 from bitsocialnet/codex/chore/dev-tooling-doctor-knip
chore: add react-doctor and knip dev tooling
2026-04-27 19:53:20 +07:00
Tommaso Casaburi
047a6a795f chore(i18n): translate community-rebrand keys across all locales
Re-translates two i18next keys whose English values changed from
"subplebbit" to "community" in PR #816:

- subplebbit_offline_info: "The community might be offline and
  publishing might fail."
- posts_last_synced_info: "Posts last synced {{time}}, the
  community might be offline and publishing might fail."

Each non-English locale now uses the standard local term for an
online community (communauté, Community, comunidad, コミュニティ,
社区, etc.). Key names themselves are unchanged (the
subplebbit_*  prefix stays — it's an internal i18next key).

Generated by spawning translator subagents in parallel via the
translate skill.
2026-04-27 19:48:46 +07:00
Tommaso Casaburi
5fca81ab87 Merge pull request #813 from bitsocialnet/codex/chore/default-subscriptions-cleanup
chore: drop old plebbit list, rename to use-default-subscriptions
2026-04-27 19:44:47 +07:00
Tommaso Casaburi
5b12a8bfde fix(dev-tooling): drop redundant reactDoctor block from package.json
react-doctor.config.json takes precedence and already contains the
`diff: false` value plus ignore patterns for test files. Keeping the
shadow block in package.json was dead config that would silently
ignore any future edits a maintainer made there.
2026-04-27 19:44:16 +07:00
Tommaso Casaburi
660adc161f chore: add react-doctor and knip dev tooling
Add react-doctor 0.0.31 and knip 6.1.0 as dev dependencies with
matching scripts (doctor, doctor:score, doctor:verbose, knip,
knip:full). Port a knip config from 5chan with seedit-shaped
paths.

Update AGENTS.md task router and verification rules so that
React UI logic changes run yarn doctor and dependency changes
run yarn knip.
2026-04-27 19:44:15 +07:00
Tommaso Casaburi
f3fb5fd8c0 Merge pull request #814 from bitsocialnet/codex/chore/ai-tooling-sync
chore: sync AI tooling and AGENTS.md with 5chan
2026-04-27 19:28:00 +07:00
Tommaso Casaburi
0da6e32dec fix(default-subscriptions): unblock home when default list is empty
When use-default-subscriptions resolves to [] (the expected case
while seedit-default-subscriptions.json is empty or 404s), the
auto-subscribe effect was early-returning before removing the
account from the checking set. That kept isCheckingSubscriptions
true forever and prevented the "no subscriptions" empty state
from ever rendering on home.

Fix by ensuring removeCheckingAccount is always called once the
auto-subscribe pass completes, even when there is nothing to
auto-subscribe to.
2026-04-27 19:27:00 +07:00
Tommaso Casaburi
f56594cc32 chore: drop old plebbit list, rename to use-default-subscriptions
Rename the hook file and exports from use-default-subplebbits to
use-default-subscriptions. Switch the fetch URL from
plebbit/lists default-multisub.json to bitsocialnet/lists
seedit-default-subscriptions.json.

A 404 from the new (not-yet-populated) list gracefully resolves
to empty defaults so new users see an empty subscription feed
(like a fresh Reddit account). The list will be populated later.
2026-04-27 19:26:58 +07:00
Tommaso Casaburi
aa8ab27887 chore: sync AI tooling and AGENTS.md with 5chan
Port release-description skill across .claude / .cursor / .codex.
Align playbook content, skills, agents, and hooks with seedit
terminology (community, not directory or board).
Add AGENTS.md rules picked up from 5chan: vercel-react-best-practices
review, ready-for-review PR rule, agent model constraints,
playwright session policy, you-might-not-need-an-effect review.
2026-04-27 18:58:13 +07:00
Tommaso Casaburi
3665384a3c Merge pull request #816 from bitsocialnet/codex/feature/community-rebrand
feat: switch to @bitsocial/bitsocial-react-hooks 0.1.2 and rebrand subplebbit → community
2026-04-27 18:57:42 +07:00
Tommaso Casaburi
c5348a0aa1 fix(community-rebrand): address Cursor Bugbot and CodeRabbit findings
- Use getCommunityIdentifier in every useCommunity / useCommunityStats
  call site so hash-style (publicKey) community addresses are routed
  to the correct CommunityIdentifier branch instead of always being
  treated as { name }.
- Move the create-community redirect in community-settings.tsx out
  of the render body and into useEffect to avoid the "cannot update
  a component while rendering" warning and re-fire on every render.
- useMemo Object.keys(accountCommunities) in mod.tsx so feedOptions
  and the three useFeed calls receive a stable communityAddresses
  array.
- Simplify the tautological logo-avatar guard in header.tsx.
- (Verified flattenCommentsPages import resolves; left as-is.)
- (Comment import in mod.tsx confirmed from @bitsocial/...)
2026-04-27 18:51:49 +07:00
Tommaso Casaburi
c5cb66ec0c refactor: rename subplebbit → community throughout UI layer
Cosmetic rename of local variables, prop names, type names, CSS classes,
function names, and code comments from the legacy `subplebbit` terminology
to `community` across components, hooks, stores, views, and utilities.

API protocol keys (e.g. `subplebbitAddress:` in publish options) are
intentionally preserved. A new `getCommentCommunityAddress` dual-read
helper in `comment-utils.ts` reads `communityAddress` first and falls
back to the legacy `subplebbitAddress` field for backward compat.

Renamed hook files:
- use-is-nsfw-subplebbit.ts → use-is-nsfw-community.ts
- use-is-broadly-nsfw-subplebbit.ts → use-is-broadly-nsfw-community.ts
2026-04-27 16:15:47 +07:00
Tommaso Casaburi
309c553c5a refactor: rename subplebbit -> community across seedit
Apply the broader subplebbit -> community rebrand on top of the
package switch:

- Rename hook usages (useSubplebbit -> useCommunity, useSubplebbits
  -> useCommunities, useSubplebbitStats -> useCommunityStats,
  useSubplebbitsStates -> useCommunitiesStates,
  useAccountSubplebbits -> useAccountCommunities,
  usePublishSubplebbitEdit -> usePublishCommunityEdit,
  usePlebbitRpcSettings -> usePkcRpcSettings) and types (Subplebbit
  -> Community, PublishSubplebbitEditOptions ->
  PublishCommunityEditOptions).
- Rename seedit identifiers (variables, types, store names) from
  subplebbit/Subplebbit to community/Community.
- git mv view directories, store files, hook files, and CSS modules
  from subplebbit-* to community-*. Update all imports.
- Rename the React Router :subplebbitAddress route param to
  :communityAddress (path /s/ unchanged).
- Update English translation values for community-related strings.
- Drop src/lib/bitsocial-react-hooks-compat.ts (no longer needed
  now that @bitsocial/bitsocial-react-hooks exposes the community
  names natively).
- Add src/hooks/use-community-identifier.ts and
  src/lib/utils/address-utils.ts as small adapters for the new
  CommunityIdentifier shape and short-address utility.
- Fix src/hooks/use-default-subplebbits.ts to import Community
  instead of Subplebbit (PR #813 will rename the file in a
  follow-up; tiny merge conflict expected on that one file).

Build, lint, and type-check all pass.
2026-04-27 14:38:23 +07:00
Tommaso Casaburi
8d017a1ab7 refactor: switch import scope from @bitsocialnet to @bitsocial
Mechanical scope rename across src/. Build is intentionally broken
at this commit — Phase 3 renames the symbols (useSubplebbit ->
useCommunity, etc.) to match the new package's API.
2026-04-27 13:47:45 +07:00
Tommaso Casaburi
c8ce0c83a3 chore(deps): switch to @bitsocial/bitsocial-react-hooks@0.1.2
- Drop the @bitsocialnet/bitsocial-react-hooks tarball install in favor
  of the canonical @bitsocial/bitsocial-react-hooks@0.1.2 from npm.
- Remove kubo direct dep (now bundled inside pkc-js via the hooks).
- Bump i18next 23 -> 25, react-i18next 13 -> 16,
  i18next-http-backend 2 -> 3, @vitejs/plugin-react 4 -> 6 to
  match 5chan.
- Remove the obsolete scripts/patch-bitsocial-react-hooks-esm.cjs
  postinstall hook (only patched the old tarball layout).
- Update AGENTS.md package scope reference.
2026-04-27 13:46:41 +07:00
Tommaso Casaburi
b81824c19c Merge branch 'codex/fix/portless-auto-open-url' 2026-04-18 13:55:15 +07:00
Tommaso Casaburi
2553c43fd3 fix(dev): auto-open portless URL after vite is ready
Vite's built-in server.open fired before portless was reachable and
used the wrong hardcoded URL, so yarn start opened a 404. Disable
vite's open when PORTLESS_URL is set and explicitly open the
branch-scoped URL from start-dev.js after HTTP 2xx/3xx readiness.
2026-04-18 13:54:43 +07:00
Tommaso Casaburi
da41bc8406 fix(deps): resolve Dependabot alerts (electron, lodash, axios, transitive)
Upgrade Electron to 39.8.7 (align with 5chan), bump lodash to 4.18.0,
electron-forge to 7.8.0, and add resolutions for axios, protobufjs,
follow-redirects, node-forge, handlebars, brace-expansion, picomatch,
and @xmldom/xmldom.
2026-04-18 13:45:25 +07:00
Tommaso Casaburi
2e588f7bcf chore(agent hooks): remind on new React effects and memos 2026-04-15 13:31:13 +07:00
Tommaso Casaburi
26f4152461 chore: upgrade react-virtuoso to 4.18.5 2026-04-15 13:05:06 +07:00
Tommaso Casaburi
95089ffe1e Add debug-agent skill (millionco/debug-agent) 2026-04-11 15:59:38 +07:00
Tommaso Casaburi
b1d9aac99b chore(ai-workflow): require cross-browser playwright checks 2026-04-10 14:31:09 +07:00
Tommaso Casaburi
48a41d0d00 chore(agent-models): use gpt-5.4 for codex agents 2026-04-08 18:39:26 +07:00
Tommaso Casaburi
ff61d05cf2 chore: upgrade vite to 8.0.5
Made-with: Cursor
2026-04-07 17:47:10 +07:00
Tommaso Casaburi
c85062d16a chore(deps): upgrade vite to 8.0.4
Made-with: Cursor
2026-04-06 15:06:55 +07:00
Tommaso Casaburi
18696afa58 Merge branch 'codex/fix/portless-route-collision' 2026-03-31 19:41:39 +07:00
Tommaso Casaburi
6159ee1ede fix(dev server): avoid portless route collisions
Adopt branch-aware Portless app naming with numeric suffixes for repeated worktree runs, add a shared direct-Vite port resolver for PORTLESS=0, and keep the Electron bypass pinned to PORT=3000 so existing localhost-based dev flows still work.
2026-03-31 19:41:27 +07:00
Tommaso Casaburi
f5e63e48f9 Merge branch 'codex/feature/bitsocial-react-hooks-migration' 2026-03-31 19:36:33 +07:00
Tommaso Casaburi
1efff4fed7 fix(hooks): preserve account communities on updates
Wrap setAccount in the compat layer so seedit keeps internal account fields during partial updates, and extend the install-time hooks patching to normalize legacy account communities data and guard role-sync lookups.
2026-03-31 19:36:12 +07:00
Tommaso Casaburi
6040835a94 feat(hooks): migrate seedit to bitsocial-react-hooks
Swap the app to the latest bitsocial-react-hooks commit, add a local compatibility shim for the legacy subplebbit API surface, and keep the in-flight account-history improvements that now use hook-side paging/filtering.
2026-03-31 19:29:45 +07:00
Tommaso Casaburi
aacaf25736 Merge branch 'master' of github.com:bitsocialnet/seedit 2026-03-31 18:56:48 +07:00
Tommaso Casaburi
579fd4a50e fix(dev server): route default start through portless 2026-03-30 17:20:38 +07:00
Tommaso Casaburi
3f22630c35 Update FUNDING.yml 2026-03-30 16:52:49 +07:00
Tommaso Casaburi
645d3a41cf add CLAUDE.md pointing to AGENTS.md 2026-03-29 18:46:53 +07:00
Tommaso Casaburi
ab79e27b5c chore: update AGENTS.md to include .claude alongside .codex and .cursor 2026-03-29 18:20:35 +07:00
Tommaso Casaburi
9d953e9c94 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:16:26 +07:00
Tommaso Casaburi
fcf3725232 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
7cce3c1cca chore(cursor): use composer-2 for subagents 2026-03-20 12:51:23 +08:00
Tommaso Casaburi
23f627b73c fix(deps): patch transitive tar vulnerabilities 2026-03-19 17:13:17 +08:00
Tommaso Casaburi
162e0b99ab fix(deps): patch dependabot alerts 2026-03-19 17:06:21 +08:00