Repository navigation
Conversation
3 tasks done
This was referenced Oct 24, 2026
Contributor
Author
|
Replaced by #633, which carries this change merged with the other Swift SDK 0.0.32 pull requests into one page. |
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.
Summary
The Swift SDK now refills a stale working copy by itself while the app holds a
changes()stream, so a copy keeps following after a device sleeps or is offline for longer than the instance keeps events (withmarfa/marfa-swift#371). This updates the Swift SDK page and the troubleshooting guide to say so, including when the SDK leaves the refill to the app and how the app's ownhydratewaits for a refill. Merge after the Swift SDK release that includes withmarfa/marfa-swift#371.Changes
.refreshed(.hydrated); failed attempts announce.refreshed(.unfinished)and are retried further apart, up to five minutes. The streams are told.stopped(.copyExpired)instead when another instance answers (instance_changed) or the copy was already stale as the follow started (catchup_too_old), and a refused refill stops them with its error. A copy runs one hydration at a time: an app'shydratewaits for a running refill and returns its report when the refill already filled the same slice, and an app'scatchUpwaits for it and then catches up from the cursor the refill left. The refill section says the copy refills itself only when it expects the refill to be in place..copyExpiredstop, readstatus().hydration; a.stalecopy is filled again in place by hydrating the same slice, and any other expired copy is filled from scratch.copy_expiredentry: points an app on the Swift SDK to the refill section.Testing
pnpm exec vitest run src/lib/content-lint.test.ts: 47 tests pass. Each statement was checked against the code in withmarfa/marfa-swift#371 (Feed.refill(),Feed.hydrate,Feed.catchUp, and thechanges(),hydrateandcatchUpdocumentation) and its tests. The site was not built locally.Notes for reviewers
The CLI and the HTTP event stream are unchanged: the CLI still needs
marfa device hydrateaftercatchup_too_old. Review depth: a prose check against the linked pull request.Checklist