Route startup failures through the normal fatal-error flow now that desktop startup no longer rejects systems without a tray. Remove the unused semantic exit code and its generated translations and tests.
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
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>
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>