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,97 @@
|
||||
{
|
||||
"name": "gateway_connection",
|
||||
"description": "Join writes gateway voice state, observes gateway state, then connects the media session.",
|
||||
"steps": [
|
||||
{
|
||||
"name": "request gateway join",
|
||||
"event": {
|
||||
"type": "gateway.voiceStateWriteRequested",
|
||||
"options": {
|
||||
"guildId": "guild-1",
|
||||
"channelId": "channel-1",
|
||||
"selfMute": false,
|
||||
"selfDeaf": false
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"type": "gateway.voiceState.write",
|
||||
"operationId": 1,
|
||||
"options": {
|
||||
"guildId": "guild-1",
|
||||
"channelId": "channel-1",
|
||||
"selfMute": false,
|
||||
"selfDeaf": false
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "gateway join write succeeds",
|
||||
"event": {
|
||||
"type": "gateway.voiceStateWriteSucceeded",
|
||||
"operationId": 1
|
||||
},
|
||||
"commands": []
|
||||
},
|
||||
{
|
||||
"name": "gateway voice state arrives",
|
||||
"event": {
|
||||
"type": "gateway.voiceStateUpdated",
|
||||
"voiceState": {
|
||||
"guildId": "guild-1",
|
||||
"channelId": "channel-1",
|
||||
"userId": "user-1",
|
||||
"sessionId": "session-1",
|
||||
"selfMute": false,
|
||||
"selfDeaf": false,
|
||||
"selfVideo": false,
|
||||
"selfStream": false,
|
||||
"suppress": false,
|
||||
"requestToSpeakTimestamp": null
|
||||
}
|
||||
},
|
||||
"commands": []
|
||||
},
|
||||
{
|
||||
"name": "request media connection",
|
||||
"event": {
|
||||
"type": "connection.connectRequested",
|
||||
"options": {
|
||||
"url": "wss://voice-one.example.test",
|
||||
"token": "token-1"
|
||||
}
|
||||
},
|
||||
"commands": [
|
||||
{
|
||||
"type": "connection.connect",
|
||||
"operationId": 2,
|
||||
"options": {
|
||||
"url": "wss://voice-one.example.test",
|
||||
"token": "token-1"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "media connection succeeds",
|
||||
"event": {
|
||||
"type": "connection.connectSucceeded",
|
||||
"operationId": 2
|
||||
},
|
||||
"commands": []
|
||||
}
|
||||
],
|
||||
"expected": {
|
||||
"nextOperationId": 3,
|
||||
"connectionStatus": "connected",
|
||||
"activeUrl": "wss://voice-one.example.test",
|
||||
"desiredUrl": "wss://voice-one.example.test",
|
||||
"gatewayChannelId": "channel-1",
|
||||
"lifecycleTearingDown": false,
|
||||
"operationStatuses": {
|
||||
"1": "succeeded",
|
||||
"2": "succeeded"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user