Skip to content

Fix iOS WebRTC suspension with CSS animation and MediaStream#293

Merged
capy-ai[bot] merged 1 commit intokief5555/iosfrom
capy/fix-ios-stream-suspension
Apr 13, 2026
Merged

Fix iOS WebRTC suspension with CSS animation and MediaStream#293
capy-ai[bot] merged 1 commit intokief5555/iosfrom
capy/fix-ios-stream-suspension

Conversation

@Kief5555
Copy link
Copy Markdown
Collaborator

@Kief5555 Kief5555 commented Apr 13, 2026

This PR fixes streaming failures caused by iOS suspending the WebContent process during WebRTC negotiation. The previous WebGL-based GPU keep-alive triggered WebProcess NearSuspended Assertion failures due to missing entitlements. The fix uses CSS animation for GPU process liveness and an empty MediaStream to keep WebContent active.

StreamerView.swift:

  • CSS: Add @keyframes _gpuKA animation rule for GPU compositor layer keep-alive
  • CSS: Add <div id="_gpuKA"> with will-change:transform and animation in <body> after <video>
  • JavaScript: Remove WebGL IIFE keep-alive block; replace with video.srcObject = new MediaStream(); video.play() before connect() to prevent WebContent suspension

Open in Capy OPEN-15 · Sonnet 4.6

@Kief5555 Kief5555 added the capy Generated by capy.ai label Apr 13, 2026 — with Capy AI
@capy-ai capy-ai Bot merged commit 411b797 into kief5555/ios Apr 13, 2026
@capy-ai capy-ai Bot deleted the capy/fix-ios-stream-suspension branch April 13, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capy Generated by capy.ai

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant