1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 21:14:33 +00:00

1077 Commits

Author SHA1 Message Date
Vladimir Golovnev
c80238d66f
Don't use extra variable to distinguish restored torrents
PR #17984.
2022-11-06 14:24:49 +03:00
Hanabishi
6a560016dd
Implement Peer ID Client column for Peers tab
PR #17940.
2022-11-06 12:21:31 +08:00
Chocobo1
99b7663fa9
Revise interface of port forwarder
This eases the usage of port forwarder as the caller code doesn't need
to store previous used port and now can rely on port forwarder doing
all the hard work.

PR #17967.
2022-11-05 11:33:21 +08:00
Chocobo1
be0f34a69e
Merge pull request #17900 from Chocobo1/alerts
Handle all types of alerts on shutdown
2022-11-03 12:29:38 +08:00
Chocobo1
3a2e73cc94
Avoid out-of-bounds access
This happens when the `index` is a negative number.
Added `Q_ASSERT()` to catch coding errors at debug run time.

PR #17953.
2022-10-31 12:34:20 +08:00
xavier2k6
3ee0457cfa
Raise minimum libtorrent versions to 1.2.18/2.0.8
PR #17954.
2022-10-30 08:30:31 +03:00
Vladimir Golovnev
e19173c1f3
Prevent new torrent from saving resume data twice
PR #17951.
2022-10-30 08:28:51 +03:00
Vladimir Golovnev
4a5d2e2558
Correctly initialize torrent stop condition
PR #17950.
2022-10-30 08:28:13 +03:00
Vladimir Golovnev
c29a6079bf
Don't forget to create stop_condition column
PR #17935.
2022-10-26 18:25:52 +03:00
Vladimir Golovnev
bb2caabd61
Correctly destroy startup resume data storage
PR #17930.
2022-10-25 11:37:51 +03:00
Chocobo1
dfdaa706bd
Move code around 2022-10-24 00:34:25 +08:00
Chocobo1
1a782a9362
Avoid redundant lookups in port forwarder 2022-10-24 00:34:25 +08:00
Chocobo1
5f2d807861
Ensure ongoing storage moving job will be completed when shutting down
Discussion: https://github.com/qbittorrent/qBittorrent/pull/17885#issuecomment-1282467041
2022-10-23 17:55:58 +08:00
Nathan Lewis
f2dd1e6456
Add a "Use proxy for hostname lookup" option
Add a UI option for "Use proxy for hostname lookup" option and plumb
it into libtorrent's settings_pack.proxy_hostnames option.  This is
available for SOCKS5 and HTTP proxies, and defaults to true, which
is the previous functionality.  Hostname lookups can be forced to be
local by unchecking this option, which can aid compatibility with
certain non-compliant proxy servers.

Closes #17902.
PR #17904.

Co-authored-by: Nathan Lewis <saturn@saturn49.dyndns.org>
2022-10-23 15:31:02 +08:00
Vladimir Golovnev
05b7194bf7
Correctly set "stop condition" on force recheck invoked
PR #17915.
Closes #17913.
2022-10-22 17:43:17 +03:00
Chocobo1
106adf135c
Handle all types of alerts on shutdown
There might be alerts already queued in buffer waiting to be handled at
the time of pausing the session, so don't skip over them.
2022-10-18 14:31:57 +08:00
Chocobo1
a325ab8d6e
Delay saving session statistics
Pausing the libtorrent session should be scheduled before this.
2022-10-17 13:53:55 +08:00
Chocobo1
c94152c47c
Reuse alert dispatcher
Instead of using a specific alert handler in `SessionImpl::saveResumeData()`, reuse the generic
one.
2022-10-17 13:53:54 +08:00
Chocobo1
a44bca3f07
Revise "save resume data" handling on shutdown
When shutting down, instead of waiting for all types of alert from
libtorrent, now it only waits for specific alert types. This potentially
help shorten the shutdown waiting time.
2022-10-17 13:53:27 +08:00
tristanleboss
e028d8085b
Add a "Moving" status filter
Because sometime (when your save and download path are on different drives, when your disk drive is super busy, ...) move operations can stack up, I add this "Moving" status filter so you can see in a blink of the eye which torrents are in a move state.

PR #17810.
2022-10-14 13:12:51 +08:00
Vladimir Golovnev
4f0990dc29
Use 'fail if exist' strategy on automatic move
Prevent existing files overwriting when torrent is moved automatically (e.g. when moved from incomplete to final save path).

PR #17855.
2022-10-11 10:05:21 +03:00
Vladimir Golovnev
67357e9964
Allow to set torrent stop condition
PR #17814.

Closes #17792.
Closes #929.

(Actually it should close all issues about lack of ability to stop torrent after metadata downloaded or after files are initially checked.)

