Commit Graph
26 Commits
Author SHA1 Message Date
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