Loren Eteval
e1e336af49
fix: confirm exit when system tray is unavailable
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-28 07:33:15 +08:00
Loren Eteval
a294619c61
Disable TUN mode in Flatpak settings
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-27 22:01:01 +08:00
Loren Eteval
dd185d3a20
Harden Qt callbacks and subscription diagnostics
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-27 16:43:01 +08:00
Loren Eteval
16637ec545
Preserve runtime ownership after start failure
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-27 16:40:04 +08:00
Loren Eteval
74cbd6f4f9
docs: evolve agent guidance hierarchy
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-27 15:34:37 +08:00
Loren Eteval
1e6c77a4bf
Use dynamic translation for log page labels
2026-08-27 14:58:39 +08:00
Loren Eteval
e0098f55d0
Refactor incremental log delivery and rendering
2026-08-27 14:58:39 +08:00
Loren Eteval
fbd28c48d4
Implement generation-based log storage
2026-08-27 14:58:38 +08:00
Loren Eteval
89b18fd01e
Fix persistence of unshown window geometry
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-26 17:00:27 +08:00
Loren Eteval
ffebf6e185
Refine external core editor guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-26 10:14:20 +08:00
Loren Eteval
562e590b59
Refine Xray routing rule editor
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-26 07:14:34 +08:00
Loren Eteval
d87a69bcb0
Refine External Core editor layout
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-25 19:56:51 +08:00
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
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
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
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
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
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
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
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
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
c47397a0ce
Test backend editor compatibility
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 12:21:30 +08:00
Loren Eteval
698c279927
Add UI support for the latest Hysteria2 core
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 11:02:28 +08:00
Loren Eteval
e860c4d7a3
Update protocol editor tests and guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 21:48:46 +08:00