feat(mobile): resolve and watch one live guest stream - #227
Merged
Merged
Conversation
Guest Watch starts only after Start watching. JS resolvers use the W11 proxy-aware fetch, then Media3 plays the HTTPS HLS source. Chat stays disconnected copy. Picture in Picture stays unsupported. A missing signed policy enables guest playback at sequence 0. A valid snapshot that omits or expires the capability still fails closed. Does not close #152; physical Android evidence is still required.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 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. Comment |
TheDarkSkyXD
marked this pull request as ready for review
September 14, 2026 03:13
Listing expo-network in app.json plugins makes expo config and export load build/Network.js, which Node 22 cannot type-strip under node_modules. Keep the dependency for autolinking; permissions come from the native module.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Guest Watch for #152. Channel Detail can open Watch when the channel is live. Playback starts only after Start watching. Deep-link
watch/session-previewdoes not auto-start.Behavior
GET /api/v1/channels/{slug}and requireslivestream.is_live.connectivitySession.fetch, so guest proxy applies to token and playlist resolve..m3u8sourceUri. Segment fetches stay on the player HTTP stack in this slice.NATIVE_OPERATION_UNSUPPORTED.sessionId.Compatibility
compat.playback.twitch-gql-ushercompat.playback.kick-v1no-valid-policyenables playback atsequence: 0because this environment cannot re-sign the development manifest.Out of scope
This does not close #152. Physical device proof is still required.
CI
expo-networkfromapps/mobile/app.jsonplugins. The package has noapp.plugin.js; Expo was loadingbuild/Network.js, and Node 22 then failed withERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING. Theexpo-network@57.0.1dependency stays for autolinking.config:androidJSON parses,bundle:androidexports, mobile scaffold + 370 Vitest pass.Verification
npm run --workspace @streamfusion/mobile typechecknpm run --workspace @streamfusion/mobile lintnpm test --workspace @streamfusion/mobile(47 node tests, 370 Vitest, architecture proof)healthy: truescreen:watchand both Watch shell routesExisting watch-screen tests still require an explicit Start watching control and keep chat disconnected.