Commit Graph
51 Commits
Author SHA1 Message Date
LorenEteval 7dfd5c6cd7 Refactor: Migrate to QTableView
Signed-off-by: LorenEteval <loren.eteval@proton.me>
2026-06-21 15:56:17 +08:00
Retinue Bonnets e33e449031 Fix subscription update: preserve base64 result and set User-Agent
Two regressions broke subscription updates against typical providers:

1. In SubscriptionManager.successCallback, the plain-text fallback added
   in 88e447d ran unconditionally after the base64 try block, overwriting
   the correctly parsed share links with a single line of raw base64. Move
   it into the failure branch (with a "://" sanity check so pybase64's
   lenient decode of plain text doesn't slip through as a false positive),
   and report failure only when both decoders fail.

2. updateSubsByWebGET issued the request without a User-Agent header.
   Some providers respond with 503 to the default Qt UA. Identify
   ourselves as "Furious/<version>" so the request goes through.
2026-05-20 20:09:19 +05:00
Loren Eteval 6eb3989811 Make the settings read/write more robust
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 14:20:07 +08:00
Loren Eteval 7682b586ee Added "Activate Selected Server" in server menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:53:23 +08:00
Loren Eteval f547c16aa2 Added support for customizing proxy bypass address & network test URL
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-04-05 00:07:46 +08:00
Loren Eteval 88e447d30d 1. Added support for updating subs from remote plain text
2. Added index refreshing while deleting servers

Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-03-06 01:16:45 +08:00
Loren Eteval 8a6102a13f Fixed to checkable=False for "Advanced..." menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2026-01-23 10:25:00 +08:00
Loren Eteval 28fa8c12b3 Move classname to Utility.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-13 21:32:18 +08:00
Loren Eteval 01d433f412 Added "Scan QR Code On The Screen" implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-04 11:04:34 +08:00
Loren Eteval 694d1e4b65 Switch to enum implementation for routing and proxy mode
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 16:40:47 +08:00
Loren Eteval 1e9626b5c7 Update message box name
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 15:47:26 +08:00
Loren Eteval 9109b0d527 Set hasDataCounter mod to 25
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-02 15:06:54 +08:00
Loren Eteval 9e6968c9b3 Fix configuration clone bug
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-01 22:56:54 +08:00
Loren Eteval d3d739ae0c Added restart as admin implementation on Windows
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-12-01 17:14:04 +08:00
Loren Eteval f75a25b94c Refresh code base
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-11-27 10:38:13 +08:00
Loren Eteval 35ec544ca8 Fix application exit problems when having multi-test on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-24 11:51:20 +08:00
Loren Eteval e4fc457280 Add show logs action in UserServersQTableWidget context menu
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 23:48:21 +08:00
Loren Eteval bde0714223 Add tooltip in UserServersQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-23 17:25:56 +08:00
Loren Eteval cec37444e4 Fixed race condition when exiting Application on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-22 18:30:17 +08:00
Loren Eteval 191c6303f1 Update copyright notice
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-22 11:07:16 +08:00
Loren Eteval edb5da7038 Add APP().isExiting() condition when fetching job for multi-testing
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:43:34 +08:00
Loren Eteval 03a5de67b0 Fix semaphore count should be at least one
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-21 22:03:04 +08:00
Loren Eteval 2bbb966e3f Fix semaphore leak when using multi-test
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-17 19:14:11 +08:00
Loren Eteval 062ee04943 Add multithreaded download speed test
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-13 17:41:46 +08:00
Loren Eteval 460c1c0a0d Add parent=self for AppMainWindow handling
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-04 16:15:50 +08:00
Loren Eteval 8e1888df21 Move to saveGeometry & saveState implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-04 15:16:04 +08:00
Loren Eteval d10b8ac6ed Make setColumnMinimumWidth only work on Windows
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-06-03 17:30:08 +08:00
Loren Eteval 3cace6aa54 Upload 0.5.0 workload
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-05-19 19:43:12 +08:00
Loren Eteval 16c5255331 Refactor translation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-03-20 00:22:32 +08:00
Loren Eteval 9816a4243f Add showUnrecognizedConfigMBox
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-02-23 17:42:48 +08:00
Loren Eteval 9eb52d4060 Update UserServersQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-02-23 15:09:33 +08:00
Loren Eteval bdedf9f6b4 Fix questionSaveMBox close on non-Windows platform
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-02-16 22:12:06 +08:00
Loren Eteval 644a56e2c4 Fix TextEditorWindow questionSave mbox logic
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2025-02-03 00:56:21 +08:00
Loren Eteval 9649238841 Update speed test result & Optimize power usage
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-12-23 22:59:00 +08:00
Loren Eteval ae32eb18fa Update UserServersQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-28 11:48:30 +08:00
Loren Eteval 9dae77b17c Fix modality of TextEditorWindow on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-13 20:35:54 +08:00
Loren Eteval 5218c5e300 Fix race condition in guiEditor
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-13 18:27:24 +08:00
Loren Eteval 0534f42b3d Fix race condition in guiEditor
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-11 20:32:42 +08:00
Loren Eteval c1f6d4d7ab Fix add server via Gui crash
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-11 17:24:47 +08:00
Loren Eteval 3556863ab5 Fix logic in server table widget
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-10 20:30:05 +08:00
Loren Eteval ad767028aa Fix guiEditor open() bug
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-10 19:36:16 +08:00
Loren Eteval 6f38b93c8f Cache guiEditor in server table widget #79
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-05-10 19:36:16 +08:00
Loren Eteval d96bb175fc Remove delegate code
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-04-29 08:55:11 +08:00
Loren Eteval 9f8d2161a7 Add activation by Enter key of QTableWidget server on macOS
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-04-29 08:10:19 +08:00
Loren Eteval ea5587bee3 Move to asynchronous implementation on mbox/dialog
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-04-28 22:43:09 +08:00
Loren Eteval ce1b8e9285 Update UserServersQTableWidget.py
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-04-28 21:02:08 +08:00
Loren Eteval 3a14a0b948 Add tcping test support
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-03-09 18:19:04 +08:00
Loren Eteval 2894a6d479 Add exception check in toURI() call
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-03-07 13:29:12 +08:00
Loren Eteval 3b748356c9 Move to icmplib implementation
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-03-07 00:57:06 +08:00
Loren Eteval 86a67ee4ff Improve user experience in subs update
Signed-off-by: Loren Eteval <loren.eteval@proton.me>
2024-02-27 20:17:33 +08:00