Commit Graph

13159 Commits

Author SHA1 Message Date
Luke Memet
d028f46fab Fix shift-click selection on macOS
PR #22284.
Closes #16818.
2025-02-19 13:53:49 +03:00
Daniel Nylander
57b24a200e NSIS: Update Swedish translation
PR #22046.
2025-02-19 13:49:25 +03:00
Chocobo1
269dfe87e0 GHA CI: fix AppImage building
Upstream now defaults to static runtime and the previous URL is invalid now.
Upstream commits:
* c28054bab6
* ce5291e259

Also fuse2 is not needed now as stated on:
https://github.com/AppImage/type2-runtime?tab=readme-ov-file#type2-runtime-

PR #22286.
2025-02-16 08:22:26 +03:00
Vladimir Golovnev
6a1c465d85 WebAPI: Don't trim string parameters
PR #22266.
Closes #19485.
Closes #22254.
2025-02-12 09:35:29 +03:00
sledgehammer999
bc7d5c1f8f Bump to 5.1.0rc1 release-5.1.0rc1 2025-02-11 02:01:34 +02:00
sledgehammer999
8aabef423c Create new resources for this branch for Transifex 2025-02-11 01:59:07 +02:00
sledgehammer999
bd564a99a3 Sync translations from Transifex and run lupdate 2025-02-11 01:56:49 +02:00
Chocobo1
b052ad0923 WebUI: inline redundant function
This also fix share ratio dialog which had been broken in recent cleanup.

