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:
2026-07-01 18:22:43 -04:00
commit 682afacd30
1763 changed files with 613720 additions and 0 deletions
@@ -0,0 +1,331 @@
{
"status": "pass",
"startedAt": "2026-06-09T04:09:48.418Z",
"endedAt": "2026-06-09T04:09:50.279Z",
"platform": "darwin",
"arch": "arm64",
"config": {
"url": "ws://localhost:7880",
"serverApiUrl": "http://localhost:7880",
"apiKey": "devkey",
"room": "fluxer-webrtc-harness-39291-5ee61a43-3009-4112-bca3-ae4b4667a371",
"externalTokens": false,
"publisherIdentity": "fluxer-native-publisher-39291",
"secondaryPublisherIdentity": "fluxer-native-publisher-2-39291",
"subscriberIdentity": "fluxer-native-subscriber-39291",
"required": false,
"strict": false,
"timeoutMs": 30000,
"connectTimeoutMs": 30000,
"disconnectTimeoutMs": 10000,
"probeTimeoutMs": 1500,
"durationMs": 0,
"width": 320,
"height": 180,
"expectedWidth": 320,
"expectedHeight": 180,
"fps": 15,
"minFpsRatio": 0,
"maxFrameGapMs": 0,
"maxAudioFrameGapMs": 0,
"maxAvDriftMs": 0,
"maxPacketLoss": null,
"requireStableResolution": false,
"videoPattern": "gradient",
"videoInput": "bgra",
"subscriberVideoQuality": null,
"screenCodecs": ["vp8"],
"expectedScreenCodecs": ["vp8"],
"codec": "vp8",
"expectedScreenCodec": "video/VP8",
"secondaryPublisher": false,
"secondaryPublisherCodec": "vp8",
"secondaryPublisherCodecExplicit": false,
"expectedSecondaryPublisherCodec": "video/VP8",
"expectedSecondaryPublisherCodecExplicit": false,
"screenSimulcast": true,
"secondaryPublisherScreenSimulcast": true,
"adaptiveSend": true,
"minVideoFps": 15,
"minResolutionScale": 0.5,
"maxAudioBufferMs": 750,
"secondaryPublisherMicrophone": true,
"secondaryPublisherScreenAudio": false,
"maxBitrateBps": 400000,
"sampleRate": 48000,
"channels": 1,
"audioChunkMs": 20,
"microphone": true,
"screenAudio": false,
"dataPacket": false,
"subscriptionCycle": false,
"validateServerPublishing": false,
"camera": false,
"cameraDeviceId": null,
"expectedCameraCodec": null,
"expectedHardwareEncoder": null,
"reportPath": "/Users/hampus/Development/fluxer/fluxer_desktop/native-media-reports/2026-06-09T0407-codex-macos-smoke/livekit-harness.json",
"verbose": false,
"scenarioName": "codec-vp8",
"apiSecret": "<redacted>",
"e2eeKey": null,
"publisherToken": null,
"secondaryPublisherToken": null,
"subscriberToken": null
},
"checks": [
{
"name": "publisher connected",
"pass": true
},
{
"name": "subscriber connected",
"pass": true
},
{
"name": "publisher local screenshare publication",
"pass": true
},
{
"name": "subscriber remote screenshare subscription",
"pass": true
},
{
"name": "subscriber inbound video frames >= 3",
"pass": true
},
{
"name": "subscriber video frame callback",
"pass": true
},
{
"name": "publisher outbound screenshare stats",
"pass": true
},
{
"name": "subscriber inbound video stats",
"pass": true
},
{
"name": "subscriber inbound video stats count >= 1",
"pass": true
},
{
"name": "subscriber video resolution 320x180",
"pass": true
},
{
"name": "subscriber aggregate inbound audio frames >= 3",
"pass": true
},
{
"name": "subscriber inbound audio stats count >= 1",
"pass": true
},
{
"name": "publisher local microphone publication",
"pass": true
},
{
"name": "subscriber remote microphone subscription",
"pass": true
},
{
"name": "subscriber inbound audio frames >= 3",
"pass": true
},
{
"name": "publisher outbound microphone stats",
"pass": true
},
{
"name": "subscriber inbound audio stats",
"pass": true
},
{
"name": "publisher outbound screenshare codec video/VP8",
"pass": true
},
{
"name": "subscriber inbound video codec video/VP8",
"pass": true
}
],
"skippedReason": null,
"error": null,
"hardwareEncoder": {
"available": true,
"backend": "videotoolbox",
"compiled": true,
"runtime": true,
"codecs": ["h264", "h265"],
"zeroCopy": false,
"nativeInputs": [],
"detail": "VideoToolbox can create hardware-accelerated compression sessions for h264, h265; supported hardware-codec probe set: h264, h265"
},
"metrics": {
"inboundAudioFrames": 72,
"inboundVideoFrames": 5,
"strictAudioFrames": 0,
"strictVideoFrames": 0,
"videoCallbacks": 5,
"videoBytes": 432000,
"receivedFps": 0,
"requiredFps": null,
"maxVideoFrameGapMs": 0,
"maxAudioFrameGapMs": 0,
"maxVideoFrameGapOverallMs": 132,
"maxAudioFrameGapOverallMs": 101,
"avDriftMs": 2,
"maxObservedPacketLoss": 0,
"maxObservedPacketLossDelta": 0,
"videoResolutionCounts": {},
"videoResolutionMismatchCount": 0,
"droppedVideoFrameCallbacks": 0,
"publisherVideoPump": {
"input": "bgra",
"pattern": "gradient",
"targetFps": 15,
"startedAtMs": 1780978189023,
"stoppedAtMs": null,
"framesPushed": 0,
"framesRejected": 0,
"errors": 0,
"maxPushGapMs": 0,
"lastPushAtMs": null,
"elapsedMs": 1264,
"producedFps": 0
},
"secondaryPublisherVideoPump": null,
"serverPublishing": {
"fetchedAtMs": null,
"error": null,
"participants": []
},
"lastVideoMeta": {
"participantSid": "PA_tmqNx963FdVV",
"trackSid": "TR_VS7wQpyDuhX3NX",
"width": 320,
"height": 180,
"timestampUs": 524374518000
},
"publisherStats": {
"rttMs": 1,
"outbound": [
{
"trackSid": "TR_VS7wQpyDuhX3NX",
"source": "screen_share",
"kind": "video",
"bitrateKbps": 0,
"packetsLost": 0,
"fps": 10,
"width": 320,
"height": 180,
"sourceWidth": 320,
"sourceHeight": 180,
"targetBitrateKbps": 400,
"configuredFps": 15,
"targetFps": 15,
"effectiveFps": 0,
"framesProduced": 0,
"framesAccepted": 0,
"framesDropped": 0,
"framesCoalesced": 0,
"framesCaptured": 0,
"captureFailures": 0,
"maxQueueAgeMs": 0,
"maxPushLatencyMs": 0,
"adaptiveSendTier": "full",
"adaptiveSendReason": "stable",
"codec": "video/VP8"
},
{
"trackSid": "TR_AMq6BwJ6fu5yXx",
"source": "microphone",
"kind": "audio",
"bitrateKbps": 0,
"packetsLost": 0,
"audioLevel": 0.305,
"codec": "audio/opus"
}
],
"inbound": [],
"send": {
"outgoingVideoQueueDepth": 0,
"outgoingVideoQueueCapacity": 8,
"outgoingVideoMaxQueueDepth": 0,
"outgoingVideoFramesProduced": 0,
"outgoingVideoFramesAccepted": 0,
"outgoingVideoFramesDropped": 0,
"outgoingVideoFramesCoalesced": 0,
"outgoingVideoFramesCaptured": 0,
"outgoingVideoCaptureFailures": 0,
"outgoingVideoEffectiveFps": 0,
"outgoingVideoTargetFps": 15,
"outgoingVideoPacingTargetFps": 15,
"outgoingVideoMaxQueueAgeMs": 0,
"outgoingVideoMaxPushLatencyMs": 0,
"outgoingVideoPacingMode": "source",
"outgoingVideoBusActive": false,
"outgoingAudioBufferTargetMs": 200,
"outgoingAudioBufferMaxMs": 750,
"outgoingAudioUnderruns": 0,
"outgoingAudioRebuffers": 0,
"outgoingAudioMaxFrameGapMs": 23,
"adaptiveSendTier": "full",
"adaptiveSendReason": "stable"
}
},
"secondaryPublisherStats": null,
"subscriberStats": {
"rttMs": 2,
"outbound": [],
"inbound": [
{
"participantSid": "PA_tmqNx963FdVV",
"trackSid": "TR_AMq6BwJ6fu5yXx",
"kind": "audio",
"bitrateKbps": 0,
"packetsLost": 0,
"jitterMs": 0,
"audioLevel": 0.307,
"codec": "audio/opus"
},
{
"participantSid": "PA_tmqNx963FdVV",
"trackSid": "TR_VS7wQpyDuhX3NX",
"kind": "video",
"bitrateKbps": 0,
"packetsLost": 0,
"jitterMs": 0,
"codec": "video/VP8"
}
],
"send": {
"outgoingVideoQueueDepth": 0,
"outgoingVideoQueueCapacity": 0,
"outgoingVideoMaxQueueDepth": 0,
"outgoingVideoFramesProduced": 0,
"outgoingVideoFramesAccepted": 0,
"outgoingVideoFramesDropped": 0,
"outgoingVideoFramesCoalesced": 0,
"outgoingVideoFramesCaptured": 0,
"outgoingVideoCaptureFailures": 0,
"outgoingVideoEffectiveFps": 0,
"outgoingVideoTargetFps": 0,
"outgoingVideoPacingTargetFps": 0,
"outgoingVideoMaxQueueAgeMs": 0,
"outgoingVideoMaxPushLatencyMs": 0,
"outgoingVideoPacingMode": "idle",
"outgoingVideoBusActive": false,
"outgoingAudioBufferTargetMs": 200,
"outgoingAudioBufferMaxMs": 750,
"outgoingAudioUnderruns": 0,
"outgoingAudioRebuffers": 0,
"outgoingAudioMaxFrameGapMs": 0,
"adaptiveSendTier": "idle",
"adaptiveSendReason": "notPublishing"
}
}
}
}
File diff suppressed because one or more lines are too long