Adding INMO Go 2 Support to APP and asg_client. Also adding auto IPA generation via actions for sidestore loading for IOS#3193
Conversation
This file defines the hardware capabilities for the INMO Go2 smart glasses, including specifications for the camera, display, microphone, speaker, IMU, buttons, light, power, and WiFi.
Added steps to select Xcode version and show versions.
Removed Xcode and Swift version display step and added steps to list available schemes, targets, and find built .app. Adjusted error handling and output messages for better clarity.
Removed unnecessary code block formatting from the workflow.
Updated the iOS build workflow to use Bun for dependency management and adjusted various steps for clarity and efficiency.
Updated Xcode version from 16.4 to 16.2 and modified pod deployment targets to 13.0. Enhanced build log output and adjusted artifact upload settings.
Added a method to send teleprompter updates with lines and highlight index.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fb056b1. Configure here.
| level, | ||
| 2.0f, // Force keyframe every 2 seconds | ||
| captureSize | ||
| 2.0f |
There was a problem hiding this comment.
Preview surface encode size mismatch
High Severity
After migrating to StreamPack 2.6.1, VideoConfig no longer carries a separate capture size, but createSurface still sizes the camera preview from getCaptureSurfaceWidth/Height. When preflight stamps a native capture resolution different from the encode resolution, the encoder and preview buffer can disagree and RTMP/SRT may fail or produce wrong video.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit fb056b1. Configure here.
| if (!isConnected() && !isAdvertising) { | ||
| startAdvertising(); | ||
| } | ||
| }, 500); |
There was a problem hiding this comment.
Duplicate BLE advertising restarts
Medium Severity
disconnect() schedules startAdvertising() after 500ms, while onConnectionStateChange for DISCONNECTED schedules another startAdvertising() after 1000ms without checking isAdvertising. A single disconnect can invoke advertising twice and trigger BLE stack errors or unstable reconnect behavior on INMO Go2.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit fb056b1. Configure here.
|
Hey this is awesome but if we're going to merge this will need some changes. At minimum:
|


Adding INMO Go 2 Support to APP and asg_client. Also adding auto IPA generation via actions for sidestore loading for IOS.
INMO GO2 glasses also require custom firmware which can be provided upon request. This has been provided by INMO manufacturer directly.
Note
Medium Risk
Swapping StreamPack and removing separate capture resolution can affect RTMP/SRT behavior on existing hardware; new BLE pairing path and CI
node_modulessed patches add integration and build fragility.Overview
Adds INMO Go2 as a first-class glasses target in
asg_client: device detection routes to newInmoGo2BluetoothManager(BLE peripheral advertising INMO GO2, GATT4860/4861/4862, JSONphone_ready/glasses_ready) andInmoGo2HardwareManager(torch recording LED, battery, MediaPlayer audio).Streaming build change: local StreamPackLite Gradle modules are replaced with published
io.github.thibaultbee:streampack2.6.1 (RTMP/SRT extensions). RTMP/SRT services drop the Lite-onlyVideoConfigcaptureSizeargument so encode resolution drives capture.CI: new
ios-unsigned-ipa.ymlondevbuilds an unsigned Release archive (Expo prebuild,node_modules/Podfile patches for newer Xcode/Swift), packages Mentra.ipa for SideStore, and uploads artifacts.mentraos-manager-ios-build.ymlno longer runs on PRs (push/workflow_dispatchonly).Minor: debug launcher version label cleared;
AndroidManifestbak.xmlbackup added; mostly formatting inSrtStreamingService.Reviewed by Cursor Bugbot for commit fb056b1. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by cubic
Adds native INMO Go2 support across Android (ASG client) and iOS, plus a GitHub Actions workflow to auto-build an unsigned IPA for SideStore. Enables pairing, display overlays, and teleprompter control for Go2, and centralizes Go2 capabilities in shared types.
New Features
InmoGo2SGC, pairing flow updates, andsendTeleprompterUpdateAPI in@mentra/bluetooth-sdk.INMO_GO2device type.Migration
io.github.thibaultbee:streampack:2.6.1and extensions). Remove localStreamPackLitemodules and do a clean build.Written for commit fb056b1. Summary will update on new commits.