Chocobo1
fccbc5318a
Drop logging level to warning for web seed errors
2019-09-15 14:55:16 +08:00
Mike Tzou
12c127b482
Merge pull request #11227 from Chocobo1/alert
...
Handle "alerts dropped" alert from libtorrent
2019-09-15 13:02:34 +08:00
Chocobo1
edcc74c1ae
Add option to align file to piece boundary when creating new torrent
...
Alignment is achieved by adding dummy pad files between files which is
handled by libtorrent.
Closes #10460 .
2019-09-14 12:16:50 +08:00
Chocobo1
5e1e983928
Handle "alerts dropped" alert from libtorrent
2019-09-14 12:09:13 +08:00
Chocobo1
2396ef5bd6
Move error logging of adding peers to the proper place
2019-09-04 16:09:24 +08:00
Chocobo1
3104291734
Add check for null pointer
...
Fix up d657c87243
.
2019-09-03 22:26:41 +08:00
Mike Tzou
4363082173
Merge pull request #11104 from Chocobo1/resume
...
Fix unable to remove web seeds
2019-09-03 12:12:56 +08:00
Chocobo1
2a66bb3127
Construct QHostAddress more efficiently
2019-09-01 22:33:01 +08:00
Chocobo1
4aab44e779
Always save info dict when saving fastresume
...
Otherwise torrents loaded from fastresume won't have it and needs
to redownload it from elsewhere and slowing down the startup process.
This is also required for the future where we will drop loading the
`info` dict from .torrent files.
2019-08-31 22:59:33 +08:00
Chocobo1
d657c87243
Fix unable to remove web seeds
...
As suggested in post [1] we don't need to assign the `ti` field anymore when fastresme
already contains the `info` dict.
[1]: https://github.com/arvidn/libtorrent/issues/3946#issuecomment-523300003
2019-08-31 22:52:22 +08:00
Mike Tzou
62a3938480
Merge pull request #11085 from Chocobo1/model
...
Better on-demand reloading of torrent data
2019-08-30 12:45:57 +08:00
Chocobo1
09503b58fa
Clean up loadTorrentResumeData()
2019-08-27 15:01:50 +08:00
Chocobo1
f3ce76110b
Simplify code
...
Instead of using dict_find_list() now we use the simpler dict_find()
since we are going to check its validness anyway.
2019-08-27 15:01:50 +08:00
Chocobo1
3a11c23efd
Fix wrong "added on" date
...
This only happens for magnet links when its metadata has yet to be retrieved.
Closes #11124 .
2019-08-27 15:01:50 +08:00
Mike Tzou
5c7f9530ee
Merge pull request #11060 from Chocobo1/tracker
...
Improve embedded tracker
2019-08-22 12:18:56 +08:00
Chocobo1
8d0d8e4dcb
Improve embedded tracker
...
Now it conforms to BEPs more closely.
2019-08-21 18:05:50 +08:00
Chocobo1
bbecf87292
Handle invalid time activity properly
...
When there is no activity before m_nativeStatus.last_upload will be 0
and this commit will map it to -1 which retain the expected behavior as
before (libtorrent < 1.2 era).
2019-08-21 17:45:04 +08:00
Chocobo1
1f3bf75fff
Better on-demand reloading of torrent data
2019-08-17 15:44:16 +08:00
Chocobo1
94f7a095bb
Implement proper equal operators
2019-08-16 01:35:41 +08:00
Mike Tzou
767f024585
Merge pull request #7475 from thalieht/ratiosuperseed
...
Add option to enable Super Seeding mode once ratio/time limit is reached. Closes #7160 .
2019-08-10 11:33:09 +08:00
thalieht
1f6f1716ad
Enable Super Seeding mode once ratio/time limit is reached
2019-08-09 13:06:34 +03:00
Mike Tzou
2427f5d324
Merge pull request #11041 from Chocobo1/splitRef
...
Revise operations in TorrentHandle class
2019-08-09 12:27:44 +08:00
Chocobo1
c420ff29af
Revise operations in TorrentHandle class
2019-08-08 18:57:54 +08:00
Chocobo1
b5b678c58f
Replace QString::split() by faster alternatives
2019-08-08 18:57:54 +08:00
Chocobo1
672b44acba
Let OS assign listening port
...
This applies when "Use different port on startup" option is selected.
2019-08-08 13:14:25 +08:00
Chocobo1
c19f8f6b5e
Use a randomized port number for the first run
2019-08-08 13:14:23 +08:00
Mike Tzou
7f1bff4eb4
Merge pull request #11017 from Chocobo1/apictrl
...
Improvements to APIController class
2019-08-06 10:17:27 +08:00
Chocobo1
d92bf13706
Use a QString directly instead of QStringList
2019-08-05 20:56:16 +08:00
Chocobo1
e90a2c00a5
Replace QList by QVector
2019-08-05 20:56:15 +08:00
Chocobo1
f4e7b8c6bf
Replace QMap with QHash
2019-08-05 09:51:39 +08:00
Mike Tzou
3811612f80
Merge pull request #10982 from Chocobo1/cleanup
...
Code base cleanup
2019-07-31 14:24:42 +08:00
Chocobo1
c1659a189b
Fix messed up symbols in log
2019-07-31 02:10:22 +08:00
Chocobo1
38fa6d2aee
Fix incomplete file extension not applied for new torrents
2019-07-28 13:05:46 +08:00
Chocobo1
7ab3479a34
Replace static_cast by qOverload
2019-07-26 22:32:18 +08:00
Chocobo1
ccec50e18e
Improve parsing in BitTorrent::PeerAddress::parse
2019-07-24 22:22:02 +08:00
Vladimir Golovnev
02ab77053e
Merge pull request #10961 from glassez/fastresume
...
Save updated resume data for completed torrents
2019-07-23 18:47:30 +03:00
Vladimir Golovnev
cf2e7d77d6
Merge pull request #10950 from glassez/drop-deprecated
...
Don't use deprecated libtorrent features
2019-07-23 09:19:15 +03:00
Vladimir Golovnev (Glassez)
4021a0c7ce
Store libtorrent native file index in QHash
2019-07-23 06:43:39 +03:00
Vladimir Golovnev (Glassez)
3d70ebfc46
Save updated resume data for completed torrents
...
If fastresume data was rejected we need to save updated
resume data after torrent finishes rechecking.
2019-07-23 06:32:13 +03:00
Vladimir Golovnev (Glassez)
ad6a40d5f4
Extract PeerAddress class into separate file
2019-07-23 06:27:35 +03:00
Vladimir Golovnev (Glassez)
b822d2c380
Fix requested torrent resume data handling
...
Session should increase an appropriate counter each time
the torrent resume data is requested to save.
2019-07-22 14:22:26 +03:00
Vladimir Golovnev (Glassez)
60ffa3030e
Don't use deprecated libtorrent features
2019-07-21 19:28:28 +03:00
Chocobo1
4a90716843
Add override keyword to functions
2019-07-19 11:58:56 +08:00
Vladimir Golovnev
17541b0d34
Merge pull request #10921 from glassez/ignore-actions
...
Ignore some actions on uninitialized torrents
2019-07-15 08:44:42 +03:00
Vladimir Golovnev (Glassez)
87d98403f4
Don't break torrent checking
2019-07-14 12:34:50 +03:00
Vladimir Golovnev (Glassez)
9462685c78
Ignore some actions on uninitialized torrents
...
Some actions can lead to an inconsistent state if applied
to an uninitialized torrent, so we just ignore them.
2019-07-14 12:34:28 +03:00
Vladimir Golovnev
b9da9ebfdf
Merge pull request #10910 from glassez/fix-add-torrent
...
Avoid race conditions when adding torrent
2019-07-14 10:45:05 +03:00
thalieht
7b31868e3c
Rename priority to queue in the context of torrents
2019-07-13 14:04:16 +03:00
Vladimir Golovnev (Glassez)
644dc9792d
Avoid race conditions when adding torrent
2019-07-13 12:06:07 +03:00
Mike Tzou
24932f6cb6
Merge pull request #10895 from Chocobo1/tracker
...
Add dialog to mass edit torrent's tracker
2019-07-12 10:59:50 +08:00
Chocobo1
9e7f50517e
Add "Tracker entries" dialog
2019-07-11 12:10:19 +08:00
Vladimir Golovnev (Glassez)
9399b876eb
Fix torrent checking issues
...
Start all torrents auto-managed to prevent simultaneous checking
of multiple torrents.
Handle checking state of paused torrent to prevent it from being
resumed when qBittorrent is closed until checking isn't complete.
2019-07-09 08:54:50 +03:00
Chocobo1
b9094ff8a5
Use proper log message when there are no error
2019-07-05 23:46:12 +08:00
Chocobo1
664cfe7d69
Fix torrent properties not saved for paused torrents
2019-07-05 23:46:12 +08:00
Chocobo1
c4dbe84832
Use newer libtorrent API
2019-07-05 23:46:12 +08:00
Chocobo1
ed2199b91c
Add "File pool size" option
2019-07-03 18:06:07 +08:00
Chocobo1
6286bc716c
Add "Socket backlog size" option
...
The default value in libtorrent is 5 which is too small nowadays.
The new default value 30 is chosen to be in line with
QTcpServer::maxPendingConnections().
2019-07-03 17:36:56 +08:00
Chocobo1
73cf3fb68f
Use LogMsg() helper
2019-07-02 22:34:22 +08:00
Chocobo1
2bc91fba3e
Use newer libtorrent API
2019-06-28 20:36:31 +08:00
Chocobo1
042cd4267f
Remove upper limit of "Disk cache" setting
2019-06-22 17:13:24 +08:00
Chocobo1
11fdf91196
Suppress compiler warning
...
The debug message is emitting a format mismatch warning.
Fixup 4880dc812c
.
And add curly brackets to if statement.
2019-06-21 00:32:12 +08:00
Chocobo1
e31c1ca780
Use functor based QMetaObject::invokeMethod
2019-06-20 11:36:38 +08:00
Chocobo1
4880dc812c
Use appropriate type
2019-06-19 18:52:24 +08:00
Chocobo1
a6c5a90630
Remove redundant variable
2019-06-19 18:52:24 +08:00
Chocobo1
623210df58
Improve handleFileErrorAlert error message
2019-06-19 18:52:23 +08:00
Vladimir Golovnev (Glassez)
8e65317d61
Rename "fromNativePath" to "toUniformPath"
...
Unlike "toNativePath" which name clearly reflects the function result
"fromNativePath" has no such clear meaning.
Since this function converts path into uniform format "toUniformPath"
is better name.
2019-06-17 15:55:49 +03:00
Chocobo1
a64f3bbc6a
Reorder if conditions slightly
2019-06-15 19:08:24 +08:00
Chocobo1
9893a415c0
Fix updated save path not saved for paused torrents
2019-06-15 19:08:23 +08:00
Chocobo1
7d860b6c24
Log save_resume_data_failed_alert
2019-06-15 19:08:23 +08:00
Chocobo1
4e87aebf55
Don't remove parent directories
...
QDir::rmpath removes *all* parent directories while QDir::rmdir removes
the specified directory.
2019-06-15 19:08:23 +08:00
Chocobo1
440860c4a9
Properly remove empty leftover folders after rename
...
TorrentInfo::origFilePath will return the very original path from
.torrent file, not the most recent file path before the rename operation
and thus the code would not be working as we expected.
2019-06-15 19:08:23 +08:00
Chocobo1
8191f1498a
Log file rename failed errors
2019-06-09 19:07:43 +08:00
Mike Tzou
c95650c4f3
Merge pull request #10752 from thalieht/fw-declare
...
Forward declare and remove some unused #include
2019-06-06 10:18:26 +08:00
thalieht
9995967fbf
Remove some unused #include
2019-06-04 17:48:55 +03:00
thalieht
4370a7eb12
Forward declare in a few places
2019-06-04 17:48:55 +03:00
Vladimir Golovnev
6f6033cf1c
Merge pull request #10754 from glassez/fix-magnet
...
Disable "Upload mode" when start preloaded torrent. Closes #10751
2019-06-04 10:56:11 +03:00
Vladimir Golovnev (Glassez)
b644d6685f
Disable "Upload mode" when start preloaded torrent
2019-06-04 07:14:21 +03:00
Vladimir Golovnev (Glassez)
4ae4ae3cfc
Fix wrong indentation
2019-06-04 06:55:45 +03:00
Vladimir Golovnev (Glassez)
2c145fa57c
Fix incorrectly set torrent startup flag
2019-06-04 06:53:17 +03:00
Chocobo1
411b956009
Fix speed limit not applying to IPv6 peers
...
`TORRENT_USE_IPV6` is not used by libtorrent 1.2 anymore.
2019-06-02 15:00:27 +08:00
Chocobo1
3f2ce8a2b7
Remove unused stats_alert handler
...
Fixup 0fe9cd05c4
.
2019-06-01 11:43:00 +08:00
Chocobo1
39830986c2
Use alert's timestamp
...
This way has better accuracy than running our own timer.
2019-06-01 11:40:23 +08:00
Chocobo1
0fe9cd05c4
Avoid using deprecated stats_alert
...
From libtorrent doc:
This alert has been superseded by calling post_torrent_updates() regularly on the session object.
2019-05-31 10:58:23 +08:00
Chocobo1
45bafab4e0
Log performance alerts from libtorrent
2019-05-27 14:46:33 +08:00
Chocobo1
9232dd30dc
Sort function declarations
2019-05-27 09:29:59 +08:00
Chocobo1
1b0ffd7781
Fix wrong logic
...
The error is caused by silly copy-paste error.
Fixup 09ff735007
.
2019-05-25 14:55:27 +08:00
Chocobo1
09ff735007
Use newer libtorrent API
...
This commit covers trackerentry.cpp only.
2019-05-25 11:22:57 +08:00
Chocobo1
ed6bb0efdc
Replace QList by QVector for tracker related operations
2019-05-22 12:57:22 +08:00
Chocobo1
cb4c53c848
Follow the type used in libtorrent
2019-05-19 18:51:09 +08:00
Chocobo1
e92209475e
Use range-based for loops
2019-05-19 18:51:09 +08:00
Chocobo1
10e1c35998
Avoid unnecessary double lookup
2019-05-19 12:06:18 +08:00
Chocobo1
6738cdd715
Constify exception references
2019-05-19 12:06:18 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible
2019-05-19 12:06:18 +08:00
Mike Tzou
3d6dccc689
Merge pull request #10627 from Chocobo1/alg
...
Improve removeIf() to support other types
2019-05-16 10:45:55 +08:00
Chocobo1
459cdf6071
Fix assertion fail
...
When fileSize == 0, the second index could be smaller than the first index,
thus trigger the assert check in IndexInterval constructor.
Closes #10611 .
2019-05-15 10:22:21 +08:00
Chocobo1
c6f3da1097
Improve removeIf() to support set types
...
We can now replace QMutable*Iterator by removeIf() which usage is more consistent with other
algorithm functions.
2019-05-14 01:26:01 +08:00
Chocobo1
5aaf040300
Remove libtorrentfwd.h
2019-05-13 11:20:42 +08:00
Chocobo1
3955eef50d
Change to lt
namespace
...
Quoting from libtorrent doc:
> In the future, libtorrent will be the alias and lt the namespace name.
2019-05-13 11:20:41 +08:00
Chocobo1
4b263f057d
Use newer libtorrent API
...
This commit covers session.cpp only.
2019-05-13 11:20:41 +08:00
Chocobo1
677a419f0b
Use upstream defined namespace
...
`lt` namespace is defined since libtorrent 1.1.6 and our master branch requires >= 1.1.10,
so there is no need to add #if condition for it.
2019-05-13 11:20:41 +08:00
Chocobo1
bd8d70bf60
Refactor HTTP query parsing
2019-05-09 12:41:30 +08:00
Chocobo1
69d29af097
Fix '+' char not decoded to space correctly
...
Closes #10606 .
2019-05-09 11:17:41 +08:00
Chocobo1
ae793b7395
Use upstream defined namespace alias
2019-05-06 20:26:15 +08:00
Chocobo1
56434fc8b9
Replace obsoleted QDateTime::fromTime_t()
2019-05-06 20:26:15 +08:00
Chocobo1
3f962ba336
Fix displaying invalid creation date
...
The bug is only observed when using libtorrent 1.2.
2019-05-06 20:26:14 +08:00
Chocobo1
3f10ac55a3
Migrate to update-to-date libtorrent functions
2019-05-06 20:26:14 +08:00
Chocobo1
aaed5f7fe0
Remove unused headers
2019-05-01 11:09:25 +08:00
thalieht
2f3b7642c2
Show user friendly size in error
2019-04-10 11:39:27 +03:00
thalieht
25102b9c5d
Increase the download size limit to 100 MiB
2019-04-10 11:39:27 +03:00
Vladimir Golovnev (Glassez)
ead078a38e
Add preliminary support of libtorrent v1.2
...
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
thalieht
4c53447d35
Remove the max half-open connections option from GUI
...
Its functionality was deprecated long ago.
2019-03-13 21:08:40 +02:00
Vladimir Golovnev
928ce940c9
Merge pull request #10346 from glassez/download-manager
...
Improve "Download manager"
2019-03-10 09:13:07 +03:00
Vladimir Golovnev (Glassez)
746916a963
Use DownloadHandler behind the scenes
2019-03-08 13:00:37 +03:00
sledgehammer999
c2d1af9853
Merge pull request #10338 from sledgehammer999/raise_qt5_ver
...
Raise minimum Qt version to 5.9.0
2019-03-08 00:42:26 +02:00
Vladimir Golovnev (Glassez)
6cb15706f5
Reduce number of DownloadManager signals
2019-03-05 11:28:29 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace
2019-03-05 14:55:22 +08:00
sledgehammer999
5c63ad3b95
Raise minimum Qt version to 5.9.0
2019-03-04 16:48:49 +02:00
Chocobo1
168d3fbdac
Replace deprecated trUtf8()
2019-02-28 12:01:36 +08:00
thalieht
89dce36e98
Use uniform initialization on some default arguments
2019-02-25 17:05:15 +02:00
thalieht
86df25a3e9
Remove some unused stuff
2019-02-16 18:54:18 +02:00
thalieht
8c944bd4e1
Avoid repeating the return type
2019-02-16 18:54:18 +02:00
thalieht
8a3f942385
Don't use 'else' after return/break
2019-02-13 18:23:25 +02:00
Mike Tzou
78ab0e4ba9
Merge pull request #10220 from thalieht/const
...
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
445adb0ab4
Convert pass-by-value arguments to const refs where applicable
2019-02-12 02:45:55 +02:00
thalieht
ca3ce87e06
Add const to many vars and arguments
...
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Vladimir Golovnev
0413a05246
Merge pull request #10242 from glassez/ordered-recheck
...
Force recheck multiple torrents one by one. Closes #9120
2019-02-08 08:19:30 +03:00
Mike Tzou
efed3fc78c
Merge pull request #10256 from Chocobo1/license
...
Add license header
2019-02-08 12:07:08 +08:00
Chocobo1
364a837dbd
Revise comments about C++14
2019-02-05 13:35:54 +08:00
Chocobo1
6d29a3af60
Make use of std algorithms
2019-02-05 13:35:54 +08:00
Chocobo1
f789df7edf
Add license header
2019-02-04 17:28:55 +08:00
Vladimir Golovnev (Glassez)
61925f74fd
Force recheck multiple torrents one by one
...
Closes #9120 .
2019-02-01 18:15:54 +03:00
Vladimir Golovnev
5b82b681cb
Merge pull request #10225 from glassez/http-request
...
Separate URL components before percent-decoding. Closes #9116
2019-01-28 08:46:41 +03:00
sledgehammer999
6fdc02f947
Merge pull request #10201 from sledgehammer999/dead_code
...
Remove leftover tracker authentication code
2019-01-27 22:19:21 +02:00
Vladimir Golovnev (Glassez)
b0446380c6
Separate URL components before percent-decoding
...
Allow special characters in query string parameters.
Closes #9116 .
2019-01-27 15:33:19 +03:00
sledgehammer999
4a414d50f1
Remove leftover tracker authentication code
2019-01-23 02:38:46 +02:00
Chocobo1
04227f5a41
Add QBT_APP_64BIT define
...
Now we use QT_POINTER_SIZE to detect CPU bitness, it has the advantage of applicable to all CPU
architectures not limiting to x86 arch.
2019-01-19 10:14:10 +08:00
Vladimir Golovnev (Glassez)
302c99d7d5
Drop support of libtorrent < 1.1.10
2019-01-11 15:13:17 +03:00
Chocobo1
06e82d10f6
Replace boost::function with std::function
2019-01-06 19:19:57 +08:00
Chocobo1
d013e0922d
Use the proper Qt type
2019-01-06 18:32:01 +08:00
Chocobo1
2b903fc3d1
Move Utils::Misc::isUrl() function
...
All usage of this function gets to call Net::DownloadManager eventually.
2018-12-31 20:00:15 +08:00
Chocobo1
6759446639
Cleanup code
...
Also remove redundant code, it is already handled correctly in subsequent function calls.
2018-12-31 20:00:15 +08:00
Chocobo1
19d6de795c
Drop support for "BC Link" format
...
The format is marked obsolete on 2009.12.28 and has been replaced by magnet links.
http://wiki.bitcomet.com/inside_bitcomet#bc_link_format_obsoleted_as_of_v117
https://www.bitcomet.com/en/changelog
2018-12-31 20:00:15 +08:00
Chocobo1
a5c53ff756
Simplify InfoHash, TrackerEntry class internals
2018-12-26 12:04:41 +08:00
Chocobo1
2a84345835
Mark constructors as explicit
2018-12-26 12:04:40 +08:00
thalieht
d9416299f4
Fix regression on resuming torrents without metadata
2018-12-23 19:23:34 +02:00
Thomas Piccirello
7f349732ee
Send numeric status without translation
2018-12-11 01:37:33 -05:00
Mike Tzou
cf9d903ba9
Merge pull request #9541 from Piccirello/webui-file-priority
...
Set priority for multiple files in one WebAPI request
2018-12-11 13:32:53 +08:00
Thomas Piccirello
c5b8f62780
Set priority for multiple files in one WebAPI request
...
Closes #6259 .
2018-12-10 23:21:09 -05:00
Thomas Piccirello
f27dc977e9
Replace prio namespace with FilePriority enum class
2018-12-10 23:21:09 -05:00
Vladimir Golovnev
fc08091765
Merge pull request #9940 from glassez/error-msg
...
Show error message when Session failed to start
2018-12-09 11:16:17 +03:00