Skip to content

Prevent FaceTime join and teardown race conditions - #241

Draft
Xare123 wants to merge 1 commit into
OpenBubbles:rustpushfrom
Xare123:agent/facetime-join-teardown-races
Draft

Prevent FaceTime join and teardown race conditions#241
Xare123 wants to merge 1 commit into
OpenBubbles:rustpushfrom
Xare123:agent/facetime-join-teardown-races

Conversation

@Xare123

@Xare123 Xare123 commented Aug 16, 2026

Copy link
Copy Markdown

Problem

FaceTime session entry could retry or complete after teardown, and the UI could lose a reliable native end-call path during partial WebView/session initialization.

Change

Add an explicit join policy, make join attempts idempotent, cancel stale WebView callbacks, guard activity teardown, and retain a native end-call fallback.

Validation

  • focused join-policy unit test added
  • clean review-scoped diff with no diagnostics or media-probe code
  • local Gradle reached the Flutter build graph but the native test remained blocked by unrelated upstream dependency/generated-code errors

Non-goals and remaining evidence

This draft does not claim that bidirectional audio or video transport is fixed. Incoming/outgoing two-person device testing is still required before marking ready.

@justin025

Copy link
Copy Markdown

Does this PR solve one of the following?

#234
#216

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