Loren Eteval
e4bf189b16
Synchronize TUN mode label availability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 13:38:54 +08:00
Loren Eteval
5bfdf73cbb
Refine tun2socks settings alignment
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 13:26:07 +08:00
Loren Eteval
d8a38c93bf
Improve readability and exception comments
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 12:18:34 +08:00
Loren Eteval
61d18651a2
Fix subscription metadata header compatibility
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 12:18:16 +08:00
Loren Eteval
e4fe0fc8c4
Improve best-effort system proxy handling
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 12:18:00 +08:00
Loren Eteval
29a46b541d
Clean up partial external core startup
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 12:17:47 +08:00
Loren Eteval
6d0fbcedcd
Allow table-specific stylesheet overrides
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 01:29:02 +08:00
Loren Eteval
994602c889
Align scoped guidance with architecture
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 01:28:46 +08:00
Loren Eteval
c8110ab225
Improve workflow and test readability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 01:00:57 +08:00
Loren Eteval
24d3d29af9
Batch profile imports and deletions
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 01:00:02 +08:00
Loren Eteval
b455c4cf54
Refine rounded item-view styling
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 23:42:03 +08:00
Loren Eteval
69d17d0b8f
Fix rounded popup corners
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 22:33:22 +08:00
Loren Eteval
787911f252
Organize Home import and test menus
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 22:13:02 +08:00
Loren Eteval
1e842f8756
Refresh bundled Xray geodata
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:59:37 +08:00
Loren Eteval
79f1cc6cbf
Restrict package discovery to Furious
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:59:36 +08:00
Loren Eteval
a7e35c165f
Improve UI and workflow test readability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:59:35 +08:00
Loren Eteval
3132ecd498
Improve profile actions and empty-state guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:59:34 +08:00
Loren Eteval
9b9d93fee1
Unify search clear button styling
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:59:30 +08:00
Loren Eteval
525b357c55
Guard synchronous subscription shutdown
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:52:25 +08:00
Loren Eteval
c4fb12be50
Improve workflow and test readability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:52:25 +08:00
Loren Eteval
c8099462a7
Align repository guidance with architecture
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:52:24 +08:00
Loren Eteval
236b964ea0
Stabilize switch animation regression
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:54:14 +08:00
Loren Eteval
3dcd6ab930
Show subscription usage and expiry
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:54:14 +08:00
Loren Eteval
bd24ff3085
Evolve repository guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:54:14 +08:00
Loren Eteval
680ebfc16b
Improve Python code readability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:53:31 +08:00
Loren Eteval
7601d5ae96
Document runtime ownership contracts
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:53:30 +08:00
Loren Eteval
f712f6668c
Refactor core runtime lifecycle
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:53:30 +08:00
Loren Eteval
5aa7af7ff5
Exclude guidance from packages
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 10:53:14 +08:00
Loren Eteval
a54ff0e7a9
Add contributing section to README
2026-09-01 08:47:28 +08:00
Loren Eteval
2bb6919319
Fix server row connection-state refresh
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
0.8.0
2026-08-31 17:54:14 +08:00
Loren Eteval
fb45d17a65
Reorder Home server context menu
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 15:46:33 +08:00
Loren Eteval
a4559e7abd
Support multi-selection subscription moves
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 15:37:02 +08:00
Loren Eteval
2fdbe31131
Refine Qt lifetime management skill
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 15:10:53 +08:00
Loren Eteval
5bbd00eda7
Scale QR export without a progress dialog
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 13:31:15 +08:00
Loren Eteval
fd619845a5
Test subscription update scalability
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 10:07:47 +08:00
Loren Eteval
a2deb73839
Scale subscription update processing
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 10:07:17 +08:00
Loren Eteval
80ac887255
Protect credentials in diagnostics
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 08:45:39 +08:00
Loren Eteval
f11794e40a
Refine subscription update notifications
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-31 08:43:39 +08:00
Loren Eteval
2881abebb7
docs: restore scoped repository guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 20:22:43 +08:00
Loren Eteval
544616f485
feat: align Home TUN availability label
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 19:53:01 +08:00
Loren Eteval
f14dacec64
feat: expose subscription sync status
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 19:13:43 +08:00
Loren Eteval
3e849d9301
fix: avoid packaged Qt callback retention
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 19:13:43 +08:00
Loren Eteval
120583f6d6
Update Furious/Externals/AGENTS.md
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 18:56:33 +08:00
Loren Eteval
9c5a64acc6
docs: redesign repository guidance
...
Reconstruct the project operating model from source, tests, packaging, and runtime flows, then rewrite the AGENTS hierarchy around durable ownership, lifecycle, compatibility, and verification invariants.
Consolidate redundant UI and backend child guides, add evidence-based self-evolution rules, and keep specialized guidance only where local constraints materially differ.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 17:54:09 +08:00
Loren Eteval
ec6d01e4b1
fix: preserve TUN switch animations
...
Keep user-initiated switch animation running when the shared settings controller echoes the committed TUN state, and animate the peer surface without emitting a recursive request. Preserve snap synchronization for initialization and rollback, with real Qt coverage for both directions and rapid toggles.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 17:29:31 +08:00
Loren Eteval
be40bd1771
fix: avoid stale Qt signal teardown
...
Disconnect weak signal dispatch through Qt's opaque connection handle instead of retaining a sender SignalInstance until receiver destruction. This prevents a deleted asynchronous startup operation from causing a deterministic PySide6 access violation during application shutdown.
Add a child-process regression that destroys many senders before their shared receiver and verifies normal process termination.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 17:09:22 +08:00
Loren Eteval
d9793286d1
refactor: make connection startup asynchronous
...
Replace GUI connection startup waits with a cancellable, staged Qt transaction. Observe core endpoints, DNS resolution, TUN device readiness, and runtime survival without nested event-loop waits while preserving the synchronous plugin compatibility path.
Commit runtimes only after every required stage succeeds, reject stale generations, and cover readiness, cancellation, rollback, platform ordering, and controller integration.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 17:09:05 +08:00
Loren Eteval
3844a8b9aa
refactor: extract profile testing service
...
Move latency and download-speed scheduling out of ServerTableView into an identity-safe service. Add bounded Ping execution, a dedicated adaptive Qt TCPing thread, concurrent non-blocking core startup, and subscription-scoped cancellation with stale-result rejection. Cover scheduler behavior, cancellation races, repository reconciliation, and Qt resource cleanup.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-30 12:46:43 +08:00
Loren Eteval
2ead3fe06e
refactor: simplify download speed menu
...
Expose a single Test Download Speed action backed by the multithreaded scheduler while retaining and documenting the single-threaded API for programmatic callers. Remove the obsolete translation and cover the menu label, shortcut, and dispatch behavior.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-29 21:59:54 +08:00
Loren Eteval
3888a6140e
fix: exclude unsupported Linux Qt plugins
...
Keep the Essentials-only standalone bundle free of unused PDF, TIFF, WebP, and EGLFS plugins whose optional or host-specific dependencies break Flatpak verification. Assert that these plugins remain absent before running the complete native dependency scan.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-29 21:43:47 +08:00