Skip to content

chore: sync upstream cella v0.13.0 (d84e7e13) - #147

Merged
flipvh merged 3 commits into
mainfrom
cella/sync/20261002-1156
Oct 2, 2026
Merged

flipvh merged 3 commits into
mainfrom
cella/sync/20261002-1156

Conversation

@flipvh

@flipvh flipvh commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

Syncs upstream cellajs/cella to d84e7e1 (v0.13.0).

42 upstream commits since last sync (compare):

Migration notes: all 94 handled.

Scope

Step 1 of .todos/CELLA_SYNC_BRIEF_20261002.md. It stops at d84e7e1, the commit before cellajs/cella#1260 (description sync redesign), which merged after the brief was written. #1260 and its note 20261002T0831-description-sync are step 2, a separate PR. Three commits: the CLI bump to @cellajs/cli 0.3.0, the sync, and the clientCacheVersion bump.

Conflicts (5)

  • service-accounts-schema.ts, create-service-account.ts, tests/service-accounts.test.ts, query/tests/query-client-env.ts: upstream adopted raak's fixes. Took upstream and dropped the four // fork: markers (followup-fixes step 4).
  • bench/src/seeds/attachment.bench.ts: took upstream and re-applied raak's two marked deltas (project home, order 115). pgArrayColumns: ['mentions'] is gone.

Silent-damage sweep: one auto-merged file, utils/data-encryption.ts. Its fork marker and pre-0.11 TOTP salt survived.

App-side changes (all 19 notes handled)

  • Config (ignored paths): has.commentEmail: false; proseExclude and markerClasses in the vocabulary allowlist. Marketing pages and legal-config.ts 3-way merged from upstream, keeping raak's content.
  • Routes: the four task 'x-tool' blocks become xTool. The MCP layer now stamps a server stx, so update-task no longer needs serverOrigin: true. crossTenantGuard is dropped from the project and workspace routes.
  • Cache invalidation: invalidateCache.user(id) is now synchronous and takes no db. generateUniqueSlug, removed upstream as unused, moves into create-workspaces.ts.
  • Mentions from body: ...mentionableColumns is removed from task-db.ts, and mentions from the task mock and bench seed. task-mentions-derivation.test.ts becomes task-mention-notifications.test.ts, which asserts on the fan-out instead of the dropped column.
  • Drizzle: 20261002100738_bindings_version_drop_mentions adds actors.bindings_version and drops attachments.mentions and tasks.mentions. The side-effect set adds the memberships_bump_bindings_version trigger. The SQL matches upstream plus raak's tables, and a second pnpm generate reports no changes.
  • Frontend:
    • Codemods: ui-kit-boundary (11 files) and tailwind-class-conventions (19 files).
    • Line-width-150: codemod plus biome format.
    • Organization context: nine call sites move to organizationId, because useOrganizationLayoutContext now returns ids only (perf(frontend): narrower subscriptions, data-grid hot paths and compositor-only animations cella#1246). The explainer panel and project actions read the organization through organizationQueryOptions.
    • setTriggerRef calls removed.
    • Task date columns set exportValue.
    • Dead class names that pnpm style now flags are removed: space-between, align-center, font-xs, scrollable, task-card, is-collapsed, focus-visible:is-focused.
  • Pinned tailwind.css: rebuilt on upstream's CSS-first theme, plus raak's board offsets and sticky-stack @propertys. overflow-x-clip (fix(mobile): docs render-mode labels, dialog overflow, breakpoint flip, floating nav inset cella#1139) is still left out pending a phone check of the board; it now carries a fork: marker.
  • Scripts: root check, lint and lint:fix take the upstream bodies; prose:check, frontend:comments, frontend:style, docs:style and comments:language are removed. bench gets "type": "module".
  • Overrides: frontend/src/members-config.ts is unpinned; it matched upstream.

Drift (analyze, before → after)

before after
diverged 6 0
behind 1858 0
drifted 0 3
pinned list 19 18

The three drifted files all carry markers: data-encryption.ts (TOTP salt), attachment.bench.ts (project-homed), and entity-columns.test.tsx. That last one is the upstream csv-export test, generalized over the hierarchy instead of the template's attachment-only counts; it should go upstream.

Verification

  • pnpm check is clean, and a rerun reports no fixes. Service and frontend bundles build.
  • pnpm test:core: 3752 passed after the fixes above, with two exceptions:
    • The bench scenario test runs against whatever dev stack holds the default ports (here the main checkout's, on the old schema), so its result says nothing about this branch. The bench seeds pass against a throwaway DB migrated from this branch.
    • oauth-metadata-fetch-limit timed out under full parallel load and passes alone.
  • pnpm test:storybook: 465 passed.
  • pnpm deps:unused flags three things that predate this sync: @opentelemetry/exporter-trace-otlp-http, nanoid and lucide-static, which gen:icons uses by path.
  • Board, on a separate stack (ports +200, throwaway DB migrated and seeded from this branch):
    • renders in light and dark with the CSS-first tokens;
    • a single click opens the collaborative editor (Yjs connected), and typed text persists to the task description through the relay;
    • Escape hands back;
    • the table view, Export and the task sheet render;
    • no console errors.

Deploy notes

  • The migration drops tasks.mentions and attachments.mentions. Old pods still write mentions, so run migrate and cut over in one release. ADD COLUMN bindings_version … DEFAULT gen_random_uuid() rewrites actors, a small table.
  • /health?depth=full no longer reports authInvalidation.
  • clientCacheVersion goes to v13-mentions-from-body: task responses drop the required mentions field, which the schema-bust gate counts as breaking. Clients wipe their persisted entity cache once. The cookie version is unchanged.

🤖 Generated with Claude Code

flipvh and others added 3 commits October 2, 2026 11:54
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…field

Task responses no longer carry `mentions` (cella mentions-from-body), which the
schema-bust gate classifies as a breaking OpenAPI change.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@flipvh
flipvh merged commit b55a3d9 into main Oct 2, 2026
11 checks passed
@flipvh
flipvh deleted the cella/sync/20261002-1156 branch October 2, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant