Loren Eteval
6486ac95e7
Fix Qt object lifetime cleanup
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 15:58:31 +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
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