Commit graph

2004 commits

Author SHA1 Message Date
Chocobo1
5dcc14153f
Move feature macro declaration to build scripts
PR #18825.
2023-04-10 13:38:00 +08:00
Vladimir Golovnev
b8cd614775
Allow to edit RSS feed URL
PR #18807.
Closes #5489.
2023-04-07 14:22:50 +03:00
Chocobo1
cecf2d28e6
Merge pull request #18806 from Chocobo1/buf
Expose 'socket send/receive buffer size' options
2023-04-07 18:19:46 +08:00
Chocobo1
a01f1014b9
Inline variable defined in header 2023-04-05 18:32:18 +08:00
Chocobo1
77411760a0
Expose 'socket send/receive buffer size' options
Closes #18794.
2023-04-05 18:11:13 +08:00
Vladimir Golovnev
0dcb65bb7c
Add option to auto hide zero status filters
* Extract transfer list filter classes into separate files
* Add option to auto hide zero status filters

PR #18801.
Closes #13996.
2023-04-03 10:38:08 +03:00
Vladimir Golovnev
d40be79c69
Implement torrent tags editing dialog
PR #18797.
2023-04-03 10:36:28 +03:00
Vladimir Golovnev
b922441a7c
Correctly handle redirections
PR #18771.
Fixes regression introduced by #18528.
Closes #18764.
2023-03-28 06:26:40 +03:00
Vladimir Golovnev
8bcac1bed2
Reduce default file pool size
PR #18734.
2023-03-21 08:39:06 +03:00
Vladimir Golovnev
cdded6cef7
Add (experimental) I2P support
PR #18717.
Closes #16257.
2023-03-21 08:33:46 +03:00
Chocobo1
a450a7c6e1
Delegate string hashing to standard library
Since standard library could have platform dependent specialized hashing functions.
Also the main idea is to let `qHash` handle whatever integer type `std::hash` returns and mix it with `seed` accordingly.

PR #18715.
2023-03-18 14:09:35 +08:00
Vladimir Golovnev
77aa85fbd3
Provide UI Theme editor
PR #18655.
2023-03-16 10:03:05 +03:00
Vladimir Golovnev
989b1e6c2c
Improve finished torrent handling
PR #18704.
Closes #18694.
2023-03-16 09:45:49 +03:00
Vladimir Golovnev
9ef23d524d
Prevent incorrect log message about torrent content deletion
PR #18692.
Closes #18689.
2023-03-16 09:40:21 +03:00
Vladimir Golovnev
ee6f699b48
Apply adjacent changes within single transaction
PR #18635.
2023-03-04 08:46:19 +03:00
Vladimir Golovnev
ce9bdaef5c
Correctly check for database needs to be updated
* Correctly check for database needs to be updated
* Create index only if not exists
* Double check whether database needs to be updated

PR #18638.
2023-03-02 20:31:38 +03:00
Vladimir Golovnev
37c04fdeed
Prevent possible problem of using incomplete type
PR #18639.
2023-03-02 06:18:51 +03:00
Vladimir Golovnev
c51aa2d573
Index torrents table by queue position
PR #18623.
2023-02-28 08:57:51 +03:00
Vladimir Golovnev
f5b5312cf0
Merge pull request #18528 from glassez/proxy
Allow to use proxy per subsystem
2023-02-27 20:34:51 +03:00
Vladimir Golovnev
8df68ac878
Prevent RSS folder from being moved into itself
PR #18619.
Closes #18446.
2023-02-27 09:08:18 +03:00
Vladimir Golovnev
2f9b313287
Perform own tracking of files progress
PR #18597.
2023-02-26 14:44:58 +03:00
Vladimir Golovnev (Glassez)
cbf591a8b5
Improve SOCKS5 error messages 2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
96da685e5d
Expand the scope of "Proxy hostname lookup" option 2023-02-26 14:27:59 +03:00
Vladimir Golovnev (Glassez)
6ac14d0c57
Allow to use proxy per subsystem 2023-02-26 14:27:41 +03:00
Vladimir Golovnev (Glassez)
4745a40f0b
Allow to specify proxy option per request 2023-02-25 17:30:26 +03:00
Vladimir Golovnev (Glassez)
8993d87b32
Let Search Engine handle its proxy usage 2023-02-25 17:25:41 +03:00
Hanabishi
d75fd3fcde
Show filtered port numbers in logs
PR #18544.
2023-02-18 08:14:27 +03:00
Vladimir Golovnev
9fb9ca47f6
Update the cached state once recheck is started
We have to force update the cached state, otherwise someone will be able to get an incorrect one during the interval until the cached state is updated in a regular way.

