Files
brenden 682afacd30 Add native self-hosted instance connection to fluxer_desktop
Trimmed monorepo checkout (fluxer_desktop + packages/voice_engine_v2 +
tools/ci) with a "Connect to a Different Server" menu item and popout
that lets the desktop app switch to any self-hosted Fluxer instance,
plus fixes for well-known discovery on single-domain self-hosted
deployments and a false-positive ERR_ABORTED on same-origin client
redirects during the switch. Defaults to chat.fluxr.chat and uses an
isolated userData directory from the official build.
2026-07-01 18:22:43 -04:00

124 lines
4.7 KiB
JSON

[
{
"name": "classifies all explicit local and remote publication ids",
"input": {
"tracks": [
{"direction": "send", "kind": "video", "trackIdentifier": "local-camera", "bitrateKbps": 500},
{"direction": "send", "kind": "audio", "trackIdentifier": "local-mic", "bitrateKbps": 48},
{"direction": "send", "kind": "video", "trackIdentifier": "local-screen", "bitrateKbps": 1200},
{"direction": "send", "kind": "audio", "trackIdentifier": "local-screen-audio", "bitrateKbps": 96},
{"direction": "recv", "kind": "audio", "trackIdentifier": "remote-mic", "bitrateKbps": 64},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-camera", "bitrateKbps": 900},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-screen", "bitrateKbps": 1800},
{"direction": "recv", "kind": "audio", "trackIdentifier": "remote-screen-audio", "bitrateKbps": 128}
],
"publications": {
"localCameraTrackId": "local-camera",
"localMicrophoneTrackId": "local-mic",
"localScreenShareTrackId": "local-screen",
"localScreenShareAudioTrackId": "local-screen-audio",
"remoteMicrophoneTrackIds": ["remote-mic"],
"remoteScreenShareTrackIds": ["remote-screen"],
"remoteScreenShareAudioTrackIds": ["remote-screen-audio"]
}
},
"expected": {
"localVideoTrackIndex": 0,
"localAudioTrackIndex": 1,
"localScreenShareTrackIndex": 2,
"localScreenShareAudioTrackIndex": 3,
"remoteVideoTrackIndex": 5,
"remoteAudioTrackIndex": 4,
"remoteScreenShareTrackIndex": 6,
"remoteScreenShareAudioTrackIndex": 7
}
},
{
"name": "falls back to rid screen-share and non-rid camera when local ids are missing",
"input": {
"tracks": [
{"direction": "send", "kind": "video", "trackIdentifier": "camera-fallback", "bitrateKbps": 700},
{"direction": "send", "kind": "video", "rid": "h", "trackIdentifier": "screen-fallback", "bitrateKbps": 1600},
{"direction": "send", "kind": "audio", "trackIdentifier": "local-mic", "bitrateKbps": 48}
],
"publications": {
"localCameraTrackId": null,
"localMicrophoneTrackId": null,
"localScreenShareTrackId": null,
"localScreenShareAudioTrackId": null,
"remoteMicrophoneTrackIds": [],
"remoteScreenShareTrackIds": [],
"remoteScreenShareAudioTrackIds": []
}
},
"expected": {
"localVideoTrackIndex": 0,
"localAudioTrackIndex": 2,
"localScreenShareTrackIndex": 1,
"localScreenShareAudioTrackIndex": null,
"remoteVideoTrackIndex": null,
"remoteAudioTrackIndex": null,
"remoteScreenShareTrackIndex": null,
"remoteScreenShareAudioTrackIndex": null
}
},
{
"name": "does not classify remote screen-share audio as remote microphone",
"input": {
"tracks": [
{"direction": "recv", "kind": "audio", "trackIdentifier": "remote-screen-audio", "bitrateKbps": 4},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-screen", "bitrateKbps": 1800}
],
"publications": {
"localCameraTrackId": null,
"localMicrophoneTrackId": null,
"localScreenShareTrackId": null,
"localScreenShareAudioTrackId": null,
"remoteMicrophoneTrackIds": [],
"remoteScreenShareTrackIds": ["remote-screen"],
"remoteScreenShareAudioTrackIds": ["remote-screen-audio"]
}
},
"expected": {
"localVideoTrackIndex": null,
"localAudioTrackIndex": null,
"localScreenShareTrackIndex": null,
"localScreenShareAudioTrackIndex": null,
"remoteVideoTrackIndex": null,
"remoteAudioTrackIndex": null,
"remoteScreenShareTrackIndex": 1,
"remoteScreenShareAudioTrackIndex": 0
}
},
{
"name": "chooses active remote screen-share and camera candidates over silent rows",
"input": {
"tracks": [
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-camera-silent", "bitrateKbps": 0},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-camera-live", "bitrateKbps": 900},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-screen-silent", "bitrateKbps": 0},
{"direction": "recv", "kind": "video", "trackIdentifier": "remote-screen-live", "bitrateKbps": 1600}
],
"publications": {
"localCameraTrackId": null,
"localMicrophoneTrackId": null,
"localScreenShareTrackId": null,
"localScreenShareAudioTrackId": null,
"remoteMicrophoneTrackIds": [],
"remoteScreenShareTrackIds": ["remote-screen-silent", "remote-screen-live"],
"remoteScreenShareAudioTrackIds": []
}
},
"expected": {
"localVideoTrackIndex": null,
"localAudioTrackIndex": null,
"localScreenShareTrackIndex": null,
"localScreenShareAudioTrackIndex": null,
"remoteVideoTrackIndex": 1,
"remoteAudioTrackIndex": null,
"remoteScreenShareTrackIndex": 3,
"remoteScreenShareAudioTrackIndex": null
}
}
]