Loren Eteval
d842207066
Add routing rule reordering and previews
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-17 23:55:21 +08:00
Loren Eteval
756ca40273
Release Xray asset download resources
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-09 15:58:47 +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
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
525b357c55
Guard synchronous subscription shutdown
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-09-08 15:52:25 +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
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
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
0f8a792a6f
feat: add smooth theme transitions
...
Apply resolved themes immediately beneath a 500 ms snapshot cross-fade shared by visible top-level windows. Keep interruption, resize, shutdown, and reduced-animation paths deterministic, with real Qt lifecycle coverage.
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-29 21:05:58 +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
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
fbd28c48d4
Implement generation-based log storage
2026-08-27 14:58:38 +08:00
Loren Eteval
81e05829d9
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
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
0886118130
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
c47397a0ce
Test backend editor compatibility
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-21 12:21:30 +08:00
Loren Eteval
e860c4d7a3
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
2d9a03668c
Update test suite guidance
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-20 19:34:45 +08:00
Loren Eteval
936a5b3664
Add proxy endpoint information
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-19 11:02:53 +08:00
Loren Eteval
8510a0cb9b
Fix native TUN ownership semantics
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 18:19:55 +08:00
Loren Eteval
7479469ceb
Expand application test coverage
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 15:42:59 +08:00
Loren Eteval
ca3de8586e
Add project tests
...
Signed-off-by: Loren Eteval <loren.eteval@proton.me >
2026-08-17 15:42:59 +08:00