Skip to content

Remote control from both sides (0.3.0) - #3

Merged
Lyten02 merged 2 commits into
mainfrom
feat/remote-control
Oct 7, 2026
Merged

Lyten02 merged 2 commits into
mainfrom
feat/remote-control

Conversation

@Lyten02

@Lyten02 Lyten02 commented Oct 7, 2026

Copy link
Copy Markdown
Owner

What

  • Protocol v2 (PROTOCOL_VERSION = 2): both sides report their controls (PcControls: audio, mic, mic_default, playback volume; PhoneControls: mic switch, mic_ready, media volume) and can request changes (SetPc / SetPhone). Core only forwards requests; the apps apply them. Control streams are read through a channel so select! never drops half a frame. An old-version Hello is rejected with a readable reason.
  • PC: one-switch Микрофон (accept mic + switch the phone mic on + CABLE Output as the Windows default recording device; off restores the previous one). Звук ПК on also undoes a CABLE takeover of the playback device. New Управление card: PC volume/mute (IAudioEndpointVolume with change callback, no polling), phone volume, phone mic, default-mic switch.
  • Phone: each connected PC card has PC audio, PC mic and PC volume/mute controls. The microphone FGS type is kept whenever RECORD_AUDIO is granted, so the PC can switch the mic on in the background. PC requests set the mic pref and media volume.
  • Merged with the phone-side mute feature from 0.2.0.

Breaking

Protocol v2: PC and phone must both be updated.

Verification

  • cargo clippy --workspace --all-targets -D warnings + cargo ndk -t arm64-v8a clippy -p audiobridge-android: clean
  • cargo test --workspace: all pass, incl. new remote_control_in_both_directions integration test
  • Gradle: JVM tests pass, lint 0 errors, APK builds
  • On device (pre-merge build): POCO F5 + PC connected over Tailscale, both UIs show live remote state

Copilot AI balanced review requested due to automatic review settings October 7, 2026 08:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Lyten02
Lyten02 merged commit bd7b72e into main Oct 7, 2026
1 check passed
@Lyten02
Lyten02 deleted the feat/remote-control branch October 7, 2026 08:36
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