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.
85 lines
1.7 KiB
JSON
85 lines
1.7 KiB
JSON
{
|
|
"name": "stale_connection",
|
|
"description": "A stale connect completion is rejected after a newer connect operation supersedes it.",
|
|
"steps": [
|
|
{
|
|
"name": "request first connection",
|
|
"event": {
|
|
"type": "connection.connectRequested",
|
|
"options": {
|
|
"url": "wss://voice-one.example.test",
|
|
"token": "token-1"
|
|
}
|
|
},
|
|
"commands": [
|
|
{
|
|
"type": "connection.connect",
|
|
"operationId": 1,
|
|
"options": {
|
|
"url": "wss://voice-one.example.test",
|
|
"token": "token-1"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "request replacement connection",
|
|
"event": {
|
|
"type": "connection.connectRequested",
|
|
"options": {
|
|
"url": "wss://voice-two.example.test",
|
|
"token": "token-2"
|
|
}
|
|
},
|
|
"commands": [
|
|
{
|
|
"type": "connection.connect",
|
|
"operationId": 2,
|
|
"options": {
|
|
"url": "wss://voice-two.example.test",
|
|
"token": "token-2"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "stale first completion arrives",
|
|
"event": {
|
|
"type": "connection.connectSucceeded",
|
|
"operationId": 1
|
|
},
|
|
"commands": []
|
|
},
|
|
{
|
|
"name": "runtime rejects stale first completion",
|
|
"event": {
|
|
"type": "command.staleCompletionRejected",
|
|
"operationId": 1,
|
|
"commandType": "connection.connect",
|
|
"resourceKey": "connection"
|
|
},
|
|
"commands": []
|
|
},
|
|
{
|
|
"name": "replacement completion succeeds",
|
|
"event": {
|
|
"type": "connection.connectSucceeded",
|
|
"operationId": 2
|
|
},
|
|
"commands": []
|
|
}
|
|
],
|
|
"expected": {
|
|
"nextOperationId": 3,
|
|
"connectionStatus": "connected",
|
|
"activeUrl": "wss://voice-two.example.test",
|
|
"desiredUrl": "wss://voice-two.example.test",
|
|
"gatewayChannelId": null,
|
|
"lifecycleTearingDown": false,
|
|
"operationStatuses": {
|
|
"1": "stale",
|
|
"2": "succeeded"
|
|
}
|
|
}
|
|
}
|