Commit Graph

15767 Commits

Author SHA1 Message Date
Cœur
b72d211d41 Fix building on macOS Mojave (#6180) 2023-10-29 23:32:58 -04:00
Yat Ho
d059669c0e fix: formatting cmdline help message (#6174) 2023-10-29 15:41:39 -04:00
Yat Ho
d224985ef8 fixup! perf: cut down excess copying when downloading (#5907) (#6169) 2023-10-27 00:19:24 -04:00
Charles Kerr
72d2823851 refactor: remove tr_torrentTotalSize() (#6166)
this interim function should have been removed when tr_torrentView() was introduced
2023-10-25 16:37:09 -04:00
Charles Kerr
165cf169e6 refactor: extract the lambda method in tr_variant::Map::find() (#6161)
experimental change for msvc 19.37 ftbfs
2023-10-25 15:36:28 -04:00
github-actions[bot]
31de1b68bd chore: update generated transmission-web files (#6165)
Co-authored-by: ckerr <ckerr@users.noreply.github.com>
2023-10-25 15:32:31 -04:00
Rukario
c4f3ac252f feat: display date & time in torrent detail for web client (#5918) 2023-10-25 15:30:49 -04:00
Rukario
72a86bdf45 fix: fixed graying out buttons in dark mode (#5921) 2023-10-25 14:16:11 -04:00
Charles Kerr
901de536a3 fix: in RPC, default to sort torrents by id (#5604)
When getting all torrents in a batch over RPC, the results are sorted by
info-dict hash. Prior to 4.0.0, they were sorted by ID. This change broke
some peoples' workflows.

I'm OK with breaking workflows if it's necessary to improve the program,
but this was an unintentional side-effect and I don't see any inherent
benefit to either sort order. So this PR restores the 3.00 sort order.

https://xkcd.com/1172/
2023-10-25 13:42:14 -04:00
Yat Ho
5a6f0a5623 fixup! refactor: re-organise net.h member functions (#5878) (#5933)
* fix: check if address is valid in `tr_address::is_any()`

* refactor: add static implementation of `tr_address::is_valid()`
2023-10-25 11:53:46 -04:00
Yat Ho
6e7fdef721 perf: cut down excess copying when downloading (#5907)
* refactor: directly copy from socket to incoming payload

* refactor: directly process the incoming field

There is no need to copy the payload to a new buffer before processing.

`process_peer_message()` isn't going to return until it's done, and nothing else is going to mess with the incoming field while inside `process_peer_message()`.

* refactor: remove while loop

* add assert
2023-10-25 09:51:36 -04:00
github-actions[bot]
f62f7427ed chore: update generated transmission-web files (#6156)
Co-authored-by: ckerr <ckerr@users.noreply.github.com>
2023-10-24 21:31:53 -04:00
Charles Kerr
237223aeaf refactor: prefer std::set over QSet (#5703)
* refactor: use std::set instead of QSet in WatchDir.cc

* refactor: use std::set instead of QSet in FileTreeView.cc

* refactor: use std::set instead of QSet in ColumnResizer.cc

* refactor: use std::set instead of QSet in Prefs.cc

* chore: fix rebase error that changed libsmall snapshot

* refactor: more replace QSet with std::set
2023-10-24 21:14:37 -04:00
Charles Kerr
69b293a793 refactor: minor decoupling in peer-mgr (#6155)
* refactor: minor decoupling in peer-mgr

Pass a tr_torrents& and TimerMaker& into the tr_peerMgr and HandshakeMediator
constructors so they can be used directly instead of via tr_session.

No functional changes.

* refactor: in HandshakeMediator, make the session reference const
2023-10-24 15:24:52 -04:00
Charles Kerr
bbc3ce039f refactor: remove quark support from tr_variant (#6159) 2023-10-24 14:49:23 -04:00
Benedikt Bergenthal
b5eaff114c macosx/BlocklistDownloader.mm: (#6096)
in (void)startDownload: now trimming whitespaces at the beginning and
end of the BlocklistURL, otherwise the download will fail, if the URL
contains a beginning or trailing whitespace.

Signed-off-by: Benedikt Bergenthal <benedikt@kdrennert.de>
Co-authored-by: Benedikt Bergenthal <benedikt@kdrennert.de>
2023-10-24 11:45:45 -04:00
Charles Kerr
eb58996c9f chore: remove unused tr_announce_list::announce_to_scrape(tr_quark) (#6157)
* chore: remove unused tr_announce_list::announce_to_scrape(tr_quark)

* fixup! chore: remove unused tr_announce_list::announce_to_scrape(tr_quark)

fix test oops
2023-10-24 10:58:01 -04:00
Yat Ho
6d958bd5fc feat: do separate IPv4 and IPv6 port checks in WebUI (#5953)
* feat: add `ipProtocol` argument to `port-test` rpc method

* chore: update rpc-spec.md

* feat: split port check UI to IPv4 and IPv6 in webUI

* fix: default `open` to false if cannot get response

* chore: minor docs wording tweak

* chore: make clang-tidy happy

* chore: RPC doc tweaks

* fix: bad merge

* chore: review feedback

Co-authored-by: Charles Kerr <charles@charleskerr.com>

* chore: match quark enum with parameter case

* refactor: use descriptive strings for `ipProtocol`

* chore: update docs

* fixup! refactor: use descriptive strings for `ipProtocol`

* fixup! chore: update docs

---------

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2023-10-24 09:27:28 -04:00
Yat Ho
9d4ad2e330 chore: update build instructions (#6102) 2023-10-23 22:24:51 -04:00
Charles Kerr
735639c5c7 refactor: make tr_torrent::labels_ private (#6153) 2023-10-23 18:11:28 -04:00
Charles Kerr
c0e5e3a368 refactor: reduce coupling between tr_session and tr_peerMgr (#6151) 2023-10-23 11:34:30 -04:00
Dzmitry Neviadomski
fab21fc9c2 feat: add option to set macOS client as default for torrent files (#6099) 2023-10-23 08:33:37 -04:00
Charles Kerr
682e4f2c2b refactor: make tr_torrent::any_date_ private (#6148) 2023-10-21 23:23:08 -04:00
Charles Kerr
8f7330523c chore: remove unused progress arg from tr_torrentSetLocation() (#6147) 2023-10-21 22:33:41 -04:00
Dzmitry Neviadomski
af5da12a71 feat: support dark mode in legacy html-based QuickLook plugin (#6101)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-10-21 20:40:22 -05:00
Yat Ho
2130eb941a refactor: drop jsonsl in favour of RapidJSON (#6138) 2023-10-21 14:00:12 -05:00
Charles Kerr
0457dcb6a8 refactor: make tr_torrent::files_wanted_ private (#6146) 2023-10-21 13:21:05 -05:00
Charles Kerr
8c1291ce8a refactor: make tr_torrent::unique_id_ private (#6145) 2023-10-20 21:23:14 -05:00
Charles Kerr
9e5c528056 refactor: add tr_torrent::stat() (#6143) 2023-10-20 20:35:59 -05:00
Dzmitry Neviadomski
0faad14086 fix: crash when selecting file from recently used in gtk file chooser (#6131) 2023-10-20 17:13:18 -05:00
Dzmitry Neviadomski
6af7cde55e feat: directly open macOS notifications preferences for app (#6121) 2023-10-20 16:01:30 -05:00
Charles Kerr
4b5cbd2a97 chore: bump vulnerable web build deps (#6139) 2023-10-20 15:26:33 -05:00
Cœur
c5f6678c7d fix: larger display group name (#6104) 2023-10-20 12:20:04 -05:00
Yat Ho
88fe76781c perf: connectable pool housekeeping (#6111) 2023-10-19 13:05:19 -05:00
Charles Kerr
4bdb3066d8 refactor: decouple tr_verify_worker from tr_torrent (#6123) 2023-10-19 08:39:34 -05:00
Yat Ho
bb125b5e1e fix: wrong target name in FindSmall.cmake (#6128) 2023-10-18 15:18:38 -05:00
Yat Ho
c70c49e87b fix: encode ip in network byte order for udp announce (#6126) 2023-10-18 09:46:57 -05:00
Charles Kerr
0c3f65e1c6 fix: FTBFS on FreeBSD with clang 14 (#6110) 2023-10-16 19:39:14 -05:00
Yat Ho
0259edbaf3 fix: json string serializer improperly escaping characters (#6005)
* feat: escape json string according to RFC8259

* fix: do not append newline when json serde is in compact mode

* fix: json tests

1. Use the same locale settings as the apps
2. Added additional test case for a string that are known to be prone to locale issues
3. Removed test for escaping non-BMP characters to UTF-16 escape sequences

* chore: add more test cases to `JSONTest.testUtf8`

* chore: order cases in the same order as RFC8259
2023-10-16 19:36:37 -05:00
Dzmitry Neviadomski
d273e0f90e chore: fix warnings in CodeQL workflow (#6106)
- Use separate init config for JavaScript.
 - Update checkout action to v3 for node16 support.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-10-14 21:05:30 -05:00
Yat Ho
6cec60f1fb refactor: store outgoing handshake in tr_peer_info objects (#6103) 2023-10-14 12:58:15 -05:00
Dzmitry Neviadomski
8ef7eba3bd feat: render file tree in legacy html-based QuickLook preview extension (#6091)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2023-10-12 18:53:57 -05:00
github-actions[bot]
1500417704 chore: update generated transmission-web files (#6092)
Co-authored-by: ckerr <ckerr@users.noreply.github.com>
2023-10-09 08:50:22 -05:00
Yat Ho
43aff088d8 fix: only consider piece data in bandwidth limit (#6082)
* fix: only consider piece data in bandwidth limit

* refactor: remove unused `tr_bandwidth::clamp()` signature
2023-10-09 08:49:49 -05:00
Rukario
f2fa47b7a9 Update torrent-row.js (#5857) 2023-10-08 22:23:44 -05:00
github-actions[bot]
732465d533 chore: update generated transmission-web files (#6086) 2023-10-08 22:04:17 -05:00
Charles Kerr
db96771c80 refactor: add tr_torrent::Error helper class (#6077) 2023-10-08 21:33:34 -05:00
Yat Ho
c16ed41a7d feat: better description for forced verify option (#6088) 2023-10-08 20:28:50 -05:00
Yat Ho
0c52b710ad feat: add option to force verify torrent in WebUI (#5981) 2023-10-06 22:52:59 -05:00
Yat Ho
cf1c4f99e9 feat: display full peer address in tooltip (#6081) 2023-10-06 21:33:05 -05:00