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.
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
[
|
||||
{
|
||||
"eventType": "participantJoined",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "participantNameChanged",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"oldName": "Test User",
|
||||
"name": "Test User B"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "participantMetadataChanged",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B",
|
||||
"oldMetadata": "",
|
||||
"metadata": "{\"status\":\"presenting\"}",
|
||||
"attributes": {
|
||||
"role": "speaker"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "participantAttributesChanged",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B",
|
||||
"attributes": {
|
||||
"role": "speaker",
|
||||
"hand": "raised"
|
||||
},
|
||||
"changedAttributes": {
|
||||
"hand": "raised"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackPublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteVideo01",
|
||||
"trackName": "remote-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false,
|
||||
"subscribed": false,
|
||||
"subscriptionStatus": "desired"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackSubscribed",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteVideo01",
|
||||
"trackName": "remote-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false,
|
||||
"subscribed": true,
|
||||
"subscriptionStatus": "subscribed"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackPublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteAudio01",
|
||||
"trackName": "remote-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": false,
|
||||
"subscribed": false,
|
||||
"subscriptionStatus": "desired"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackSubscribed",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteAudio01",
|
||||
"trackName": "remote-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": false,
|
||||
"subscribed": true,
|
||||
"subscriptionStatus": "subscribed"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackMuted",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteAudio01",
|
||||
"trackName": "remote-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackUnmuted",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteAudio01",
|
||||
"trackName": "remote-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackSubscriptionFailed",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteCamera01",
|
||||
"trackName": "remote-camera",
|
||||
"kind": "video",
|
||||
"source": "camera",
|
||||
"muted": false,
|
||||
"subscribed": false,
|
||||
"subscriptionStatus": "desired",
|
||||
"error": "could not find published track with sid: \"TR_remoteCamera01\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackSubscriptionFailed",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_missingPublication01",
|
||||
"error": "could not find published track with sid: \"TR_missingPublication01\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "e2eeState",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B",
|
||||
"state": "ok"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "activeSpeakers",
|
||||
"payload": {
|
||||
"sids": ["PA_remoteB12345"],
|
||||
"participants": [
|
||||
{
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "connectionQuality",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B",
|
||||
"quality": "excellent"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackUnsubscribed",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteVideo01",
|
||||
"trackName": "remote-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false,
|
||||
"subscribed": false,
|
||||
"subscriptionStatus": "unsubscribed"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "trackUnpublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"participantName": "Test User B",
|
||||
"trackSid": "TR_remoteVideo01",
|
||||
"trackName": "remote-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false,
|
||||
"subscribed": false,
|
||||
"subscriptionStatus": "unsubscribed"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "participantLeft",
|
||||
"payload": {
|
||||
"sid": "PA_remoteB12345",
|
||||
"identity": "1428486264293441600",
|
||||
"name": "Test User B"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "disconnected",
|
||||
"payload": {
|
||||
"reason": "clientinitiated"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,134 @@
|
||||
[
|
||||
{
|
||||
"eventType": "connected",
|
||||
"payload": {}
|
||||
},
|
||||
{
|
||||
"eventType": "connectionState",
|
||||
"payload": {
|
||||
"state": "connected"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "Reconnecting",
|
||||
"payload": {}
|
||||
},
|
||||
{
|
||||
"eventType": "Reconnected",
|
||||
"payload": {}
|
||||
},
|
||||
{
|
||||
"eventType": "localTrackPublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"participantName": "Test User A",
|
||||
"trackSid": "TR_VShJ9y2A49ai6i",
|
||||
"trackName": "local-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "localTrackPublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"participantName": "Test User A",
|
||||
"trackSid": "TR_AMannbg6PLtcVz",
|
||||
"trackName": "local-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "localTrackUnpublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"participantName": "Test User A",
|
||||
"trackSid": "TR_AMannbg6PLtcVz",
|
||||
"trackName": "local-microphone",
|
||||
"kind": "audio",
|
||||
"source": "microphone",
|
||||
"muted": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "localTrackRepublished",
|
||||
"payload": {
|
||||
"participantSid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"participantName": "Test User A",
|
||||
"previousTrackSid": "TR_VShJ9y2A49ai6i",
|
||||
"trackSid": "TR_VSsTf93n5GqJrK",
|
||||
"trackName": "local-screen",
|
||||
"kind": "video",
|
||||
"source": "screen_share",
|
||||
"muted": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "e2eeState",
|
||||
"payload": {
|
||||
"sid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"name": "Test User A",
|
||||
"state": "ok"
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "activeSpeakers",
|
||||
"payload": {
|
||||
"sids": ["PA_77jesWWtSMge"],
|
||||
"participants": [
|
||||
{
|
||||
"sid": "PA_77jesWWtSMge",
|
||||
"identity": "1428486264293441599",
|
||||
"name": "Test User A"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "stats",
|
||||
"payload": {
|
||||
"rttMs": 24.5,
|
||||
"outbound": [
|
||||
{
|
||||
"trackSid": "TR_VShJ9y2A49ai6i",
|
||||
"source": "screen_share",
|
||||
"kind": "video",
|
||||
"bitrateKbps": 2500,
|
||||
"packetsLost": 0,
|
||||
"fps": 60
|
||||
},
|
||||
{
|
||||
"trackSid": "TR_AMannbg6PLtcVz",
|
||||
"source": "microphone",
|
||||
"kind": "audio",
|
||||
"bitrateKbps": 48,
|
||||
"packetsLost": 1
|
||||
}
|
||||
],
|
||||
"inbound": [
|
||||
{
|
||||
"participantSid": "PA_Subscriber",
|
||||
"trackSid": "TR_RemoteVideo",
|
||||
"kind": "video",
|
||||
"bitrateKbps": 1200,
|
||||
"packetsLost": 0,
|
||||
"jitterMs": 3.5
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"eventType": "audioPlaybackUnavailable",
|
||||
"payload": {
|
||||
"message": "platform audio unavailable: test fixture"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"bridgeVersion": 14,
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"trackSid": "TR_remoteVideo01",
|
||||
"trackName": "screen",
|
||||
"source": "screen_share",
|
||||
"width": 1920,
|
||||
"height": 1080,
|
||||
"timestampUs": 123456789
|
||||
},
|
||||
{
|
||||
"bridgeVersion": 14,
|
||||
"participantSid": "PA_77jesWWtSMge",
|
||||
"trackSid": "TR_VShJ9y2A49ai6i",
|
||||
"trackName": "camera",
|
||||
"source": "camera",
|
||||
"width": 1280,
|
||||
"height": 720,
|
||||
"timestampUs": 0
|
||||
},
|
||||
{
|
||||
"bridgeVersion": 14,
|
||||
"participantSid": "PA_remoteB12345",
|
||||
"trackSid": "TR_remoteVideo02",
|
||||
"trackName": "screen",
|
||||
"source": "screen_share",
|
||||
"width": 640,
|
||||
"height": 360,
|
||||
"timestampUs": 4294967296
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user