Run reusable tables against Atomic Server v0.41.0-beta.8 #66

Merged
michielbdejong merged 3 commits from codex/atomic-server-reuse into main 2026-10-22 14:28:21 +02:00

/atomic-reuse now runs the existing React table against Atomic Server v0.41.0-beta.8. An Agent can create demo tables or open existing ones, publish a text column, edit rows, reconnect after reload, and receive peer values and collection arrivals. Native Atomic resources, signed Loro commits, server validation and permissions replace the in-memory persistence callback.

The server host bundles the upstream client from the same release tag (25a1487), verifies the source archive checksum, and keeps it separate from the existing 0.40 client used by NextGraph adapters. The runner prepares the ignored browser assets automatically. The original fixture demo and guided rehearsal remain available at /atomic-reuse-memory.

The existing 0.40 adapters install the prebuilt registry package with a checked-in pnpm patch for upstream #2317 in both ESM and CommonJS. This preserves optional-property removal while avoiding a Git preparation step that installs the entire older upstream browser workspace. The Git dependency hook and build allowance are removed.

The connection form distinguishes new demo creation from opening existing resources and rejects resource names before signed requests. Connected tables link directly to the saved table and containing drive in Atomic Server. A blank Parent creates a separate drive named Database app reuse demo; the setup guide explains how to find it with the same Agent. Preflight accepts a queued write already acknowledged with the same draft value while retaining conflict checks for different values.

Displayed row values use authoritative server snapshots. Refresh/preflight checks preserve unrelated drafts and reject stale membership or field baselines. Save requires a native acknowledgement; errors retain the editor. Native failed writes may remain queued and complete after backoff when permissions change; the UI and docs state that Cancel does not withdraw a queued write. The UI supports scalar fields and at most 1,000 children per table, refreshed every two seconds. These checks do not add a server-side conditional transaction or offline guarantees.

Validation:

  • Both beta.8 integration tests passed, including the reported invalid subject inputs, creation with a blank Parent, server-backed table/drive links verified through a separate client, and the full persistence/peer/permission workflow. Atomic typecheck and the production build passed after these changes.
  • A fresh frozen-lockfile install with an empty store passed after the dependency fix; 47 focused unit tests (including both patched entry points), Atomic typecheck and the production build also passed.
  • Atomic and runtime TypeScript checks passed.
  • 79 focused unit tests and all 12 existing in-memory demo browser tests passed.
  • A new regression suite passed against the actual beta.8 server: schema/row persistence after reload, independent peer updates, new-member discovery, a separate read-only Agent's denied save, retained draft, and recovery after an owner grants write access. No NextGraph requests or page errors were observed.
  • Production build and a static-production smoke check passed, including native edit/reload persistence and a 390px viewport.

CI downloads the pinned beta.8 Linux release, verifies its checksum and runs the real-server suite. README, monthly results and the review runbook link the real-server walkthrough and distinguish it from the earlier memory fixture. Follow-up to #45.

`/atomic-reuse` now runs the existing React table against Atomic Server v0.41.0-beta.8. An Agent can create demo tables or open existing ones, publish a text column, edit rows, reconnect after reload, and receive peer values and collection arrivals. Native Atomic resources, signed Loro commits, server validation and permissions replace the in-memory persistence callback. The server host bundles the upstream client from the same release tag (25a1487), verifies the source archive checksum, and keeps it separate from the existing 0.40 client used by NextGraph adapters. The runner prepares the ignored browser assets automatically. The original fixture demo and guided rehearsal remain available at `/atomic-reuse-memory`. The existing 0.40 adapters install the prebuilt registry package with a checked-in pnpm patch for upstream #2317 in both ESM and CommonJS. This preserves optional-property removal while avoiding a Git preparation step that installs the entire older upstream browser workspace. The Git dependency hook and build allowance are removed. The connection form distinguishes new demo creation from opening existing resources and rejects resource names before signed requests. Connected tables link directly to the saved table and containing drive in Atomic Server. A blank Parent creates a separate drive named Database app reuse demo; the setup guide explains how to find it with the same Agent. Preflight accepts a queued write already acknowledged with the same draft value while retaining conflict checks for different values. Displayed row values use authoritative server snapshots. Refresh/preflight checks preserve unrelated drafts and reject stale membership or field baselines. Save requires a native acknowledgement; errors retain the editor. Native failed writes may remain queued and complete after backoff when permissions change; the UI and docs state that Cancel does not withdraw a queued write. The UI supports scalar fields and at most 1,000 children per table, refreshed every two seconds. These checks do not add a server-side conditional transaction or offline guarantees. Validation: - Both beta.8 integration tests passed, including the reported invalid subject inputs, creation with a blank Parent, server-backed table/drive links verified through a separate client, and the full persistence/peer/permission workflow. Atomic typecheck and the production build passed after these changes. - A fresh frozen-lockfile install with an empty store passed after the dependency fix; 47 focused unit tests (including both patched entry points), Atomic typecheck and the production build also passed. - Atomic and runtime TypeScript checks passed. - 79 focused unit tests and all 12 existing in-memory demo browser tests passed. - A new regression suite passed against the actual beta.8 server: schema/row persistence after reload, independent peer updates, new-member discovery, a separate read-only Agent's denied save, retained draft, and recovery after an owner grants write access. No NextGraph requests or page errors were observed. - Production build and a static-production smoke check passed, including native edit/reload persistence and a 390px viewport. CI downloads the pinned beta.8 Linux release, verifies its checksum and runs the real-server suite. README, monthly results and the review runbook link the real-server walkthrough and distinguish it from the earlier memory fixture. Follow-up to #45.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ELFA/database-apps!66
No description provided.