Use a Git-pinned Atomic lib fix for optional field removal #56

Merged
michielbdejong merged 1 commit from codex/use-fixed-tomic-lib into main 2026-10-19 13:41:57 +02:00

Clearing an optional date or text field in /atomic-reuse fails with published @tomic/lib@0.40.0 because datatype validation rejects undefined before the documented removal path. Pin the compatible upstream backport at 1f330960d70898200d69c8a7834da93e0aa60ed5 and exercise removal and failed-save retry without an adapter workaround.

The main upstream fix is ontola/atomic-server#2317, targeting current develop. This temporary dependency comes from a narrow branch based on upstream v0.40.0, retaining the existing API rather than migrating to the newer 0.41 beta. It contains the removal fix, regression tests and package preparation.

The Git dependency selects browser/lib and builds its JavaScript/declarations during installation. Require pnpm 12.5.1, allow preparation for that exact Git source, and use a version-scoped metadata hook to make the published @tomic/react@0.40.0 consume the application's library as a peer. This avoids a second registry copy while keeping pnpm's exotic-transitive-dependency protection enabled. The lockfile records the immutable commit and hook checksum; the documentation explains how to return to a compatible registry release.

Validation:

  • Clean Git-subdirectory package installation, runtime removal/invalid-date checks and frozen-lockfile installation passed.
  • Verified the React wrapper and application resolve the identical patched library file; the lockfile records the shared peer.
  • All 332 application unit tests and six typechecks passed; focused Atomic tests/typecheck were repeated after the peer metadata adjustment.
  • All twelve production builds and deterministic shape/template generation passed.
  • Native/Atomic editor browser checks: 17 passed, including the new optional date/text clearing regression.
  • The compatible library's focused regressions, lint and production build passed.

Broker-backed native synchronization tests were not rerun. The separate upstream PR records its library checks and CI status.

Closes #53.

Clearing an optional date or text field in `/atomic-reuse` fails with published `@tomic/lib@0.40.0` because datatype validation rejects undefined before the documented removal path. Pin the compatible upstream backport at `1f330960d70898200d69c8a7834da93e0aa60ed5` and exercise removal and failed-save retry without an adapter workaround. The main upstream fix is [ontola/atomic-server#2317](https://github.com/ontola/atomic-server/pull/2317), targeting current develop. This temporary dependency comes from a narrow branch based on upstream `v0.40.0`, retaining the existing API rather than migrating to the newer 0.41 beta. It contains the removal fix, regression tests and package preparation. The Git dependency selects `browser/lib` and builds its JavaScript/declarations during installation. Require pnpm 12.5.1, allow preparation for that exact Git source, and use a version-scoped metadata hook to make the published `@tomic/react@0.40.0` consume the application's library as a peer. This avoids a second registry copy while keeping pnpm's exotic-transitive-dependency protection enabled. The lockfile records the immutable commit and hook checksum; the documentation explains how to return to a compatible registry release. Validation: - Clean Git-subdirectory package installation, runtime removal/invalid-date checks and frozen-lockfile installation passed. - Verified the React wrapper and application resolve the identical patched library file; the lockfile records the shared peer. - All 332 application unit tests and six typechecks passed; focused Atomic tests/typecheck were repeated after the peer metadata adjustment. - All twelve production builds and deterministic shape/template generation passed. - Native/Atomic editor browser checks: 17 passed, including the new optional date/text clearing regression. - The compatible library's focused regressions, lint and production build passed. Broker-backed native synchronization tests were not rerun. The separate upstream PR records its library checks and CI status. Closes #53.
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!56
No description provided.