Loren Eteval
a91c006b87
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
a7acc1ed3b
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
7ee08e417b
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
52901041ed
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
71e4812bdf
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
f8f70bf7ab
Tuned topMargin for "bandwidth" section in hysteria2 editor on macOS
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-23 12:25:18 +08:00
Loren Eteval
1a1e2a623f
Make xray TUN and hysteria2 TUN settings off by default
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-23 12:12:42 +08:00
Loren Eteval
3f537d3a66
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
45f22d3c6f
Bound long-lived service retention
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-23 11:26:08 +08:00
Loren Eteval
185bc784cb
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
68ad1eefc1
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
f4a9410707
Refine application dialog presentation lifecycle
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-23 07:27:38 +08:00
Loren Eteval
97ee907e8c
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
24bf1fac61
Tuned spacing in "Advanced" group box for hysteria2 editor
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:57:36 +08:00
Loren Eteval
bf73a81b6e
Fix native runtime lifecycle ordering
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:28:19 +08:00
Loren Eteval
d4d1195413
Fix WebEngine profile lifetime ordering
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:28:19 +08:00
Loren Eteval
d2c5f86603
Refine Hysteria2 editor layout
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:28:19 +08:00
Loren Eteval
332a606af4
Audit application stylesheet state interactions
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:28:19 +08:00
Loren Eteval
1f4131e393
Tuned topMargin from 20 to 10 for bandwidth section in hysteria2 editor on macOS
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-22 21:28:19 +08:00
Loren Eteval
c162a480e3
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
429b470916
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
1d750b2198
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
b6a6fb0672
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
68fc88b3f4
Refine Hysteria2 editor field layout
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 16:05:33 +08:00
Loren Eteval
5d18cefbe3
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
7b1568893b
Refactor process plugin registry ownership
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 15:25:39 +08:00
Loren Eteval
55869b6087
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
1408dee387
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
be4204c7be
Refine repository agent guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 13:26:56 +08:00
Loren Eteval
31cfb5dcf1
Document backend development guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 12:21:56 +08:00
Loren Eteval
9682e80ba3
Improve backend editor compatibility
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 12:20:34 +08:00
Loren Eteval
5200d3ba6a
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
3e89da0899
Update Furious/Window/TextEditorWindow.py
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 10:43:59 +08:00
Loren Eteval
d165e196e2
Update Furious/Widget/ServerTableView.py
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 10:43:40 +08:00
Loren Eteval
6eab99a7cb
Separate protocol action and editor titles
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 21:49:52 +08:00
Loren Eteval
b80f725ff9
Clarify external core configuration section
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 21:49:19 +08:00
Loren Eteval
509fdf9052
Refine scoped architecture guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 20:14:22 +08:00
Loren Eteval
1831025af6
Clarify external command timeout ownership
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 20:14:09 +08:00
Loren Eteval
03631120da
Add scoped repository guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:35:06 +08:00
Loren Eteval
0b6c35ef41
Update Xray data assets
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:18:10 +08:00
Loren Eteval
6239e40026
Modernize Xray asset viewer actions
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:17:55 +08:00
Loren Eteval
eb47358f67
Fix section resize mode for subscription header view
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 18:44:33 +08:00
Loren Eteval
7c826489bf
Update Furious/Qt/QtWidgets.py
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 18:44:05 +08:00
Loren Eteval
03bddcbe7e
Combine traffic metrics into one card
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 16:55:58 +08:00
Loren Eteval
95958696ba
Modernize Fluent item views
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 16:55:48 +08:00
Loren Eteval
84bec2ee64
Refine endpoint map loading
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 10:10:17 +08:00
Loren Eteval
a345f18220
Refactor connection startup transaction
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 22:53:38 +08:00
Loren Eteval
f97eca7825
Centralize subscription workflows
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 22:02:57 +08:00
Loren Eteval
5371520b4d
Split Qt stylesheets by component
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 22:02:57 +08:00
Loren Eteval
1dee9fc5b7
Refine plugin capability validation
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 22:02:57 +08:00