Commit Graph

15825 Commits

Author SHA1 Message Date
Dzmitry Neviadomski 1c18737e67
refactor: move macOS default app logic to dedicated class (#6120) 2023-10-30 20:44:32 -04:00
github-actions[bot] aa307d5696
chore: update generated transmission-web files (#6185) 2023-10-30 17:07:49 -04:00
Charles Kerr f0e9f90782
refactor: move tr_session::getAllTorrents to tr_torrents (#6179) 2023-10-30 16:38:02 -04:00
Mike Gelfand 1c421d6d23
Minor CMake maintainability improvements (#6186)
* Prefer `PROJECT_{SOURCE,BINARY}_DIR` to `CMAKE_` ones

* Extend use of 3rd-party dir vars to reduce duplication

* Fix typo in submodule repo name

* Remove `CURL::libcurl` target fallback

The target is always available since CMake 3.12, which is our current
minimum version.
2023-10-30 20:44:34 +03:00
Dzmitry Neviadomski c697d95ad3
fix: crash after nullptr dereference in rpcimpl (#6177) 2023-10-30 13:30:10 -04:00
Rukario ccce37ba6c
refactor: unified shadow properties for web client (#5840) 2023-10-30 12:22:32 -04:00
Charles Kerr e27b05bcec
refactor: make class methods private (#6181) 2023-10-30 02:32:29 -04:00
Yat Ho b7c5aca6ad
feat: update `TR_VCS_REVISION` when git HEAD changes (#6100) 2023-10-30 02:03:40 -04:00
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