PR #22252.
2025-02-09 16:03:01 +08:00
Chocobo1
c65a68251e WebUI: use native function when converting to numbers
PR #22246.
2025-02-08 17:58:48 +08:00
skomerko
93925042dd WebUI: Fix memory leak in context menus
This PR fixes a memory leak in context menus. Previously, for some reason, each menu retained references to its target elements without utilizing them further. Since the targets property was accessible/reachable from the root (window object), these references persisted even after the elements were removed from the DOM, preventing them from being garbage collected.
It's easily reproducible - just add a decent amount of torrents, switch between categories multiple times, then capture heap/detached elements snapshot in the Memory tab (Chrome dev tools). The number of detached elements will continue to increase after each category switch and they won't be cleaned up.
[More context](https://github.com/qbittorrent/qBittorrent/pull/22220/files#r1941137796)

PR #22234.
2025-02-08 17:51:21 +08:00
Chocobo1
e55b59d9ca Use switch statement
PR #22247.
2025-02-08 17:39:10 +08:00
xavier2k6
f8469d02f7 GHA CI: Bump FORTIFY_SOURCE hardening flag to 3
PR #22248.
2025-02-08 17:00:10 +08:00
Chocobo1
dc10b88cec GHA CI: explicitly set C++20 mode for libtorrent
Bump Boost version. Boost::asio 1.76 has a bug that prevents compiling in C++20 mode.

PR #22245.
2025-02-08 16:30:36 +08:00
Maxime Thiebaut
4406a3f173 Add announce_port support
The `announce_port` setting permits to overwrite the port passed along to trackers as the `&port=` parameter. If left as the default, the listening port is used. This setting is only meant for very special cases where a seed's listening port differs from the effectively exposed port (e.g., through external NAT-PMP). See https://github.com/arvidn/libtorrent/pull/7771 for an example use-case.

This PR adds the relevant setting alongside the existing `announce_ip` setting.

PR #21692.
2025-02-08 16:12:50 +08:00
skomerko
9c2e698514 WebUI: Replace getElements & getChildren
This PR further reduces Mootools usage.
PR #22220.
2025-02-04 17:08:18 +08:00
xavier2k6
463700b76d GHA CI: Bump libtorrent versions
PR #22217.
2025-02-03 09:07:35 +03:00
Vladimir Golovnev
86387fbe49 Return first tracker as fallback for "current tracker"
PR #22224.
Closes #20415.
2025-02-01 14:58:12 +03:00
Vladimir Golovnev
a018cfa56c Remove stopped torrent from "error" tracker filter
PR #22219.
2025-01-31 06:23:04 +03:00
Vladimir Golovnev
b76054beba Store search history
PR #22208.
2025-01-30 08:59:10 +03:00
Chocobo1
f8536162f2 Use compact format for JSON files
It saves a bit of space on disk and deters novice users from tampering them.

PR #22211.
2025-01-29 15:31:06 +08:00
skomerko
af65ddd012 WebUI: Allow to move state icon to name column in torrents table
PR #22118.
2025-01-28 14:46:09 +08:00
Chocobo1
fe9dc131bc WebUI: don't wrap regex literal in regex constructor
PR #22206.
2025-01-28 00:33:04 +08:00
thalieht
bb4a668ddd Hide zero and infinity values in peer list only when that setting is set to Always
PR #22205.
Closes #21998.
2025-01-27 09:40:44 +03:00
Vladimir Golovnev
3978137534 Store opened search tabs
PR #22163.
Closes #167.
2025-01-26 17:12:50 +03:00
Chocobo1
3ef4d0d798 GHA CI: add checking for GHA workflows
PR #22200.

---------

Co-authored-by: userdocs <16525024+userdocs@users.noreply.github.com>
2025-01-26 03:44:59 +08:00
Chocobo1
e2341f5217 Merge pull request #22199 from Chocobo1/webui_eslint
WebUI: improve lint checks
2025-01-26 03:34:34 +08:00
xavier2k6
abd3cd54bc GHA CI: Bump numerous hook revs
PR #22193.
2025-01-26 03:26:27 +08:00
Chocobo1
dc8ac38494 WebUI: revise lint rules for css
Some rules are already covered by other tools, so remove them.
2025-01-24 23:58:13 +08:00
Chocobo1
e3eacf2bf7 WebUI: migrate stylelint config file format
From https://stylelint.io/user-guide/configure :
>Stylelint currently supports other configuration locations and formats, but we may remove these
>in the future:
>...
>.stylelintrc.json file
2025-01-24 22:26:36 +08:00
Chocobo1
5098519d46 WebUI: enable cache for lint checks
Also, WebUI gets its own .gitignore file.
2025-01-24 22:26:35 +08:00
ze0s
82c36aea89 WebAPI: add new method setTags to upsert tags on torrents
This is another optimization for torrent management on large scale instances with the goal to minimize the amount of required API calls. Ref #22128.

This new function and endpoint torrents/setTags does an upsert to replace the torrent tags and handles the removal and add internally, instead of doing multiple calls to add and remove tags on torrents from the client.

PR #22156.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev <glassez@yandex.ru>
2025-01-24 22:24:35 +08:00
thalieht
05787d94ec Fix torrent content checkbox state under certain conditions
PR #22190.
Closes #22189.
2025-01-24 12:11:19 +03:00
Chocobo1
f8c48349a1 WebUI: use native function for selecting elements
PR #22179.
2025-01-20 23:36:11 +08:00
Chocobo1
1ee84033ec WebUI: use template literals instead of string concatenation
PR #22177.
2025-01-18 20:51:47 +08:00
Chocobo1
f2eecf8a4e Avoid memory leak on macOS
Only Mark-of-the-Web and Power Management are affected.

PR #22176.
2025-01-18 20:30:14 +08:00
ze0s
76e1040232 WebAPI: optionally include trackers list in torrent info response
This PR adds an optional parameter includeTrackers to the Torrent info endpoint /torrents/info to include the trackers list of each torrent in the response under the key trackers.

PR #22128.
2025-01-17 17:10:25 +08:00
Chocobo1
4686d6709e GHA CI: show installed version
Before this change, it wasn't clear which exact version were installed.

PR #22155.
2025-01-13 17:24:08 +08:00
Chocobo1
2cc7ec90a8 WebUI: add percentage sign for hsl components
This is a workaround to avoid confusing the stylelint checker (and probably some other checker
internally). They cannot accept the fact that the component can be `<number>` but instead
insist it should be `<percentage>`
Reference: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl#formal_syntax

Also, MDN recommended to use `hsl()` instead of `hsla()`.
From https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl :
> Note: The hsla() functional notation is an alias for hsl(). They are
> exactly equivalent. It is recommended to use hsl().

PR #22154.
2025-01-13 17:13:20 +08:00
Vladimir Golovnev
99adb16090 Allow to reuse existing search term
PR #22148.
2025-01-13 10:21:40 +03:00
Chocobo1
c622d50814 WebUI: use native API for accessing query string
PR #22141.
2025-01-12 21:36:59 +08:00
Chocobo1
11991e62f5 WebUI: fix error when opening the same dialog twice
PR #22139.
2025-01-12 21:18:41 +08:00
Chocobo1
82d90e599c Preserve allocated buffer capacity
PR #22138.
2025-01-12 21:01:39 +08:00
xavier2k6
45b7947cd0 GHA CI: Update Boost URL
The agreement between Boost & JFrog came to an end in December 2024.
Reference: https://github.com/boostorg/boost/issues/924

PR #22125.
2025-01-11 21:33:51 +08:00
Chocobo1
2e21cf76de WebUI: temporarily pin dependency
The plugin was causing problems in new versions so pin it with an older
version and look into it later.
Upstream issue: https://github.com/JamieMason/eslint-plugin-prefer-arrow-functions/issues/50

PR #22140.
2025-01-11 16:28:56 +08:00
Vladimir Golovnev
76151110e5 Handle Qt style options uniformly
PR #22133.
Closes #22061.
2025-01-11 10:17:38 +03:00
Vladimir Golovnev
5875d8bff3 Allow multiple simultaneous searches
PR #22127.
2025-01-11 09:53:40 +03:00
Hanabishi
68ecb13d14 Change URL seed error message
Current URL seed error message assumes that only possible error is DNS lookup failure, which is not true.
So replace it with a more generic message. Real reason is provided by the 'Error:' part.

PR #22119.
2025-01-10 08:31:28 +03:00
Vladimir Golovnev
f9f4b60b83 Allow to refresh existing search
PR #22122.
Closes #17184.
2025-01-08 17:03:32 +03:00
Thomas Piccirello
4fc36b9e99 Support fetching tracker list from URL
Trackers specified at the URL will be added to newly added public torrents.

This feature is adapted from qBittorrent-Enhanced-Edition to allow for automatically adding trackers retrieved from a URL. @ngosang's trackerlist repo is a good example, however I've opted not to include a default URL.

Partially addresses #14535.
PR #21828.
2025-01-08 14:51:09 +08:00
Chocobo1
4f3d77963f Add parameter to control whether to unescape HTML entities
Some plugin needed the raw data for further processing.
Related: #22074.

PR #22106.
2025-01-06 19:05:57 +08:00