Uh oh!
There was an error while loading. Please reload this page.
chore(deps): upgrade @objectstack/spec from ^7.8.0 to ^8.0.1 - #1604
Merged
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
os-zhuang added a commit
that referenced
this pull request
Jul 19, 2026
…ion; isolate non-atomic fallback in the adapter (#2679) (#2684) Master-detail saves (MasterDetailForm, LineItemsPanel) now always persist through dataSource.batchTransaction(operations) — one ordered cross-object operation list with { $ref: <op index> } linking a child to a parent created in the same batch. The form no longer contains any client-side orchestration or best-effort compensation-delete; that atomicity anti-pattern is gone from the UI layer (framework #1604 / framework ADR-0034 item 4). - types: batchTransaction? is a first-class (optional) DataSource method, typed via BatchTransactionOperation / BatchRef (replaces (ds as any) sniffing) - core: new emulateBatchTransaction (sequential + $ref resolution + best-effort reverse-order compensation) and runBatchTransaction (prefer adapter, emulate otherwise); ApiDataSource / ValueDataSource / MockDataSource implement it - data-objectstack: ObjectStackAdapter.batchTransaction prefers the SDK client.data.batchTransaction when present, uses POST /api/v1/batch otherwise, and degrades to emulation ONLY on 404/405/501 (endpoint/ runtime missing); 400/401/403/409/500 still surface. Extracted emitBatchMutations; cached detection avoids re-probing - plugin-form: removed applyDetail/createMany/ApplyDetailResult from masterDetailTx.ts; MasterDetailForm + LineItemsPanel build ops and call runBatchTransaction. LineItemsPanel saves + rollup are now atomic on a capable backend - tests: new core emulation suite, MasterDetailForm emulation-fallback + compensation cases, LineItemsPanel suite, adapter 404/501/400/SDK-detect fallback cases; docs (data-source guide, ADR-0001 addendum, rest example), changeset Co-authored-by: 包周涛 <zhuangjianguo@steedos.com> Co-authored-by: Claude <noreply@anthropic.com>
os-zhuang added a commit
that referenced
this pull request
Jul 20, 2026
…ransactionalBatch capability (#2693) (#2755) ObjectStackAdapter.batchTransaction now negotiates atomic cross-object batch declaratively via the discovery capability bit (framework #3298) instead of only probing at runtime. - connect() reads capabilities.transactionalBatch from GET /api/v1/discovery and records it as a tri-state (readTransactionalBatchCapability accepts both the hierarchical `{ enabled }` wire shape and the flat boolean the client SDK normalizes to). - When the backend DECLARES support (true), batchTransaction trusts server atomicity: it calls /batch and surfaces any failure — including 404/405/501 — as a real error. No runtime probe, no non-atomic client-side compensation. - When the capability is false or ABSENT (backend predates #3298), the legacy runtime-probe + emulation fallback stays active so a save is still possible; hard-removing it would regress older backends from "saves, less safe" to "no save path" (#2679 compatibility constraint). core's generic emulateBatchTransaction / runBatchTransaction are untouched and remain the fallback for adapters with no server-side transaction. Docs: adapter README + data-source guide document the capability table and the minimum-backend note (atomicity guaranteed only against backends advertising the capability — framework #3298 / #1604). Adds tests for each capability state and a unit test for the shape reader. Picks up #2679 acceptance item 4; unblocked by framework#3298 (merged). Claude-Session: https://claude.ai/code/session_01U1UuBuaurza8a2XWSUaDQr Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@objectstack/specfrom^7.8.0to^8.0.1across all 10 packagespnpm-lock.yamlaccordingly🤖 Generated with Claude Code