Commit Graph

15791 Commits

Author SHA1 Message Date
Charles Kerr
a952a0731f refactor: remove the tr_error** idiom (#6198)
* refactor: remove the tr_error** idiom

* fix: tr_error::message() is only constexpr in c++20 and up

* chore: silence a couple of g++-12 Wshadow warnings
2023-11-04 11:39:41 -05:00
cmo-pomerium
4d95aa5298 docs: link to open source reverse proxy guide on securing transmission (#5867) 2023-11-03 19:04:15 -05:00
Cœur
86f3483a01 pbxproj refactor (#6184)
* pbxproj refactor:
- Renamed "Copy Files" build phase more explicitly
- Factored "Cocoa.framework" references and removed unused frameworks

* - Made timer.h "Project" only instead of Public

* - Declared libtransmission headers as C++ headers
2023-11-03 17:38:09 -05:00
Dmitry Serov
2a65169461 refactor: remove unnecessary NSNotificationCenter observer removals (#5118) 2023-11-03 12:50:45 -05:00
Yat Ho
a2b547fb50 chore: iwyu (#6201) 2023-11-03 12:03:26 -05:00
github-actions[bot]
d681fa9293 chore: update generated transmission-web files (#6200) 2023-11-03 11:29:36 -05:00
Julien
424a9b5e17 chore: cleanup timespans in remaining headers (#6199)
* chore: cleanup timespans in remaining headers

* fix: reverted change in generated file

See https://github.com/transmission/transmission/actions/runs/6744426558/job/18334261137?pr=6199
2023-11-03 08:31:39 -05:00
Cœur
2e7448c9bc fix: appendSanitizedComponent is too aggressive on non-WIN32 (and not enough aggressive on WIN32) (#6187) 2023-11-03 00:25:42 -05:00
Dzmitry Neviadomski
1b53226853 chore: replace deprecated NSNamePboardType with NSPasteboardTypeName (#6107)
* chore: replace deprecated NSNamePboardType with NSPasteboardTypeName

* chore: remove NSServices section from Info.plist

It appears to be noop on modern macOS if no action specified.
2023-11-03 00:22:45 -05:00
Julien
2df67c1a73 chore: updated some leftover front-facing copyright years (#6196) 2023-11-03 00:21:35 -05:00
Charles Kerr
a6c5dea40c refactor: work around C3779 error in MSVC 14.37.32822 (#6197) 2023-11-02 23:18:11 -05:00
github-actions[bot]
7d1a32c471 chore: update generated transmission-web files (#6193) 2023-11-01 16:13:51 -05:00
Julien
8ac323d5d6 chore: removed copyright timespans in headers (#4850) 2023-11-01 16:11:11 -05:00
sfan5
aaed2eb26c feat: sanitize torrent filenames depending on current OS (#3823)
Instead of applying the limitations of the least common denominator (Windows) everywhere.
2023-11-01 15:27:04 -05:00
Mike Gelfand
c0ee65578c Bump 3rd-party deps versions used on Windows (#6192) 2023-11-01 15:09:45 +03:00
Charles Kerr
e54b17d92e refactor: blocklists (#6189) 2023-10-31 19:20:01 -04:00
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