Commit Graph
938 Commits
Author SHA1 Message Date
Loren Eteval bbf3657ce7 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 8985a18761 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 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 5766791a6d 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 ed5712d5c5 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 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 79b6a90ffc Fix go-win7 to 1.26.7 in deploy-pypi.yml
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-23 12:02:52 +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 8b6f166ea4 Pin zxing-cpp version less than 3 to avoid numpy packaing in nuitka
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-22 09:04:34 +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 048c290bb7 Test backend editor compatibility
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 12:21:30 +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 cfa6a025fe 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 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 af82c2d5b7 Expand regression test coverage
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-20 19:37:50 +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 0d3d396b74 Update test suite guidance
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-20 19:34:45 +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