Also makes explicit the temporary start of the torrent in the case when recheck of the stopped torrent is performed.
2022-10-09 16:07:16 +03:00
Chocobo1
1f799689ed
Support 'file exists' situation
The lt::status_t::file_exist is returned when lt::move_flags_t::fail_if_exist is used, which means the whole move operation failed. So hanlde this condition correctly (even if the fail_if_exist isn't used in the code base currently).

PR #17853.
2022-10-09 13:47:52 +08:00
tristanleboss
a71d7e6557
Add infohash and download path columns
PR #17799.
2022-10-08 11:43:52 +08:00
Vladimir Golovnev
e7370d1a0f
Don't pollute move queue by torrents w/o metadata
There's really nothing to move if the torrent still doesn't have metadata.
Additionally, such torrents in the queue can lead to unexpected behavior
when reloading the torrent after metadata is received.

PR #17823.
2022-10-04 19:41:36 +03:00
Vladimir Golovnev
616057a433
Improve session statistics handling
PR #17779.
2022-09-29 06:49:34 +03:00
Vladimir Golovnev
0a4ee60ea0
Avoid blocking call when save resume data
PR #17755.
2022-09-25 16:40:16 +03:00
Chocobo1
b28704a6ec
Merge pull request #17725 from Chocobo1/downloadsDone
Clean up 'recursive download' related code
2022-09-16 12:07:36 +08:00
Chocobo1
f8a2fbc4c5
Clean up 'recursive download' related code
Don't load .torrent files too early, otherwise qbt might emit a dubious error log message if the
.torrent file is invalid.
2022-09-15 00:15:53 +08:00
Chocobo1
80759f9e69
Reorder operations in 'torrent finished' handler
Avoid redundant data fetch.
Remove debug messages.
2022-09-15 00:12:11 +08:00
Chocobo1
e692a191ed
Revise 'Add trackers' dialog
* Now it allow user to add tracker to different tier.
* The downloaded trackers are now displayed as is (without modifying).
* Now the dialog remember dialog size and last used URL.

Closes #17692.
2022-09-14 01:20:30 +08:00
Vladimir Golovnev
5cf6b1cbde
Handle more torrent conflicts
PR #17668.
This is a continuation of #17576.
Handles the case when you add hybrid torrent by v1-only magnet link and this torrent is already known by its full hybrid info hash (i.e. by both v1 and v2 info hashes).
2022-09-05 06:22:42 +03:00
Vladimir Golovnev
ca897a8a35
Cache download/upload limit values
PR #17640.
2022-09-01 06:54:51 +03:00
Vladimir Golovnev
77dd8bd27b
Parse torrent info separately from resume data
PR #17639.
2022-09-01 06:54:12 +03:00
Vladimir Golovnev
fe34749cfe
Proactively append extension to incomplete files
PR #17631.
2022-09-01 06:53:29 +03:00
Vladimir Golovnev
794a92f911
Make qBittorrent compatible with libtorrent master
PR #17604.
2022-08-28 11:38:28 +03:00
Chocobo1
f6e2715f4a
Apply forward declaration
Follow up 525692759de15391eec1760085b95f3042881c35.
PR #17621.
2022-08-28 13:25:38 +08:00
Vladimir Golovnev
525692759d
Split Session class into interface/implementation parts
PR #17579.
2022-08-27 08:01:24 +03:00
Vladimir Golovnev
7527343629
Handle some torrent conflicts
PR #17576.
2022-08-23 07:47:20 +03:00
Vladimir Golovnev
7f40602da9
Fill in initial data in add_torrent_alert handler
libtorrent < 2.0.7 has a bug that add_torrent_alert is posted too early
(before torrent is fully initialized and torrent extensions are created)
so we have to fill initial torrent data in add_torrent_alert handler.

PR #17491.
2022-08-06 06:09:35 +03:00
summer
54b50c3a8a
Do not inhibit system sleep/auto shutdown for torrents stuck at downloading metadata
PR #17481.
2022-08-04 13:10:58 +08:00
Vladimir Golovnev
e24aaa4ce1
Show startup progress dialog
PR #17389.
2022-08-03 07:14:26 +03:00
Vladimir Golovnev
6d1573f901
Prevent multiple session refreshes from being enqueued 2022-08-01 08:14:09 +03:00
Vladimir Golovnev
1c0479a795
When duplicate torrent is added set metadata to existing one
PR #17454. 
Closes #907.
2022-07-31 08:53:26 +03:00
Vladimir Golovnev
29f8b4b786
Don't merge trackers by default
PR #17446.
2022-07-29 15:40:40 +03:00
summer
2071ec0c96
Fix peer count issue when tracker responds with zero figure
Sometimes tracker may respond with 0 for num_complete and num_incomplete and we should display that instead of deducing the peer count from peer list. We should only fallback to peer list if tracker does not respond with any information. In such cases num_incomplete and num_complete is set to -1 by libtorrent.

PR #17432.
2022-07-27 13:09:06 +08:00
Chocobo1
e95066a37c
Merge pull request #17367 from Chocobo1/pr_17005
Split the OS cache settings into Disk IO read/write modes
2022-07-17 16:14:58 +08:00
Chocobo1
56bb379024
Add workaround for payload upload/download rate
The graphs are showing 0 for both payload upload & download rate but
torrent statistics aren't, so suppress it manually.
The workaround only applies to paused state for now.

Closes #17294.
2022-07-15 12:20:09 +08:00
Chocobo1
bafe4e909c
Use switch() statement 2022-07-15 12:20:09 +08:00
Chocobo1
b6b0b54cdb
Rename variable 2022-07-15 12:17:39 +08:00