Add Find Node buzzer action#1973
Draft
RCGV1 wants to merge 3 commits into
Draft
Conversation
This was referenced Jun 20, 2026
Member
|
Can't merge until the protobufs are finalized |
garthvh
marked this pull request as draft
June 27, 2026 07:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed?
DeviceMetadata.hasBuzzer.AdminMessage.find_node_requestand handlesfind_node_responseresults for started, stopped, no buzzer, and buzzer disabled states.protobufssubmodule to the Find Node protobuf contract.set_configwrite during connect sync and improves BLE reconnect behavior by waiting forpoweredOnand retrieving cached peripherals.Related PRs:
Why did it change?
Firmware now exposes a dedicated Find Node admin command so the phone can make the connected node buzz without overloading input events or ringtone paths. The app needs the matching generated protobufs, metadata capability gating, and response handling so users only see the action on supported nodes and get clear feedback when firmware declines it.
The connect-sync change avoids sending an unrelated full DeviceConfig write just because
tzdefis empty, which can cause unnecessary firmware config reload behavior while the app is still syncing.How is this tested?
xcodebuild -workspace /tmp/Meshtastic-Apple-findnode-build/Meshtastic.xcworkspace -scheme Meshtastic -configuration Debug -destination 'platform=iOS Simulator,id=DE3343B3-1E9D-4C2D-9AFE-B50AC465BEBA' -derivedDataPath /tmp/Meshtastic-Apple-findnode-build/DerivedData CODE_SIGNING_ALLOWED=NO build.BUILD SUCCEEDED.6566cd61812af44c5a3e77f01db8f72de0a1020a.Known local build warnings were pre-existing/environmental: SwiftLint command not installed, duplicate compile-source warnings for existing files, and AppIntents metadata extraction skipped.
Screenshots/Videos (when applicable)
UI was manually iterated during local device testing; no final screenshot is attached in this PR body.
Checklist
docs/user/ordocs/developer/, and updated accordingly (see copilot-instructions.md for the view → doc page mapping). If no doc update is needed, add theskip-docs-checklabel.