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,65 @@
// SPDX-License-Identifier: AGPL-3.0-or-later
use fluxer_encoder_ring::{
CpuMemcpyBackend, CpuSlotHandle, EncoderInputRing, RING_SIZE, TextureFormat,
};
fn fill_noop(_: &mut CpuSlotHandle) {}
#[test]
fn submit_skip_oldest_drops_first_half_when_pushed_twice_capacity() {
let mut ring = EncoderInputRing::new(CpuMemcpyBackend::new());
ring.initialise(64, 64, TextureFormat::Nv12)
.expect("init ring");
let capacity = ring.capacity();
assert_eq!(capacity, RING_SIZE);
assert_eq!(capacity, 8);
let total_pushes: u64 = 2 * capacity as u64;
for _ in 0..total_pushes {
ring.submit_skip_oldest(fill_noop)
.expect("skip-oldest accepts every push");
}
assert_eq!(ring.submitted_count(), total_pushes);
assert_eq!(ring.dropped_count(), capacity as u64);
assert_eq!(ring.free_count(), 0);
let mut observed: Vec<u64> = Vec::with_capacity(capacity);
for _ in 0..capacity {
let ready = ring.poll_next_ready().expect("ready");
observed.push(ready.sequence);
ring.release_completed(ready).expect("release");
}
let expected: Vec<u64> = (capacity as u64 + 1..=total_pushes).collect();
assert_eq!(
observed, expected,
"skip-don't-block kept newest {capacity} frames"
);
assert_eq!(ring.free_count(), capacity);
assert!(ring.poll_next_ready().is_none());
}
#[test]
fn submit_skip_oldest_succeeds_when_room_available() {
let mut ring = EncoderInputRing::new(CpuMemcpyBackend::new());
ring.initialise(64, 64, TextureFormat::Nv12)
.expect("init ring");
for _ in 0..3 {
ring.submit_skip_oldest(fill_noop).expect("submit");
}
assert_eq!(ring.dropped_count(), 0);
assert_eq!(ring.submitted_count(), 3);
assert_eq!(ring.free_count(), ring.capacity() - 3);
}
#[test]
fn submit_skip_oldest_keeps_metrics_consistent() {
let mut ring = EncoderInputRing::new(CpuMemcpyBackend::new());
ring.initialise(64, 64, TextureFormat::Nv12)
.expect("init ring");
for _ in 0..(3 * ring.capacity() as u64) {
ring.submit_skip_oldest(fill_noop).expect("submit");
}
let metrics = ring.metrics();
assert_eq!(metrics.submitted_count, 3 * ring.capacity() as u64);
assert_eq!(metrics.dropped_count, 2 * ring.capacity() as u64);
assert!(metrics.completed_count <= metrics.submitted_count);
}