Skip to content

Fix phone shutdown and recursive push registration - #350

Open
AnkushMalaker wants to merge 13 commits into
devfrom
fix/phone-stop-lifecycle-20260909
Open

Fix phone shutdown and recursive push registration#350
AnkushMalaker wants to merge 13 commits into
devfrom
fix/phone-stop-lifecycle-20260909

Conversation

@AnkushMalaker

Copy link
Copy Markdown
Collaborator

Stopping phone capture could send media after the stop control while waiting for acknowledgement, producing a protocol error after audio was saved. Stop now disables frame sending immediately and stops the native microphone before asking Chronicle to finalize. The iOS push-token listener now passes its supplied native token into Expo token registration, removing the request/listener recursion that repeatedly registered the device.

This branch combines the shipped Build 86 phone changes with the backend WebSocket initialization fix and its TestFlight release gate. It preserves the direct live capture path without reconnect buffering.

Validation: both new reproductions failed before the fixes and pass afterwards. The real streaming hook tests cover a native callback during delayed stop and cleanup after native/backend stop failures; the real socket test waits for stop acknowledgement. The push listener test reproduces native token callbacks generated by token requests. All phone diagnostics/self-test/metadata, push, wearable, theme, TypeScript checks and 44 backend audio release tests pass. iOS compilation and native Swift tests run in the TestFlight workflow. Autolinking passes with an existing duplicate Expo log-box warning.

The historical 19-second stop delay is not independently attributed to the push loop; on-device timing and absence of the post-stop error remain installation acceptance checks.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. 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.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: a75e10f5-aac6-42f7-9d60-00de675734e2

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

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.

1 participant