Commit Graph

1154 Commits

Author SHA1 Message Date
Vladimir Golovnev
a59301712e Avoid race condition when waking worker thread
PR #19005.
2023-05-23 02:22:16 +03:00
Vladimir Golovnev
c10f1f0ad2 Consider explicitly specified parameters when resolving optional ones
PR #18955.
Closes #18951.
2023-05-11 09:09:57 +03:00
Vladimir Golovnev
58ae98026b Try to detect system wake-up event
PR #18934.
Closes #17898.
2023-05-10 15:02:15 +03:00
Chocobo1
32a55551fe Merge pull request #18936 from Chocobo1/tidy
Code clean up
2023-05-08 13:11:11 +08:00
Vladimir Golovnev (Glassez)
bb959bda8c Add helpers for suggesting torrent paths 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
6fa53b5ed8 Override add torrent params in a more comprehensible way 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
c777ed3299 Correctly use fallback value for "Add to top of queue" option 2023-05-07 16:34:56 +03:00
Vladimir Golovnev (Glassez)
905f141657 Revamp "Automated RSS downloader" dialog 2023-05-07 16:34:52 +03:00
Vladimir Golovnev (Glassez)
0a87bb368f Extract "add torrent params" serialization code 2023-05-07 16:33:32 +03:00
Chocobo1
73134d5f4d Initialize member variables 2023-05-07 16:30:56 +08:00
Chocobo1
e7e5c38384 Remove superfluous header include 2023-05-06 16:48:49 +08:00
Chocobo1
9a00839a75 Simplify code 2023-05-06 16:35:13 +08:00
Chocobo1
e408973ee6 Add pointer qualifications to auto-typed variables 2023-05-06 16:35:13 +08:00
Chocobo1
8c9b6e2f2d Use reference whenever possible 2023-05-06 16:35:13 +08:00
Chocobo1
8219b1f695 Use default constructor, destructor 2023-05-06 16:35:12 +08:00
Chocobo1
3fbe380582 Remove redundant function declaration 2023-05-05 14:51:02 +08:00
Chocobo1
5f00d42a49 Drop superfluous const 2023-05-05 14:51:02 +08:00
Vladimir Golovnev
5a1dcbae9c Don't make assertion about 3rd party logic
PR #18913.
2023-05-03 07:24:52 +03:00
Vladimir Golovnev
d83b2a6131 Make sure ResumeSessionContext is destroyed before start processing
PR #18912.
2023-05-02 09:48:49 +03:00
Vladimir Golovnev
821e946bbe Remove outdated code
PR #18908.
2023-05-01 08:29:35 +03:00
Deltadroid
634eb4a183 Replace status_t with disk_status
libtorrent 2.1 has made the following change:
"make status_t a proper flag type, to clean up oversized_file indication
from disk subsystem"

PR #18879.
2023-04-30 10:12:15 +03:00
Vladimir Golovnev
1bd499565e Completely initialize native status on torrent creation
PR #18900.
2023-04-30 10:09:09 +03:00
Vladimir Golovnev
51132c817b Improve move storage handling
PR #18857.
Closes #18795.
2023-04-18 08:06:18 +03:00
Vladimir Golovnev
b3e9c46eff Don't miss saving "download path" in SQLite storage
PR #18844.
Closes #18842.
2023-04-13 06:18:09 +03:00
Chocobo1
77411760a0 Expose 'socket send/receive buffer size' options
Closes #18794.
2023-04-05 18:11:13 +08: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
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
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
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
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
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
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