Commit Graph

396 Commits

Author SHA1 Message Date
HamletDuFromage
5c67c5a77d Add regex toggle for WebUI torrent filtering
PR #20566.
2024-03-24 13:44:57 +08:00
Chocobo1
15697f904d Add a small delay before processing the key input of search boxes
PR #20465.
Closes #20025.
Closes #20235.
2024-02-27 12:57:55 +08:00
Chocobo1
46e8ee50c8 Allow to set custom suffix to window title
This is to allow users to differentiate qbt instances when there are multiple running.
PR #20429.
Closes #17905.
2024-02-27 12:41:12 +08:00
Chocobo1
e1fa7e01c6 Remove unneeded polyfill
All browsers already have native support for it.
2024-02-25 20:17:56 +08:00
Chocobo1
bb8a012b1c Revise cache internals
Now cache initialization and `get()` is less costly to use and it shifts the weight to `set()`.

PR #20430.
2024-02-18 14:16:00 +08:00
Chocobo1
63c9b6388e Rename to WebUI
PR #20428.
2024-02-18 13:58:44 +08:00
Chocobo1
e31b553807 Stop sync requests after qbt has been shutdown 2024-02-14 03:38:09 +08:00
Chocobo1
1afb3ff433 Add support for dark theme 2024-02-14 03:38:09 +08:00
Chocobo1
16a91f26fb Simplify code 2024-02-14 03:38:09 +08:00
Chocobo1
963a7faab8 Migrate to Cache for commonly used data
Previously it was abusing the `localStorage` and now it is storing data in memory (per session).
2024-02-14 03:38:09 +08:00
Chocobo1
d06d5b923a Cache program preferences
So that qbt can just use the data from memory which is vastly faster than waiting for a response
over the net.
2024-02-14 03:38:09 +08:00
Chocobo1
8ef99b336c Remove 'no cache' directive for POST requests
The response for POST request is only cachable under a specific condition and
qbt doesn't use it.
https://developer.mozilla.org/en-US/docs/Glossary/Cacheable
2024-02-11 23:28:44 +08:00
Chocobo1
f7e9ff0fb0 Clean up functions in global scope 2024-02-11 23:28:44 +08:00
Chocobo1
9b64d50660 Conditionally hide settings in Advanced Options 2024-02-11 23:28:44 +08:00
Chocobo1
5fe5c333b5 Rename file 2024-02-11 23:28:44 +08:00
Chocobo1
9bfb447dd3 Improve WebUI responsiveness
This migrates Category and Tag to `Map` type from `Object` type. And done some algorithm and data structure optimization.

PR #20297.
2024-01-27 22:04:39 +08:00
Chocobo1
00372dd559 Use natural sorting in WebUI
Also change case sensitivity to the default of 'sort' mode.

PR #20264.
2024-01-15 13:12:36 +08:00
Chocobo1
6918316a3d Switch to new method for checking own properties
The new method is an intended replacement for previous one as suggested by MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn
2024-01-15 13:12:12 +08:00
Chocobo1
2edb1a0765 Improve WebUI responsiveness
Related: #20249.
2024-01-15 13:12:12 +08:00
Chocobo1
54bcabeca4 Leave the fields empty when value is invalid
This follows GUI behavior.
2024-01-08 15:13:02 +08:00
David
e69f857828 Allow to remember torrent content files deletion in WebUI
Add a 'remember choice' button to the WebUI Torrent Deletion dialog that sets the default file deletion setting. The setting is shared with GUI, so if you set it in WebUI and open the Qt app, the 'delete files' checkbox will match WebUI (checked or unchecked).

PR  #20150.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2024-01-08 14:39:51 +08:00
d47081
9d90141c29 Add dark theme for WebUI
Closes #19844.
PR #19901.

---------

Co-authored-by: d47081 <localhost>
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2023-12-12 12:23:40 +08:00
Chocobo1
86d5d13ce6 Migrate away from deprecated functions
Those functions are deprecated in mootools.
2023-11-27 13:29:54 +08:00
brvphoenix
9fde5634f1 Fix JS memory leak
The memory leak can be reproduced easily by opening two web pages of qbittorrent so that the WebUI pages are updated with full_update = true. If you have a large number of torrents, such as 100 torrents, you can observe a rapid increase in memory usage.

This is caused by the incorrect usage of dispose and empty methods in the js codes and none of them garbage collect the elements. If event listeners are added to the DOM elements, those DOM elements will not be garbage collected at all event if they are not referenced or out of the scope, which will cause memory leaks. If some elements are expected to be removed, the correct way is to use destroy method instead.

