Commit Graph
980 Commits
Author SHA1 Message Date
Loren Eteval aafd237db2 fix: harden Flatpak dependency verification
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 20:20:06 +08:00
Loren Eteval e0ea8f4614 fix: preserve Qt interaction semantics
Scope all server-table shortcuts, including nested menu actions, to the focused table. Preserve profile identity, selection, current index, active state, and focus across sorting and repository moves, and make the complete custom switch track clickable.

Add real QTest coverage for keyboard and mouse dispatch, proxy mapping, shared Home and Settings state, menu lifetimes, and transient editor keyboard behavior. Document the logic, Qt integration, and small-workflow test layers.

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 19:59:43 +08:00
Loren Eteval 4d27d5f027 fix: register benchmark baseline module
Register the dynamically executed LogManager baseline in sys.modules so dataclass processing can resolve its defining namespace. Restore any previous module entry after loading to keep the benchmark isolated.

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 19:11:20 +08:00
Loren Eteval 2055c0a8db feat: add searchable translated UI workflows
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 19:11:20 +08:00
Loren Eteval 15cb2c3b01 feat: expand server organization actions
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 19:11:20 +08:00
Loren Eteval 2703f3db39 feat: synchronize Home network controls
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 19:11:20 +08:00
Loren Eteval 2846e1a8c6 fix: bundle Flatpak native Qt dependency
Build double-conversion into the Flatpak runtime so QtCore does not depend on a host library unavailable inside the sandbox. Install each finished Flatpak in CI and fail when packaged native dependencies cannot be resolved in the application sandbox.

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-29 12:05:15 +08:00
Loren Eteval 17c03c9fd5 Update project README.md
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 22:13:49 +08:00
Loren Eteval c9b4900a32 fix: align External Core timeout row
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 11:11:16 +08:00
Loren Eteval 0c65ecaf97 chore: refresh bundled Xray routing assets
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 09:22:03 +08:00
Loren Eteval a178172a91 fix: verify Xray asset downloads before replacement
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 09:21:52 +08:00
Loren Eteval aa3216f32a fix: avoid logging credential-bearing inputs
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 09:21:43 +08:00
Loren Eteval c03d5f255b test: isolate exit confirmation translation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 07:53:40 +08:00
Loren Eteval 753c73714a docs: evolve agent guidance hierarchy
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-28 07:51:40 +08:00
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 7bbece2818 Update .github/workflows/deploy-pypi.yml
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-27 21:49:20 +08:00
Loren Eteval 1193eea7f2 Update Furious/Application/DesktopApplication.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-27 21:46:02 +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 4599c57188 Update application icons
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-26 10:30:10 +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 abf35f9bcd Update Furious/Service/ConnectionManager.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-26 09:52:40 +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 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