Repository navigation
feat: live-sync client for pushing layouts to the plugin - #1
Merged
Merged
Conversation
Add a cloud-free live-sync client that streams the current layout to a
running AdvancedGUI plugin over its WebSocket server (default
ws://localhost:27757), reusing the existing finalized serialization.
- SyncManager: builds the exact wire payload the plugin's
LayoutManager.syncFromJson expects — { name, componentTree (stringified
finalized GroupComponent, double-encoded), invisible[] } — via
convertToFinalized; debounced push on the history change signal;
ack heartbeat; mixed-content guard (https can only reach ws:// on
loopback); resource-drift warning (images/gifs/fonts cannot be synced).
- LiveSync.vue: header panel with status pill, server field,
connect/disconnect, and a copyable "/ag sync <key> <layout>" command.
- tests/sync.payload.test.ts: wire-contract tests, validating the
finalized colors against the plugin deserializer mirror and the
https loopback guard.
Verified end to end against a real Paper server running AdvancedGUI
3.0.3: the editor payload loads and applies with no parse errors.
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.
Add a cloud-free live-sync client that streams the current layout to a running AdvancedGUI plugin over its WebSocket server (default ws://localhost:27757), reusing the existing finalized serialization.
Verified end to end against a real Paper server running AdvancedGUI 3.0.3: the editor payload loads and applies with no parse errors.