Skip to content

Update Flutter controller app identifiers and iOS assets - #539

Merged
thias15 merged 19 commits into
ob-f:masterfrom
3dwesupport:flutter-controller-package-updates
Oct 6, 2026
Merged

thias15 merged 19 commits into
ob-f:masterfrom
3dwesupport:flutter-controller-package-updates

Conversation

@harishthakur52

@harishthakur52 harishthakur52 commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Android:

  • Renamed app ID to org.openbot.app.controller
  • Added release signing config

iOS:

  • Renamed bundle ID to org.openbot.app.controller
  • Added local network permission for robot discovery
  • Regenerated app icons and launch images
  • Fixed app name spacing
  • Fixed ios robot app tflite requirement in info.plist

hardikgarg02 and others added 12 commits August 25, 2026 12:43
…dates

Flutter controller package updates
- Switch robot's WebRtcServer from Plan B addStream() to Unified Plan
  addTrack()/removeTrack(), which was silently dropping the video track
- Enable video streaming for phone-mode connections in PhoneController
- Add onTrack fallback in the Flutter controller for Unified Plan streams
- Add missing INTERNET/CHANGE_WIFI_MULTICAST_STATE permissions to the
  controller's main AndroidManifest.xml (were debug/profile-only, so
  --release builds crashed with an NsdService SecurityException)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@thias15

thias15 commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

With tracks now attached through peerConnection.addTrack(), should stopServer() call stopStreamingVideo() or close the peer connection? It currently only removes tracks from mediaStream, and stopStreamingVideo() appears unused. Could this leave audio/video transmitting after stopping video or switching modes?

Could you also confirm:

  • Have Flutter Android/iOS builds and streaming stop/reconnect scenarios been tested? The passing CI checks cover the native apps, not controller/flutter/.
  • Could you document the new key.properties signing setup?
  • Do the new app identifiers match the intended store listings?

@harishthakur52

Copy link
Copy Markdown
Contributor Author

With tracks now attached through peerConnection.addTrack(), should stopServer() call stopStreamingVideo() or close the peer connection? It currently only removes tracks from mediaStream, and stopStreamingVideo() appears unused. Could this leave audio/video transmitting after stopping video or switching modes?

Could you also confirm:

  • Have Flutter Android/iOS builds and streaming stop/reconnect scenarios been tested? The passing CI checks cover the native apps, not controller/flutter/.
  • Could you document the new key.properties signing setup?
  • Do the new app identifiers match the intended store listings?

@thias15 Thanks for the review!

  • We’ve added a fix for the audio/video peer connection issue that occurred when switching modes. We’ve also added a CI build for flutter.
  • Signing: the key.properties setup is documented in controller/flutter/README.md.
  • App identifiers: org.openbot.app.controller on Android and [iOS bundle ID] on iOS, matching the store listings.

@thias15

thias15 commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the fixes! Before merging, could you restore the Xcode Run action to Debug and confirm:

  • The Flutter iOS app builds successfully.
  • Streaming stops and reconnects correctly after mode changes, including while Logger or Autopilot uses the camera.

@harishthakur52

Copy link
Copy Markdown
Contributor Author

Tested video streaming and reconnection during diffrent switching in fragments.

@thias15
thias15 merged commit bd3667e into ob-f:master Oct 6, 2026
4 of 5 checks passed
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.

3 participants