PR #18579.
Closes #18559.
2023-02-17 07:12:56 +03:00
Vladimir Golovnev
1e913f46f0
Rename isSeed to isFinished to correctly represent its meaning
PR #18580.
2023-02-17 07:08:00 +03:00
Vladimir Golovnev
4c0ebc0e0f
Access some more data in a non-blocking manner
* Cache URL seeds to access in a non-blocking manner
* Provide non-blocking way to create magnet URI for torrent

PR #18572.
2023-02-16 08:49:16 +03:00
Vladimir Golovnev
7600f59f3a
Prevent precise timers from being used when unnecessary
The implementation of QTimer::singleShot() uses Qt::PreciseTimer if interval is less than 2 seconds. This isn't mentioned in the docs.
Qt::PreciseTimer increases the system's timer resolution which negatively affects power consumption.

PR #18555.
Closes #18350.
2023-02-14 08:26:08 +03:00
Vladimir Golovnev
1be5b3abd8
Revamp torrent content widget
PR #18162.
2023-02-11 15:22:01 +03:00
Vladimir Golovnev
d06f78dbbd
Improve sync API performance
PR #18394.
2023-02-10 17:16:46 +03:00
Vladimir Golovnev
5d4766edbe
Allow to add new torrents to queue top
PR #18518.
Closes #11599.
2023-02-10 17:15:41 +03:00
sledgehammer999
22ea508ff6
Merge pull request #18500 from sledgehammer999/tls_webui
Harden the SSL/TLS web server
2023-02-06 22:40:44 +02:00
sledgehammer999
b2213ded6d
Support TLS 1.2+ only in the server
Closes #18122
2023-02-06 10:32:01 +02:00
sledgehammer999
1ea2fe5b8d
Blacklist bad ciphers for TLS in the server
Prevents the ROBOT attack.
Closes #18483
2023-02-06 10:32:01 +02:00
Vladimir Golovnev
7227d2b2b2
Revert changes of conflict resolution strategy on automatic move
PR #18516.
Closes #18297.
Closes #18495.
2023-02-05 09:29:43 +03:00
Vladimir Golovnev
09e58df03f
Don't increase limits when prefetching metadata for added magnets
Adjusting limits was made based on the belief that "forced" torrents (internally used for prefetching metadata)
are still under limits, but ignore only the queue. This is not really the case. "Forced" torrents ignore the limits
like "maximum active torrents/downloads", so adjusting limits is not required, and what's more, it really causes the
problem of unexpectedly activated previously queued torrents when adding some magnet using "Add new torrent" dialog.

PR #18503.
Fixes #18490.
2023-02-02 06:16:32 +03:00
Vladimir Golovnev
771c58d000
WebAPI: Allow to specify session cookie name
PR #18384.
Closes #18329.
2023-01-17 09:31:17 +03:00
Vladimir Golovnev
32e4371208
Improve startup window state handling
Replace current "Start qBittorrent minimized" option with "Initial window state" that allows to start qBittorrent as "hidden in system tray" while retaining regular "minimize to panel" functionality.

PR #18252.
Closes #487.
2023-01-16 14:57:56 +03:00
Vladimir Golovnev
2b20d5b260
Fix startup performance on Qt5
Use more appropriate container (QList) for resume data queue buffer.
QVector in Qt5 has poor performance of the first element taking operation,
which is used to process the resume data queue. In Qt6, QVector is just an
alias for QList, so there was no problem there.

PR #18387.
Fixes #18341.
2023-01-16 14:45:12 +03:00
Vladimir Golovnev
719e4afd8c
Remove confusing helpers from Session interface
Such helpers do not make practical sense, since they can be trivially implemented on top of the base interface, but at the same time they can lead to undesirable consequences when some calling code requires slightly different behavior than another.

PR #18367.
Fixes #18338.
2023-01-16 14:43:36 +03:00
brvphoenix
b33dc7d831
Unify the way to generate the language list in WebUI and GUI
PR #17994.
2022-12-25 16:44:37 +03:00
Vladimir Golovnev
cfd0c5433e
Re-allow to use icons from system theme
PR #18195.
2022-12-25 16:25:56 +03:00
Vladimir Golovnev
594f9e8632
Use "additional trackers" when metadata retrieving
This can help when the DHT nodes are few.

PR #18251.
Closes #18244.
2022-12-22 08:21:29 +03:00
Vladimir Golovnev
b12fdcf018
Correctly detect drive letter in path
PR #18258.
Closes #18224.
2022-12-20 07:14:31 +03:00
Vladimir Golovnev
84fabf14c8
Merge pull request #18034 from glassez/fetch-async
Fetch data asynchronously
2022-12-15 06:59:29 +03:00
Vladimir Golovnev
0ec47db9cd
Don't drop !qB extension when rename incomplete file
PR #18186.
Closes #18181.
2022-12-15 06:57:07 +03:00
Vladimir Golovnev (Glassez)
40258f6a2f
Stop async worker at correct place 2022-12-14 10:42:40 +03:00