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

62 lines
2.1 KiB
JSON

{
"name": "audio input selection and hotplug republish microphone when connected",
"events": [
{"type": "connection.connectRequested", "options": {"url": "wss://voice", "token": "token"}},
{"type": "connection.connectSucceeded", "operationId": 1},
{"type": "microphone.publishRequested", "options": {"deviceId": "mic-a"}},
{"type": "microphone.publishSucceeded", "operationId": 2},
{"type": "devices.selectAudioInputRequested", "deviceId": "mic-b"},
{"type": "command.succeeded", "operationId": 3, "commandType": "devices.selectAudioInput"},
{"type": "microphone.publishSucceeded", "operationId": 4},
{
"type": "devices.changed",
"operationId": null,
"reason": "hotplug",
"devices": {
"audioInputs": [
{"deviceId": "mic-b", "label": "Desk mic", "isDefault": false},
{"deviceId": "mic-c", "label": "Headset mic", "isDefault": true}
],
"audioOutputs": [],
"cameras": [],
"selectedAudioInputId": "mic-c",
"selectedAudioOutputId": null,
"selectedCameraId": null
}
},
{"type": "microphone.publishSucceeded", "operationId": 5}
],
"expectedCommands": [
{"type": "connection.connect", "operationId": 1, "options": {"url": "wss://voice", "token": "token"}},
{"type": "microphone.publish", "operationId": 2, "options": {"deviceId": "mic-a"}},
{"type": "devices.selectAudioInput", "operationId": 3, "deviceId": "mic-b"},
{"type": "microphone.publish", "operationId": 4, "options": {"deviceId": "mic-b"}},
{"type": "microphone.publish", "operationId": 5, "options": {"deviceId": "mic-c"}}
],
"checkpoints": [
{
"afterEvent": 5,
"microphoneStatus": "publishing",
"desiredDeviceId": "mic-b",
"selectedAudioInputId": "mic-b"
},
{
"afterEvent": 8,
"microphoneStatus": "publishing",
"desiredDeviceId": "mic-c",
"selectedAudioInputId": "mic-c"
}
],
"expectedSnapshot": {
"nextOperationId": 6,
"connectionStatus": "connected",
"microphoneStatus": "published",
"microphoneEnabled": true,
"localSpeakingOverride": null,
"publishedDeviceId": "mic-c",
"desiredDeviceId": "mic-c",
"selectedAudioInputId": "mic-c",
"lastFailureCode": null
}
}