Refresh Atomic schemas while preserving open drafts #60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/issue-55-schema-refresh"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
External Class and Property edits left
/atomic-reusewith stale columns and validation.AtomicTablenow subscribes to its Table, Class and referenced Properties, rebinds dependencies when fields change, and releases its subscriptions on cleanup. Existing view validators, save callbacks and creation use the current schema, including a final check after asynchronous setters and before persistence.Compatible schema edits retain drafts by row and Property ID, including raw numeric input and existing values on newly referenced fields. Removed fields and incompatible editor types retain their original controls and block Save with recovery instructions. Missing or unsupported definitions keep the last usable layout visible with an actionable error and recover after repair. Unsupported Class constraints and datatypes remain rejected.
The demo's Add text column action now uses ordinary Store updates without rebuilding adapters. External schema controls exercise labels, requiredness, field removal and datatype changes. This builds on the merged membership and live-edit fixes: parent/Class checks, retained missing rows and external-row conflict choices remain intact. Regression coverage includes subscription cleanup, missing/restored definitions, stale callbacks, schema changes during save preparation, and combined live-row/schema edits.
Validation:
vitest run --maxWorkers=1 --testTimeout=15000.tsconfig.atomic.jsonandtsconfig.runtime.json.db-table-editor-atomic.This uses locally observed schema definitions; Atomic Server transport and server-side conditional commits remain separate work.
Closes #55.