Skip to content

Align channel QR share/import contract with design #128 #6324

Description

@RCGV1

Parent design: meshtastic/design#128

Current Android behavior has confirmed gaps:

  • Sharing defaults to Add; the cross-platform default is Replace.
  • Add generation marks ?add=true but serializes the original ChannelSet with LoRa configuration. Add payloads must contain no LoRa configuration.
  • Add import must append only: it must preserve existing channels/LoRa settings, expose conflicts/capacity, and never silently remove or overwrite an existing channel.
  • The share and intake UI need the same Replace/Add terms and consequence summaries. Add a Settings > Channels intake entry point and ensure pasted/shared text can use the same parser/confirmation model where supported.
  • QR import failures need a recoverable visible error/retry state. Do not describe normal current-firmware channel/LoRa imports as rebooting.

Acceptance criteria:

  • Generated Replace/Add URLs follow the design payload rules and round-trip through parser tests.
  • The default share control is Replace.
  • Add preserves existing radio configuration and gives clear duplicate/full-capacity feedback.
  • Reusable parser/validation covers canonical and legacy forms, add-only payloads, malformed payloads, and all supported channel counts.
  • PR evidence covers both modes and states, with hardware limits called out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions