Conversation
- New deviceSync.ts with versioned JSON payload format, merge + replace strategies, clipboard/file/Web Share API helpers, and SyncProvider interface outline for future cloud relay - ImportPresetsModal.svelte with paste, file upload, merge/replace actions - Device Sync section added to Settings (between Build and Node) - 68 tests pass (14 new deviceSync unit tests added) - Locale strings added for en, ja, zh Co-authored-by: Shilo <Shilo@users.noreply.github.com>
|
Cursor Agent can help with this pull request. Just |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d94db238c5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (existingNames.has(sp.name.toLowerCase()) && existingCodes.has(sp.build)) { | ||
| continue; |
There was a problem hiding this comment.
Check duplicate preset by name/build pair
The merge skip condition currently treats name and build as independent sets, so an incoming preset is dropped whenever that name exists anywhere and that build code exists anywhere, even if the exact (name, build) combination does not exist. For example, with local presets (A, code1) and (B, code2), importing (A, code2) is incorrectly skipped, causing silent data loss during sync/merge. The duplicate check should be based on an existing tuple match, not separate membership checks.
Useful? React with 👍 / 👎.
Implement device sync for build presets, allowing users to share and import presets across different devices.
This feature addresses the user requirement to sync build presets while keeping device-specific settings unique. It provides a robust mechanism for exporting and importing presets via clipboard or file, with built-in deduplication and future-proofing for cloud integration.