Skip to content

Build presets device sync#100

Open
Shilo wants to merge 1 commit intomainfrom
cursor/build-presets-device-sync-c0c2
Open

Build presets device sync#100
Shilo wants to merge 1 commit intomainfrom
cursor/build-presets-device-sync-c0c2

Conversation

@Shilo
Copy link
Copy Markdown
Owner

@Shilo Shilo commented Mar 8, 2026

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.


Open in Web Open in Cursor 

- 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
Copy link
Copy Markdown

cursor bot commented Mar 8, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@Shilo Shilo marked this pull request as ready for review March 11, 2026 23:45
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines +120 to +121
if (existingNames.has(sp.name.toLowerCase()) && existingCodes.has(sp.build)) {
continue;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants