Repository navigation
feat(profiles): choose which profiles sync and link them - #374
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
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
profilesrecord). Each device keeps its data either way.profilescollection: canonical records{"deleted","hlc","link","name"}go in batches with a null link, merged last-writer-wins by HLC (spec/protocol.md, Profiles).welcome.linknames Default's link, or the first synced one, whichever profile runs (flow-sync Feat/adaptive grid columns #65).Related issue
Flow-Tube/Flow#1039 (choose which profiles sync). Android has the matching PR.
Change type
Validation
Run on the head of this branch (aba3e37), in its worktree with the shared Cargo target dir:
pnpm test: 189 files, 1101 tests passedpnpm build: passedcargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check: cleancargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features: finished; every warning it prints is on a line older than this stack (checked withgit blame)cargo test --manifest-path src-tauri/Cargo.toml --all-targets --all-features: 1113 passed, 0 failed, 9 ignoredNew tests:
tests/sync2_profile_names.rs: last writer wins; names reach other devices; a deleted link stops syncing there; nothing is sent twice.tests/sync2_recovery.rs: a restored device waits for a choice when several links sync.tests/sync2_profiles.rs: the garbage collection test now deletes the link through theprofilescollection, with its snapshot.src/lib/linked/useLinkedProfiles.test.ts: the color a profile added from another device gets.Screenshots or recordings
Risk and compatibility
Migrations: none (uses 0036).
Older builds:
profilesbatches (unknown collection) and batches of links they don't sync, so a Phase 5 build keeps syncing Default's link.Store inventory:
sync_changesis now per profile, since every profile that syncs records its own edits.No new secrets, private data, telemetry, or broad Tauri permissions were introduced.
User-facing documentation was updated where needed.
Dependency and lockfile changes are intentional and limited to this PR.
Breaking changes and upgrade steps are clearly documented.