feat(settings): live evolu sync status per transport - #98
Merged
Merged
Conversation
Evolu 8.11 changed the SharedWorker tab protocol: the worker now sends Waiting/Connected before DbWorkerInit and tabs elect their own leader. The CLI/test client wired the port by hand, treated every message as a DbWorker init and announced itself as leader, so Evolu never started and every Evolu-backed test timed out. Use createEvoluDeps, which the web platform uses too and which owns the shared worker and speaks its protocol. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The CLI/test client started the SharedWorker with a fire-and-forget run(initSharedWorker(self)) and dropped the resources it returns, so on shutdown only run disposal tore it down. That disposed the tenants' own runs before the tenant teardown that still uses them, and every command and test ended with "Cannot use a disposed object", which a custom reportDefect filtered into a warning. Keep the returned stack in the disposer so it is disposed before run and workerRun, and drop the filter so any real defect surfaces again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UpBbspBaj5dyAGs5jttwJA
Evolu 8.11 publishes a syncState snapshot of every relay, so the security settings can finally tell whether a configured transport actually works instead of only whether it is switched on. Each active relay gets one status line (synced, syncing, connecting, offline, error) with the time or reason that matters, settled for 400 ms so writes do not flicker it. The list itself is reworked around that: the URL leads each row in full (the wss: scheme toned down, the owner-id placeholder shown as a label), a switch replaces the activate/deactivate buttons, rows share one bordered group, and the list sits above the add form. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UpBbspBaj5dyAGs5jttwJA
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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
@evolu/common8.11. That release changed the SharedWorker tab protocol, so the CLI/test client now builds its deps throughcreateEvoluDepsinstead of wiring the worker port by hand. Before this, every Evolu-backed test timed out.reportDefectfilter that used to hide it is gone, so any real defect shows up again.syncState: synced, syncing, connecting, offline, or error, plus the time or reason that matters.Test plan
tsc -b, Biome onsrc, and Vitest (712 tests) passtables listexits without the teardown defectwss://localhost:1, and a deactivated relay🤖 Generated with Claude Code
https://claude.ai/code/session_01UpBbspBaj5dyAGs5jttwJA