Skip to content

feat(web): add safe channel share workflow#1314

Draft
RCGV1 wants to merge 3 commits into
mainfrom
codex/channel-share-workflow
Draft

feat(web): add safe channel share workflow#1314
RCGV1 wants to merge 3 commits into
mainfrom
codex/channel-share-workflow

Conversation

@RCGV1

@RCGV1 RCGV1 commented Jul 19, 2026

Copy link
Copy Markdown
Member

Closes #1313
Design: meshtastic/design#128

Summary

  • Add a strict, reusable channel-share URL encoder/parser for canonical URLs and the documented legacy Add marker.
  • Make Replace the default in both QR sharing and pasted-link intake; Add links contain no LoRa configuration and lock intake to Add.
  • Plan imports before writing: Add preserves existing channels and LoRa settings, and blocks duplicate names or insufficient secondary-slot capacity.
  • Make Replace complete by staging disabled records for every secondary slot not in the incoming set.
  • Commit channel and LoRa changes through the SDK editor's single edit transaction; failed commits keep the import open and surface an error toast.
  • Block import while the shared configuration editor has pending settings changes, so a channel import cannot commit unrelated radio, module, channel, or owner edits.
  • Align share and intake terminology, add copy and Web Share fallback, and leave reconnect/reboot behavior event-driven and unchanged.

Validation

  • vitest run src/core/utils/channelShare.test.ts (12 passing fixtures, including dirty-editor commit prevention)
  • oxfmt --check and oxlint on touched TypeScript files
  • vite build completed; this isolated checkout emits a non-fatal missing-tag warning from the existing version step and the existing chunk-size warning.
  • Full tsc --noEmit remains blocked by pre-existing SDK/type mismatches outside this change; it produced no diagnostics in touched files.

Verification pending

  • No connected-node hardware import/share session was available.
  • No browser visual pass was captured; this remains a draft for that follow-up.

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5086662b-d6b9-4d0f-9171-cb1967f6d26d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vercel

vercel Bot commented Jul 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
web-test Ready Ready Preview, Comment Jul 19, 2026 7:25pm

Request Review

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.

Implement interoperable and safe channel QR sharing/importing for design #128

1 participant