Use an atomic lock-backed election for primary-instance startup, distinguish live peers from stale endpoints, and bound handoff retries. Keep the application usable when a desktop has no system tray and cover first-launch races, stale recovery, and visible-window behavior.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Create and dispose the DNS resolver with its owning connection manager instead of at module import time. Make cleanup explicit and keep architecture and external-core tests aligned with injected resolver ownership.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Retain asynchronous dialogs only while visible, use receiver-aware weak signal dispatch for transient editors, and release registries on native destruction. Add native and packaged lifetime probes that distinguish live-wrapper growth from unavailable binding diagnostics.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Include only Furious/Data resources in standalone builds so repository guidance and other non-runtime package files are not copied into distributions.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Build and validate architecture-specific Linux, macOS, and Windows artifacts with appimagetool, robust WiX provisioning, Windows 7-compatible native bindings, and explicit runtime architecture checks. Preserve bundle metadata and align dependency constraints with supported release targets.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Ignore the transient 640x480 Qt fallback geometry on macOS and restore the application default instead, while preserving deliberate user-sized windows.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Render the endpoint map from a local, theme-aware style, validate coordinates, and handle optional or failed WebEngine renderers without destabilizing the page. Keep the endpoint tests aligned with the resulting map state contract.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Add opt-in content-aware sizing to AppQComboBox and refresh its geometry after retranslation. Apply it to the routing selector while preserving the semantic selection and avoiding synthetic routing changes.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
Centralize grid placement helpers and use them to keep Xray and Hysteria editor forms compact and consistent. Preserve unknown combo-box values so loading and saving newer protocol options does not silently discard configuration data.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>