Commit Graph

12948 Commits

Author SHA1 Message Date
xavier2k6
56a0692b68
GHA CI: Update pre-commit-config workflow
* Bumped numerous revisions
* Removed obsolete exclusions (files/folders were removed previously)
* Implement fix/workaround for "false positives" (typos/codespell)

PR #21460.
2024-10-06 16:49:30 +08:00
xavier2k6
dfa4eebbce
GHA CI: Bump pandoc to latest version
PR #21458.
2024-10-06 16:41:38 +08:00
Chocobo1
6ed662c68b
CI: turn on assertion checks
This turn on assertions from qbt codebase so that testers can verify the assertions really hold.

PR #21499.
2024-10-06 16:13:14 +08:00
Ikko Eltociear Ashimine
f81d8a85e9
NSIS: update luxembourgish
PR #21456.
2024-10-06 15:43:43 +08:00
Chocobo1
9e5433bcf8
Add name to threads
This help identifying threads when debugging.
The naming scheme is using 'class/function name + variable name'.
Note that the length limitaion is 16 chars on linux. On Windows, the limit is 32767 chars.

PR #21403.
2024-10-06 15:23:50 +08:00
Vladimir Golovnev
3fb5d7764c
Don't try to apply Mark-of-the-Web to nonexistent files
Some checks are pending
CI - File health / Check (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Waiting to run
CI - Python / Check (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Waiting to run
CI - WebUI / Check (push) Waiting to run
CI - Windows / Build (1.2.19) (push) Waiting to run
CI - Windows / Build (2.0.10) (push) Waiting to run
Trying to apply it to a nonexistent file is unacceptable, as it may unexpectedly create such a file.

PR #21488.
Closes #21440.
2024-10-05 12:27:03 +03:00
stalkerok
e75bcbed6d
Remove non-working DHT bootstrap nodes
router.utorrent.com has been dead for a long time. router.bittorrent.com died about a month or two ago. dht.aelitis.com doesn't work either. It is no longer possible to get DHT nodes from them.
Added router.silotis.us. Only ipv6!

PR #21296.
2024-10-05 16:45:29 +08:00
thalieht
7f38216d22
Regenerate .ui files
PR #21411.
2024-10-05 16:42:03 +08:00
skomerko
4ff0687b94
WebUI: Add confirm dialog for Auto TMM
Some checks are pending
CI - File health / Check (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Waiting to run
CI - Python / Check (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Waiting to run
CI - WebUI / Check (push) Waiting to run
CI - Windows / Build (1.2.19) (push) Waiting to run
CI - Windows / Build (2.0.10) (push) Waiting to run
Just like in GUI, confirmation dialog shows up if it's possible to enable Auto TMM for any selected torrent. Right now it's not possible to properly test all cases in the WebUI because context menu completely hides TMM option when some torrents have it enabled and some not (no tri-state) - but that's something to add in another PR.

PR #21378.
2024-10-04 22:39:08 +08:00
Chocobo1
dc02a0fc56
WebUI: remove unused variables
PR #21432.
2024-10-04 22:23:04 +08:00
Vladimir Golovnev
c48d2c1dde
WebUI: Fix incorrect row ID
Some checks are pending
CI - File health / Check (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Waiting to run
CI - Python / Check (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Waiting to run
CI - WebUI / Check (push) Waiting to run
CI - Windows / Build (1.2.19) (push) Waiting to run
CI - Windows / Build (2.0.10) (push) Waiting to run
Incorrect row ID prevented the "Torrent content removing mode" option from being displayed on some platforms.

PR #21481.
2024-10-04 14:06:51 +03:00
Hanabishi
b5b34c9ff4
Add "Simple pread/pwrite" disk IO type
Some checks are pending
CI - File health / Check (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Waiting to run
CI - Python / Check (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Waiting to run
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Waiting to run
CI - WebUI / Check (push) Waiting to run
CI - Windows / Build (1.2.19) (push) Waiting to run
CI - Windows / Build (2.0.10) (push) Waiting to run
PR #21300.
2024-10-01 19:58:35 +03:00
Chocobo1
7b45566efc
Migrate away from deprecated functions in Qt 6.9
Closes #21412.
PR #21415.
2024-09-30 18:31:17 +08:00
xavier2k6
c30a07702d
Replace QVector with QList
Migrated last remnants of QVector to Qlist, reference https://github.com/qbittorrent/qBittorrent/pull/21016#issuecomment-2212403741 onward.

PR #21407.
2024-09-30 18:20:58 +08:00
skomerko
d8e24314ec
WebUI: Improve lookup performance when filtering by tracker
Torrent hashes in tracker list are now kept in sets instead of arrays.
PR #21405.
2024-09-30 18:13:45 +08:00
skomerko
449ca96e28
WebUI: Add 'Engine' column to Search table
This PR adds 'Engine' column to Search table.
I also fixed inconsistent naming and renamed 'Search engine' column to 'Engine URL'.

PR #21397.
2024-09-30 18:05:17 +08:00
Chocobo1
cebaedf485
WebUI: CSS/styling improvements
WebUI: CSS/styling improvements
2024-09-30 17:57:42 +08:00
Chocobo1
fd311fd5ff
Reduce sensitive data instances
There is no reason for `WebUI` class to retain this information.

PR #21373.
2024-09-30 17:45:28 +08:00
Thomas Piccirello
50acb670b0
WebUI: Support updating RSS feed URL
PR #21371.

Signed-off-by: Thomas Piccirello <thomas@piccirello.com>
2024-09-30 17:34:37 +08:00
xavier2k6
3888b465d8
Revise bug_report template
PR #21343.
2024-09-30 17:24:57 +08:00
Thomas Piccirello
6bbb7b71cd
Add WebAPI/WebUI for managing cookies
Closes #21125.
PR #21340.
2024-09-30 17:13:25 +08:00
Chocobo1
10eb921d70
Allow drop action only on transfer list
Now drop action is only allowed on transfer list, previously it was on main window.
Having drop action on the whole main window is not preferred because it could allow drop action
on other unrelated widgets, such as execution log or RSS widget which is unexpected behavior.

PR #21332.
2024-09-30 16:59:57 +08:00
skomerko
5e3161a3f9 WebUI: Improve statistics window 2024-09-28 17:49:52 +02:00
skomerko
4cc3fedf37 WebUI: Reduce padding in torrents table 2024-09-28 17:49:52 +02:00
skomerko
2952480f37 WebUI: Use correct text and background colors in RSS details view 2024-09-28 17:49:52 +02:00
skomerko
6bfabad92f WebUI: Prevent text selection within tabs, menu items 2024-09-28 17:49:52 +02:00
skomerko
0e03e4f8a7 WebUI: Add colors to log table rows 2024-09-28 13:33:14 +02:00
skomerko
10149de205 WebUI: Define global CSS variables in root selector 2024-09-28 13:33:14 +02:00
skomerko
960edd95cc WebUI: Remove redundant imports 2024-09-28 13:33:14 +02:00
skomerko
8b2d8f3afd
WebUI: Use Map instead of Mootools Hash in all dynamic tables
PR #21358.
2024-09-28 15:46:16 +08:00
Thomas Piccirello
81def39d8c
WebUI: Support managing web seeds
Closes #8475.
PR #21055.
2024-09-28 15:37:36 +08:00
Chocobo1
a23f45cc70
Split platform specific code to its own file
Some checks failed
CI - File health / Check (push) Failing after 0s
CI - Python / Check (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Failing after 0s
CI - WebUI / Check (push) Failing after 0s
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Has been cancelled
CI - Windows / Build (1.2.19) (push) Has been cancelled
CI - Windows / Build (2.0.10) (push) Has been cancelled
Coverity Scan / Scan (2.0.10, GUI=ON, 6.5.2) (push) Has been cancelled
PR #21368.
2024-09-22 14:28:40 +08:00
Thomas Piccirello
8a6207d3fc
WebUI: Fix removing tracker URL with '|' character
Closes #19074.
PR #21346.
2024-09-22 14:22:52 +08:00
skomerko
c3224459db
WebUI: Add 'Confirm torrent recheck' option
This PR adds setting & confirmation dialog for torrent recheck.

Closes #19557.
PR #21348.
2024-09-22 14:12:44 +08:00
skomerko
183c7c75b1
WebUI: Display DHT information in the Status bar only when DHT is enabled
GUI completely hides DHT information when DHT is disabled - now WebUI does the same thing.

Closes #18417.
PR #21339.
2024-09-22 14:06:25 +08:00
sledgehammer999
1c43286616 Make Program Updater choose the same build for download
Some checks failed
CI - File health / Check (push) Failing after 0s
CI - Python / Check (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Failing after 0s
CI - WebUI / Check (push) Failing after 0s
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Has been cancelled
CI - Windows / Build (1.2.19) (push) Has been cancelled
CI - Windows / Build (2.0.10) (push) Has been cancelled
Stale bot / stale (push) Failing after 0s
We're probably stuck offering the duo of RC_1_2 and RC_2_0 for some
time in the future. So hardcode the choices and make the Program Updater
choose the variant the user currently uses.
2024-09-16 22:26:57 +03:00
Chocobo1
4555a46e5d
Remove unused function
Some checks failed
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Waiting to run
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Waiting to run
CI - Windows / Build (1.2.19) (push) Waiting to run
CI - Windows / Build (2.0.10) (push) Waiting to run
CI - File health / Check (push) Failing after 0s
CI - Python / Check (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Failing after 0s
CI - WebUI / Check (push) Failing after 0s
Stale bot / stale (push) Failing after 0s
PR #21334.
2024-09-16 18:10:13 +08:00
Chocobo1
23f7275bd5
Merge pull request #21333 from Chocobo1/random
Improve PRNG functions
2024-09-16 17:56:19 +08:00
Thomas Piccirello
d2b2afad23
Support removing tracker from all torrents in WebUI/WebAPI
Closes #20661.
PR #21056.
2024-09-16 17:47:10 +08:00
skomerko
d19f7b12d9
WebUI: Improve hash copy actions in context menu
This PR provides better feedback for hash context menu actions and now it is clearly shown if there is anything to copy.

PR #21321.
2024-09-16 17:41:14 +08:00
skomerko
6df1f68ead
WebUI: Use Map instead of Mootools Hash in Torrents table
PR #21308.
2024-09-16 17:34:49 +08:00
Burnerelu
e06b7f8f4d
Enable customizing the save statistics time interval
This change extends the Advanced section of the Preferences menu with a new field, allowing changing the time statistics save interval. A zero value will prevent recurrent saving.

This aims to provide the feature requested in issue #21285.

PR #21291.
2024-09-16 17:16:59 +08:00
Chocobo1
3058158b69
Use modern function for getting random numbers on Windows
The previous `RtlGenRandom()` just redirects to `ProcessPrng()` according to "The Windows 10
random number generation infrastructure" whitepaper from MS.

`ProcessPrng()` is also the de facto PRNG for Rust lang:
aa13fa5882/src/windows.rs (L3C1-L22C81)
And for golang:
https://go-review.googlesource.com/c/go/+/536235
2024-09-14 23:20:07 +08:00
skomerko
0ea35c54a3
WebUI: Improve torrent deletion
Some checks failed
CI - File health / Check (push) Failing after 0s
CI - Python / Check (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Failing after 0s
CI - WebUI / Check (push) Failing after 0s
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Has been cancelled
CI - Windows / Build (1.2.19) (push) Has been cancelled
CI - Windows / Build (2.0.10) (push) Has been cancelled
Stale bot / stale (push) Failing after 0s
* Added 'Confirm when deleting torrents' option to the WebUI
* Confirm deletion dialog now uses MUI.Modal

PR #21289.
Closes #18345.
2024-09-13 22:28:02 +08:00
Chocobo1
dbef6da544
Use modern function for getting random numbers on Linux
Now we don't need a file handle anymore and there is no initialization involved in this new
implementation.
2024-09-13 22:27:42 +08:00
Chocobo1
a0c32110f1
Add URL link for reverse proxy setup examples
The link is helpful for users whom needs to setup reverse proxy.

PR #21305.
2024-09-13 22:18:31 +08:00
skomerko
435385816a
WebUI: Provide 'Merge trackers to existing torrent' option
Some checks failed
CI - File health / Check (push) Failing after 0s
CI - Python / Check (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (1.2.19, GUI=ON, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=OFF, 6.5.2) (push) Failing after 0s
CI - Ubuntu / Build (2.0.10, GUI=ON, 6.5.2) (push) Failing after 0s
CI - WebUI / Check (push) Failing after 0s
CI - macOS / Build (1.2.19, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (1.2.19, GUI=ON, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=OFF, 6.7.0) (push) Has been cancelled
CI - macOS / Build (2.0.10, GUI=ON, 6.7.0) (push) Has been cancelled
CI - Windows / Build (1.2.19) (push) Has been cancelled
CI - Windows / Build (2.0.10) (push) Has been cancelled
Stale bot / stale (push) Failing after 0s
PR #21302.
2024-09-10 11:12:30 +03:00
skomerko
1b53fdf9ee
WebUI: Improve subcategories
Now they should fully match GUI behavior, please let me know if I missed something.
Still plenty of room to improve them further (e.g styling/CSS) but for now I wanted to keep the changes to the minimum.

Also included small tweaks to category context menu actions.

PR #21269.
2024-09-08 15:21:11 +08:00
Andarwinux
f00c5c9fa3
Opt into Windows SegmentHeap
SegmentHeap provides a faster malloc implementation that only available with Dynamic UCRT in Windows 10, version 2004 (build 19041) and later.

PR #21263.
2024-09-08 15:09:34 +08:00
Chocobo1
130c0d8487
Revise cookie 'secure flag' enable condition
The localhost is 'potentially trustworthy' and RFC 6265 allows setting secure flag in this case.
Also check `X-Forwarded-Proto` header value to support reverse proxy usage.

Note: for reverse proxy users, now the `X-Forwarded-Proto` header is expected to be sent to qbt
otherwise the `secure` flag might be set erroneously.

https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.2.5
https://w3c.github.io/webappsec-secure-contexts/#is-origin-trustworthy

Closes #21250.
PR #21260.
2024-09-07 21:38:27 +08:00