Commit Graph
950 Commits
Author SHA1 Message Date
Loren Eteval f37d1501ac Align External Core editor spacing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 15:51:11 +08:00
Loren Eteval 4bc5923960 Harden cleanup rollback
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 15:40:08 +08:00
Loren Eteval 9e33ec63ac Stabilize application lifecycle tests
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 14:46:37 +08:00
Loren Eteval adfb5e1151 Unify asynchronous dialog ownership
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 14:21:36 +08:00
Loren Eteval 471fdbbd98 Refine repository guidance
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 13:52:25 +08:00
Loren Eteval bdc32aaf72 Keep navigation state session-local
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 11:09:02 +08:00
Loren Eteval cf0ed3045e Reorganize general settings actions
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 09:49:55 +08:00
Loren Eteval a8c100a987 Fix subscription auto-update lifecycle
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 09:32:32 +08:00
Loren Eteval e4cb0eca9d Restore fallback main-window geometry
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 09:01:03 +08:00
Loren Eteval 3b78447f72 Harden repository and subscription transactions
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-25 06:49:07 +08:00
Loren Eteval a7bdb398aa Improve binary release compatibility
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-24 20:34:26 +08:00
Loren Eteval 17e135e1b9 Refine proxy endpoint map styling
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-24 19:32:03 +08:00
Loren Eteval 9e0ee08235 Document packaged Qt lifetime verification
Extend the Qt lifetime skill with packaged-build ownership hazards,
native destruction probes, binding-specific diagnostics, and review
guidance for distinguishing real regressions from unavailable protected
counters.

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-24 18:41:41 +08:00
Loren Eteval b15fa6bfe6 Remove obsolete unsupported-platform exit path
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>
2026-08-24 18:41:14 +08:00
Loren Eteval db3587ace7 Harden desktop startup and singleton election
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>
2026-08-24 18:40:52 +08:00
Loren Eteval 1dc0d92c1a Scope DNS resolver to connection lifecycle
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>
2026-08-24 18:40:16 +08:00
Loren Eteval cac765ca81 Fix transient Qt ownership in packaged builds
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>
2026-08-24 18:39:45 +08:00
Loren Eteval feec6e5e91 Limit Nuitka package data to runtime resources
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>
2026-08-24 18:38:48 +08:00
Loren Eteval 9a92045271 Modernize cross-platform release packaging
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>
2026-08-24 18:38:29 +08:00
Loren Eteval 16282505f6 Restore canonical macOS window geometry
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>
2026-08-24 18:38:07 +08:00
Loren Eteval f92c23f127 Stabilize endpoint map rendering
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>
2026-08-24 18:37:47 +08:00
Loren Eteval 5ed9b32737 Tune macOS Hysteria2 bandwidth spacing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 12:25:18 +08:00
Loren Eteval 2f2997f3c9 Disable native Xray and Hysteria2 TUN by default
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 12:12:42 +08:00
Loren Eteval 84a226a7f8 Pin go-win7 to 1.26.7 in the release workflow
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 12:02:52 +08:00
Loren Eteval 45ddb3a725 Bound and adapt core output draining
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 11:26:20 +08:00
Loren Eteval 6750cd0402 Bound long-lived service retention
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 11:26:08 +08:00
Loren Eteval 81e05829d9 Expand test coverage and fix lifecycle contracts
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 08:55:24 +08:00
Loren Eteval 35c4c7c548 Use per-instance once-only geometry preparation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 07:55:05 +08:00
Loren Eteval 8c01932843 Refine application dialog presentation lifecycle
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 07:27:38 +08:00
Loren Eteval 0886118130 Refine top-level window geometry lifecycle
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 23:31:33 +08:00
Loren Eteval 06fe824b27 Tune Hysteria2 advanced-section spacing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:57:36 +08:00
Loren Eteval b89f900758 Fix native runtime lifecycle ordering
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 3c0b3def25 Fix WebEngine profile lifetime ordering
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval d57e920e4d Refine Hysteria2 editor layout
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 1ae88d09e0 Audit application stylesheet state interactions
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 226727cead Reduce macOS Hysteria2 bandwidth spacing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 1b3692ec46 Refactor QR code generation and presentation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 98e2600248 Make combo boxes fit translated content
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 21:28:19 +08:00
Loren Eteval 35e579b686 Make routing selector fit translated content
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>
2026-08-22 21:28:09 +08:00
Loren Eteval 89f7403b47 Refine proxy editor layouts and option handling
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>
2026-08-22 21:28:09 +08:00
Loren Eteval 52dda1971b Pin zxing-cpp below version 3 for Nuitka builds
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 09:04:34 +08:00
Loren Eteval 3c6502e3f5 Refine Hysteria2 editor field layout
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 16:05:33 +08:00
Loren Eteval f8d01633c3 Preserve combo box focus border on hover
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 15:38:48 +08:00
Loren Eteval 8c41c64105 Refactor process plugin registry ownership
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 15:25:39 +08:00
Loren Eteval 02a9851a56 Refine Fluent message box content hierarchy
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 15:13:16 +08:00
Loren Eteval 48b3231081 Rename Xray asset widget to list view
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 13:43:06 +08:00
Loren Eteval cbf759667b Refine repository agent guidance
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 13:26:56 +08:00
Loren Eteval 585c5f75c3 Document backend development guidance
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 12:21:56 +08:00
Loren Eteval c47397a0ce Test backend editor compatibility
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 12:21:30 +08:00
Loren Eteval cc2cc02b98 Improve backend editor compatibility
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 12:20:34 +08:00