Skip to content

app_main: fix QR/manual-code rendezvous hint to include OnNetwork (0x06)#48

Closed
GuvHas wants to merge 2 commits intomainfrom
claude/review-esp32-thread-code-EsKdn
Closed

app_main: fix QR/manual-code rendezvous hint to include OnNetwork (0x06)#48
GuvHas wants to merge 2 commits intomainfrom
claude/review-esp32-thread-code-EsKdn

Conversation

@GuvHas
Copy link
Copy Markdown
Owner

@GuvHas GuvHas commented Mar 20, 2026

The rendezvous hint was 0x02 (BLE only). This device also advertises commissionable discovery via SRP over Thread (_matterc._udp), so the correct value is 0x06 (BLE | OnNetwork). With 0x02, commissioners that follow the hint strictly skip the IP path entirely even when the device is reachable via Thread, leaving only BLE — which fails without the external antenna. 0x06 lets commissioners try both transports in parallel and succeed via whichever path responds first.

The rendezvous hint was 0x02 (BLE only). This device also advertises
commissionable discovery via SRP over Thread (_matterc._udp), so the
correct value is 0x06 (BLE | OnNetwork). With 0x02, commissioners that
follow the hint strictly skip the IP path entirely even when the device
is reachable via Thread, leaving only BLE — which fails without the
external antenna. 0x06 lets commissioners try both transports in
parallel and succeed via whichever path responds first.

https://claude.ai/code/session_01SxqAiQApiRTwXefk9aQ6bR
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: af79c407ec

ℹ️ 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".

stuffBits(payload, 19, pid, 16);
stuffBits(payload, 35, 0, 2); // standard commissioning flow
stuffBits(payload, 37, 0x02, 8); // BLE rendezvous flag
stuffBits(payload, 37, 0x06, 8); // BLE (bit1) + OnNetwork/IP (bit2)
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 Keep rendezvous hint to supported commissioning transports

The setup payload’s rendezvous bitmask is for commissioning transport availability, not post-commission operational reachability. This app’s own flow is BLE-first (README.md lines 31-32) and expects Thread credentials to be pushed during commissioning (onThreadStateChanged comment around lines 349-352), while the custom SRP code only registers _matter._tcp (operational) and never _matterc._udp for commissionable discovery. Advertising 0x06 here claims on-network rendezvous support the device does not provide at onboarding time, which can cause commissioners that select IP based on the hint to fail commissioning.

Useful? React with 👍 / 👎.

0x06 was incorrect. The app only registers _matter._tcp (operational)
via SRP, never _matterc._udp (commissionable), so there is no IP
rendezvous path at onboarding time. Thread credentials are pushed
over BLE during commissioning, meaning IP is unavailable until after
commissioning completes. Advertising OnNetwork (0x04) misleads
commissioners into attempting an IP path that does not exist.

https://claude.ai/code/session_01SxqAiQApiRTwXefk9aQ6bR
@GuvHas GuvHas closed this Mar 20, 2026
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