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
Loren Eteval
ede92d899e
Refine scoped architecture guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 20:14:22 +08:00
Loren Eteval
44744d6da4
Clarify external command timeout ownership
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 20:14:09 +08:00
Loren Eteval
5526da7267
Expand regression test coverage
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:37:50 +08:00
Loren Eteval
d8b788b00e
Add scoped repository guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:35:06 +08:00
Loren Eteval
2d9a03668c
Update test suite guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:34:45 +08:00
Loren Eteval
6f1ab0dc20
Centralize subscription workflows
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 22:02:57 +08:00
Loren Eteval
936a5b3664
Add proxy endpoint information
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 11:02:53 +08:00
Loren Eteval
c9f0c3ed3c
Replace editor checkboxes with Fluent switches
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 21:13:56 +08:00
Loren Eteval
bcefbe6b86
Show progress while processing logs
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 20:47:32 +08:00
Loren Eteval
394f5c6313
Add persistent log viewer preferences
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 20:21:41 +08:00
Loren Eteval
44cfd599b1
Optimize lazy log rendering and tail following
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 19:21:47 +08:00
Loren Eteval
2ead6120d9
Add scoped repository agent guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 18:20:29 +08:00