Commit Graph

1036 Commits

Author SHA1 Message Date
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
49f819ef78 Use correct type for each option 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
jNullj
df41940ebc Fix typo in preferences.html
PR #20326.
2024-01-26 10:58:57 +03:00
jNullj
c5d7b62473 Delay subsequent requests to the same host
PR #19801.
Closes #8350.
2024-01-19 20:38:16 +03: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
sledgehammer999
582e4dcb59 Sync translations from Transifex and run lupdate 2024-01-15 00:28:06 +02: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
65771d66fc Update Readme for WebUI
PR #20077.
2023-12-05 03:34: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
sledgehammer999
20bfd392ff Sync translations from Transifex and run lupdate 2023-11-14 03:05:55 +02:00
Vladimir Golovnev
2a20764d39 Add option to enable ".unwanted" folder
PR #19926.
2023-11-13 14:25:27 +03:00
Chocobo1
b67da4bebe Use natural sort for categories
PR #19920.
2023-11-12 17:11:39 +08:00
sledgehammer999
8e39ac7efd Merge pull request #19918 from sledgehammer999/webui_opt
WebUI: Minor optimizations to the login page
2023-11-11 16:00:26 +02:00
Vladimir Golovnev
fb497f3410 WebUI: Correctly set save path in RSS rules
PR #19916.
Closes #19915.
2023-11-11 16:04:13 +03:00
sledgehammer999
5d1d3fcf57 WebUI: Minor optimizations to the login page 2023-11-10 16:22:52 +02:00
vik
28b5d7230c WebUI: Remove extra ')' in QBT_TR macro
PR #19894.
2023-11-08 08:32:25 +03: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
Chocobo1
6cfbc02d8f Expose Mark-of-the-Web setting in Options 2023-11-06 14:09:34 +08:00
sledgehammer999
f20f009b78 Sync translations from Transifex and run lupdate 2023-11-05 21:57:07 +02: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
Vitaly Cheptsov
e42d3f38cc Fix .torrent file upload on iPadOS
Mobile Safari on iOS does report `ios` platform, but iPadOS reports `mac`
instead. It is common sense to check for touch points when this happens
to differentiate Mac and iPad.

PR #19822.
Closes #19057.

---------

Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2023-11-01 09:19:52 +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
Chocobo1
8d5022c715 Combine CSS properties
PR #19730.
2023-10-19 12:07:36 +08:00
thalieht
a3888811f6 Add I2P settings to WebUI
PR #19700.
2023-10-13 21:30:25 +03:00
Chocobo1
b3fda76027 Allow users to specify Python executable path
Closes #19195.
PR #19644.
2023-09-28 01:27:48 +08:00
Priit Uring
1537f1e703 Sync flag icons with upstream
* Includes all 268 flags.
* Upstream commit `a7b7c3c55560cb39d96e70324876e1bb5b1c625b` - (Release v6.11.0)
* Flags source from (zip): https://github.com/lipis/flag-icons/releases/tag/v6.11.0

PR #19518.
2023-09-18 19:13:16 +03:00
Trim21
30badbf36e WebUI: fix missing error icon
PR #19610.
Closes #18737.
2023-09-18 16:42:03 +03:00
Chocobo1
dcba9eda00 Expose 'DHT bootstrap nodes' setting
This allows user to select DHT bootstrap nodes. Or even use their own bootstrap nodes.

PR #19594.
2023-09-14 13:57:34 +08:00
Hanabishi
c394868f87 Implement Reannounce In column
PR #19571.
2023-09-09 08:12:43 +03:00
Matic Babnik
145971b915 Add "Add Tags" field for RSS rules in WebUI
PR #19519.
2023-09-02 21:37:53 +03:00
sledgehammer999
e434812cda Bump copyright year 2023-08-29 00:17:23 +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
Vladimir Golovnev
9171b73edb WebUI: use new format of RSS rules
PR #19326.
Fixes regression of #18824.
Closes #19323.
2023-07-18 15:05:17 +03:00
sledgehammer999
c1d64cc3ea Sync translations from Transifex and run lupdate 2023-07-17 09:14:36 +03: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
sledgehammer999
e739d38061 Sync translations from Transifex and run lupdate 2023-07-12 01:50:01 +03:00
Chocobo1
4f6038c350 Merge pull request #19291 from Chocobo1/limits
Expose 'bdecode limits' settings
2023-07-11 11:24:09 +08:00