Skip to content

Comments

bes mtk OTA#1965

Merged
aisraelov merged 55 commits intodevfrom
bes-mtk-ota
Feb 10, 2026
Merged

bes mtk OTA#1965
aisraelov merged 55 commits intodevfrom
bes-mtk-ota

Conversation

@aisraelov
Copy link
Member

No description provided.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

📋 PR Review Helper

📱 Mobile App Build

Ready to test! (commit cc8d996)

📥 Download APK

🕶️ ASG Client Build

Ready to test! (commit cc8d996)

📥 Download ASG APK


🔀 Test Locally

gh pr checkout 1965

@gitguardian
Copy link

gitguardian bot commented Jan 28, 2026

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 28, 2026

Deploying mentra-store-dev with  Cloudflare Pages  Cloudflare Pages

Latest commit: bd2ea95
Status: ✅  Deploy successful!
Preview URL: https://9b54c32b.augmentos-appstore-2.pages.dev
Branch Preview URL: https://bes-mtk-ota.augmentos-appstore-2.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 28, 2026

Deploying dev-augmentos-console with  Cloudflare Pages  Cloudflare Pages

Latest commit: bd2ea95
Status: ✅  Deploy successful!
Preview URL: https://abb7bec1.dev-augmentos-console.pages.dev
Branch Preview URL: https://bes-mtk-ota.dev-augmentos-console.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 28, 2026

Deploying prod-augmentos-account with  Cloudflare Pages  Cloudflare Pages

Latest commit: bd2ea95
Status: ✅  Deploy successful!
Preview URL: https://932bbaac.augmentos-e84.pages.dev
Branch Preview URL: https://bes-mtk-ota.augmentos-e84.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 28, 2026

Deploying mentra-live-ota-site with  Cloudflare Pages  Cloudflare Pages

Latest commit: bd2ea95
Status: ✅  Deploy successful!
Preview URL: https://aeed474a.mentra-live-ota-site.pages.dev
Branch Preview URL: https://bes-mtk-ota.mentra-live-ota-site.pages.dev

View logs

@nic-olo nic-olo changed the title bes mtk ota plan doc bes mtk OTA Jan 30, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 3, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bes-mtk-ota

Comment @coderabbitai help to get the list of available commands and usage tips.

@aisraelov
Copy link
Member Author

@codex review

Copy link

@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: 7f13e4496e

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

Comment on lines 541 to 544
console.log(`📱 OTA showing alert - WiFi connected: ${glassesWifiConnected}, updates: ${updateList}`)

if (glassesWifiConnected) {
// WiFi connected - go to OTA check screen to confirm and start update

Choose a reason for hiding this comment

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

P2 Badge Re-read Wi‑Fi state before choosing alert

The decision to show the “install now” vs “connect Wi‑Fi” alert uses glassesWifiConnected captured when the effect was scheduled. Because the OTA check is delayed and async, Wi‑Fi may connect/disconnect before this branch executes. If Wi‑Fi becomes connected after the effect starts, the stale false path caches pendingUpdate and shows the “connect Wi‑Fi” alert even though Wi‑Fi is already connected (and the pending-update effect won’t re-run). Use the latest store value inside the callback (e.g., useGlassesStore.getState().wifiConnected) to avoid stale decisions.

Useful? React with 👍 / 👎.

Previously, `connected` was set to `true` as soon as BLE GATT
characteristics were discovered, before the K900 SOC finished booting.
This caused the ConnectionOverlay to disappear prematurely while the
glasses were still in the readiness check loop (ready=0).

Now `connected` is driven by `fullyBooted` in GlassesStore on both
Android and iOS. The SOC must report ready=1 before the glasses are
considered connected. This ensures the ConnectionOverlay stays visible
during the entire SOC boot sequence.

Co-authored-by: Cursor <cursoragent@cursor.com>
@nic-olo nic-olo marked this pull request as ready for review February 7, 2026 04:10
@nic-olo nic-olo requested a review from a team as a code owner February 7, 2026 04:10
aisraelov and others added 16 commits February 7, 2026 10:31
…nSmartGlasses/DiscussPlusPlus into bes-mtk-ota
The build number detection was incorrectly triggering during BES/MTK
firmware updates, causing the UI to flicker between "installing" and
"completed" states. Build number only changes for ASG client APK
updates, not for MTK or BES firmware updates.

Co-Authored-By: Claude <noreply@anthropic.com>
- Show "Update 1/3, 2/3, 3/3" instead of component names (Software/Firmware/Bluetooth)
- Add "transitioning" state with "Starting update X/N..." message between updates
- Only show completion screen for the final update in the sequence
- Fix MTK→BES flicker by removing lastCompletedUpdateRef and using proper update tracking
- Track update sequence from otaUpdateAvailable.updates on mount
- Track completed updates in state to prevent re-triggering
- Increase BES reboot wait time from 5s to 15s for Continue button
- Stricter build number detection: only for APK updates with proper guard

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The check-for-updates screen was storing available updates in local
component state but not in the global store. When navigating to the
progress screen, otaUpdateAvailable was null, so the update sequence
(for "Update 1/3, 2/3, 3/3" display) was never captured.

Now setOtaUpdateAvailable is called with the full update info before
showing the update_available state, ensuring the progress screen can
read the sequence on mount.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Restarting state: Change message from "Your glasses will power off..."
  to "Your glasses are restarting to apply the update." (more accurate
  since by this point the glasses have already rebooted)
- Use plural "Updates Installed" / "Updates Complete" when multiple
  updates were in the sequence
- Remove stale "Update X/N Installed" from restarting state since this
  is the final completion screen

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ility

- Create GlobalConnectionOverlay that renders once at app root level
- Only show overlay on specific routes that require glasses connection
- Add useConnectionOverlayConfig zustand store for custom title/message
- Remove per-screen ConnectionOverlay from wifi/*, ota/*, OnboardingGuide
- Fix check-for-updates.tsx to store update sequence in zustand for progress
- Update progress.tsx completion messages with proper pluralization
- Fixes issue with multiple overlays appearing during screen transitions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix WiFi routing bug: after OTA from home alert, properly navigate to
  OTA check-for-updates instead of staying on WiFi success screen
- Add OTA revalidation: re-check firmware versions when they change
  mid-update flow to remove no-longer-needed updates from queue
- Add LoadingCoverVideo component to play video during OTA updates to
  reduce perceived wait time (uses dummy URL for testing)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Initial pairing flow: use pushPrevious() to go to onboarding underneath
- Home OTA alert flow: use clearHistoryAndGoHome() to return home

Previously always used goBack() which left WiFi screens in the stack.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use React Native Modal component instead of absolute positioning
so the video actually appears on top of everything.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace custom X icon with proper secondary Button at bottom,
matching the app's standard button style.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The statusChange event passes an object with status property,
not the status string directly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Debug overlay and skip button now only show when super mode
is enabled instead of only in development builds.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@aisraelov aisraelov merged commit 39156ae into dev Feb 10, 2026
10 of 11 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