https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-dispose-elementdispose
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-empty-elementempty
https://github.com/mootools/mootools-core/blob/master/Docs/Element/Element.md#element-method-destroy-elementdestroy

Closes #19034.
PR #19969.
2023-11-25 13:50:45 +08:00
Chocobo1
b67da4bebe Use natural sort for categories
PR #19920.
2023-11-12 17:11:39 +08:00
thalieht
30d9978c97 Add copy comment functionality to the torrent list's context menu
PR #19846.
Closes #18890.
2023-11-07 12:42:31 +03:00
xavier2k6
f067ab1692 WebUI: Add "Moving" filter to side panel
PR #19870.
2023-11-06 16:23:59 +03:00
xavier2k6
0186f44bf4 Use appropriate icon for "moving" torrents in transfer list
PR #19821.
2023-11-04 12:09:47 +03:00
Bartu Özen
5db2c2c2be WebUI: Fix incorrect subcategory sorting
PR #19833.
Closes #19756.
2023-11-02 11:35:42 +03:00
AgentConDier
bf95eb50da WebUI: Fix duplicate scrollbar on Transfer List
The overlay scrollbars introduced in Firefox 100 take up no space,
breaking the existing overflow detection.
Add an extra check for `scrollHeight != clientHeight` which is able to
detect an overflow independent of scrollbar style.

PR #19779.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2023-10-29 17:39:30 +08:00
Trim21
30badbf36e WebUI: fix missing error icon
PR #19610.
Closes #18737.
2023-09-18 16:42:03 +03:00
Hanabishi
c394868f87 Implement Reannounce In column
PR #19571.
2023-09-09 08:12:43 +03:00
Jimmy Axenhus
c4ed40b82f Set property instead of set attribute
This commit resolves an issue with Safari not properly selecting an `<option>`.

Closes #17866.
PR #19024.
2023-08-03 13:34:24 +08:00
Christopher
35e18498d9 Add option to stop seeding when torrent has been inactive
PR #19294.
Closes #533.
Closes #8073.
Closes #15939.
2023-07-15 13:14:42 +03:00
Chocobo1
6680fdda18 Fix typos 2023-06-26 16:45:44 +08:00
luzpaz
deec2ae1b1 Fix various typos
PR #19213.
2023-06-24 16:04:04 +03:00
tearfur
2e87e6e0df Use hostname instead of domain name in tracker filter list
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>

PR #19062.
Closes #19035.
2023-06-05 14:57:37 +03:00
Chocobo1
83e6afcb71 Merge pull request #19069 from Chocobo1/sort
WebUI: use natural sort on tracker list
2023-06-04 12:52:29 +08:00
Raymond Ha
3ef8726083 WebUI: Set Connection status and Speed limits tooltips
PR #19052.
Fixes #18958.
2023-06-03 17:39:58 +03:00
Chocobo1
dad9157d84 Don't overwrite original variable 2023-06-02 18:12:01 +08:00
Chocobo1
5cea69472f Use natural sort 2023-06-02 17:44:17 +08:00
ttys3
b1492bcd7d WebUI: Show only hosts in tracker filter list
PR #18190.
2023-06-02 17:36:33 +08:00
Raymond Ha
a35dbc6df7 WebUI: Fix category save path
PR #19008.
2023-05-26 11:52:37 +03:00
Chocobo1
7397c80837 WebUI: improve 'exporting torrent' behavior
Don't stop the whole operation when a torrent doesn't exists and try to export the remaining
existing ones.

PR #18858.
2023-04-18 13:59:55 +08:00
Chocobo1
d63e0ad78f Work around Chrome download limit
Closes #18775.
2023-04-15 14:51:27 +08:00
Bartu Özen
b55d4b1733 WebUI: Implement subcategories
PR #18740.
2023-04-02 11:02:22 +03:00
Chocobo1
fa30b70453 Fix code defects 2023-03-14 15:04:54 +08:00
thalieht
f630d84858 WebUI: Add "Add to top of queue" option
PR #18660.
2023-03-08 18:58:42 +03:00
loligans
466314675c WebUI: Add multi-file renaming
PR #18287.
Closes #16239.
2023-02-19 14:07:55 +03:00
Chocobo1
6a4bb5c1b7 Migrate away from unsafe function
MooTools More has CVE-2021-20088 and qbt is affected by it by using the
unsafe function call `String.parseQueryString()`, so migrate away from
it.

PR #18554.
2023-02-15 13:59:21 +08:00