Repository navigation
Move to SDK 0.1.0-beta.188 and its new API - #40
Merged
Merged
Conversation
- Client reads take one options object: describe({signal}),
pages(query, {signal}), get(ref, {include, signal}).
- Record values are plain JSON: frontmatter[field] and a contract
implementation's fields[name], typed with the root's plain
DescribeResult and RecordView instead of wire types.
- client.settle replaces client.save for the first create. A refusal is
still definite and clears the create attempt; an unknown outcome reads
the original record by its pinned ID as before.
- Status: snapshot.writes is snapshot.sync.writes, and the replica-offline
check reads sync.connection (offline or reconnecting) in place of the
removed StatusSummary.kind. StatusSummary.text is gone, so a live
service refusal shows its describeError title.
- Tests: the fixture's mdbase replaces entry/application,
ApplicationFixtureSnapshot replaces MdbaseApplicationSnapshot, connect
comes from @mdbase-dev/sdk/thin-client, and summarizeStatus is gone.
MemoryReplica.client() is the testing kit's own non-reconnecting client over the replica, so the tests no longer assemble connect() from the thin-client entry.
…g describe The testing kit's MemoryReplica now answers describe with the declared contracts and the types that implement them, so the fixture declares journal.entry once and twelve tests drop their describe stubs. Stubs that control when or what describe answers stay, and so does the peer tab's stub in the autosave-ownership tabs: without it the two cross-tab conflict tests never reopen the follower's session.
The old offline status maps to connection "offline"; a replica that is still connecting did not raise the notice.
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 free
to 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.
What
Moves Journal to
@mdbase-dev/sdk@0.1.0-beta.188, whose API changed (mdbase-connect #1486). The first commit is the automation's repin from #39, unchanged; the rest moves the code. #39 cannot pass by itself.Changes
createMdbaseis the only entry; reads take one options object;submitresolves oneWrite; record values are plain JSON; status comes fromsnapshot.sync.replica.client(), and the Journal contract is declared on the replica instead of stubbingdescribe.A user could notice
Checks
npm run typecheck,npm test(245 pass),check:release-downloads,test:release-downloads.test:publisher: 147 pass. Two tests andbuild:cineed thesigstoremodule of CI's npm, which my machine's npm lacks; CI runs them.Not done
describestub remains intests/autosave-ownership.test.ts: without it a follower tab does not reopen its record session after "Use saved version". Cause not found.npm run build:localfails onmaintoo ("Installed SDK drift"); not touched here.