Commit Graph
40 Commits
Author SHA1 Message Date
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 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 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 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 2bb6919319 Fix server row connection-state refresh
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
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 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 a2deb73839 Scale subscription update processing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-31 10:07:17 +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 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 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 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 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 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 e0098f55d0 Refactor incremental log delivery and rendering 2026-08-27 14:58:39 +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 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 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 ecac986967 Simplify server action construction
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-21 10:43:40 +08:00
Loren Eteval c78ebcf172 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 6f1ab0dc20 Centralize subscription workflows
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-19 22:02:57 +08:00
Loren Eteval 1b720e855f Normalize application naming
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-19 15:03:55 +08:00
Loren Eteval a757f13a6d Rename managed core lifecycle to CoreRuntime
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-19 14:09:24 +08:00
Loren Eteval f2b8b9be78 Complete the Qt and PySide6 lifetime audit
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-14 10:16:55 +08:00
Loren Eteval 2e383f1b62 Redesign application message boxes
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-13 23:14:58 +08:00
Loren Eteval 10f57db24e Fix shared Qt object lifetimes
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-13 16:49:38 +08:00
Loren Eteval ba7050395a Fix transient editor lifetime leaks
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-13 15:26:09 +08:00
Loren Eteval dae6cbc1dd Expose application controller accessors
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:24:04 +08:00
Loren Eteval a471f63ead Centralize connection lifecycle control
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:24:03 +08:00
Loren Eteval 4a348fd4f1 Unify Home and tray routing controls
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:24:03 +08:00
Loren Eteval f9d1b3cd3f Add first-class subscription groups
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:24:03 +08:00
Loren Eteval 1babb484ce Add dedicated subscription management page
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:23:08 +08:00
Loren Eteval 825800f327 Unify application logging
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:50 +08:00
Loren Eteval 3d96eea8a2 Rename Domain package to Models
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:49 +08:00
Loren Eteval 8e1f3defaf Expand capability-based plugin architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:49 +08:00
Loren Eteval 370cebe170 Refine Qt top-level widget lifetimes
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:48 +08:00
Loren Eteval 71e8f01e0a Refactor plugin capability architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:47 +08:00
Loren Eteval f1f262e4ee Refactor package architecture
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-08-12 12:20:47 +08:00