refactor: introduce generic video sessions - #53
Draft
chanderlud wants to merge 38 commits into
Draft
Conversation
Open
…eo-sessions # Conflicts: # docs/CONCEPTS.md # rust/telepathy-core/src/internal/core.rs # rust/telepathy-core/src/internal/messages.rs # rust/telepathy-core/src/internal/state.rs
…eneric-video-sessions # Conflicts: # rust/telepathy-core/src/internal/video/platform/desktop_ffmpeg.rs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…eo-sessions Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- cli: inject mock audio host into NativeTelepathy via new with_host constructor, restoring --system-test-audio and drain_audio_frame_indices - core: gate VideoMediaDescriptor::display and VideoCapabilities::formats to desktop platforms, fixing iOS -D warnings dead-code errors - core: send oversized video-control frame concurrently with receive in read_message test, fixing QUIC flow-control deadlock
…tations Cfg-gating the methods orphaned platform imports (unused import errors on iOS). Expecting dead_code keeps items compiled on all targets, self-checks if a platform starts using them, and covers Android/wasm for free.
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.
Summary
Replaces the screenshare-specific lifecycle with a generic, typed video-session contract. Video start/stop now has a single per-peer owner that retains adapter and Iroh worker resources until cancellation, I/O closure, and joins complete, preventing stale work from clearing a newer session.
Desktop FFmpeg behavior and persisted configuration remain compatible, while unsupported targets return typed availability outcomes. Flutter now consumes identity-aware lifecycle events without changing the existing desktop screenshare control or UI states.
Design Decisions
open_uniandaccept_uniare slot-owned workers; teardown reaches idle only after joined cleanup.