Commit Graph

16087 Commits

Author SHA1 Message Date
Mike Gelfand
1de6e93fec Bump CodeQL to v3 (v2 is to be deprecated) (#6521) 2024-01-12 14:00:10 +00:00
Mike Gelfand
8e7fc76930 Make SqueezeLabel [more] accessible (#6520)
Expose label text as accessible value instead of accessible name, and
get accessible name from buddy label as any proper input widget does.
Don't expose label tooltip as accessible description unless it's
different from its text (which isn't the case when displayed text is
truncated). Notify on label text and selection changes.

Switch to `SqueezeLabel` for values in statistics dialog which has
similar layout to information tab of torrent properties dialog.
2024-01-12 03:35:40 +00:00
Ilkka Kallioniemi
35847b3e75 docs: Add Debian 12 instructions (#5866)
* Add Debian 12 installation instructions

* Rename QT to Qt

* Remove GTK4 packages

#5858 bumped minimum required GTK4 past what Bookworm can offer.

* Tr does not bring its own libsystemd-dev
2024-01-11 13:30:12 +00:00
Yat Ho
8b8e9f5c6d fixup! fix: include daemon-specific options in app defaults (#6505)
* fixup! fix: include daemon-specific options in app defaults (#6499)

* fix: windows build failure

* Revert "fixup! fix: include daemon-specific options in app defaults (#6499)"

This reverts commit 92c2106cc607df36aca4ba28e8c20bd96fa87688.

* refactor: define daemon-specific quarks in libtransmission
2024-01-11 13:20:22 +00:00
Mike Gelfand
7e68cfc7e9 Pin ccache to 4.8.3 on AppVeyor (#6519)
Using ccache 4.9 leads to puzzling errors such as C1090 "PDB API call
failed, error code '23'" when building for x64.
2024-01-11 06:55:36 +00:00
Mike Gelfand
852fa6d169 Qt client accessibility improvements (part 1) (#6518)
* Details dialog Information tab a11y improvements

* Details dialog Options tab a11y improvements

* Make torrent dialog a11y improvements

* Relocate torrent data dialog a11y improvements

* Statistics dialog a11y improvements

* Session dialog a11y improvements

* Trackers dialog a11y improvements

* Preferences dialog Speed tab a11y improvements

* Preferences dialog Downloading tab a11y improvements

* Preferences dialog Seeding tab a11y improvements

* Preferences dialog Privacy tab a11y improvements

* Preferences dialog Network tab a11y improvements

* Preferences dialog Desktop tab a11y improvements

* Preferences dialog Remote tab a11y improvements

* Fix filterbar tab order (depends on construction order if not explicit)
2024-01-10 21:01:03 +00:00
Yat Ho
33f11f8679 fix: use one variable to store TR_KEY_rpc_authentication_required (#6514) 2024-01-09 23:12:53 -06:00
Charles Kerr
239478925f fix: performance-enum-size warnings (#6504) 2024-01-08 08:32:58 -06:00
Charles Kerr
9d433ff8b4 fix: misc-include-cleaner clang-tidy warnings (#6502) 2024-01-07 14:21:05 -06:00
Mike Gelfand
8d4dcece89 Remove unused (but exported for translation) button title (Mac client) (#6503) 2024-01-07 19:11:31 +00:00
Mitch Livingston
d0beae2f14 Remove dead pre-Lion code from the torrent table view (#6501)
With our current minimum version, all clients will be using the popover
2024-01-07 13:27:48 -05:00
Nick
632b7048fe fix: parsing sitename info from 3.xx Servers (#6438) 2024-01-07 12:10:04 -06:00
Yat Ho
7fd29d2d46 fix: include daemon-specific options in app defaults (#6499) 2024-01-07 11:12:31 -06:00
Gary Elshaw
ecb58e2966 feat: widen progressbar and increase font size in compact mode 2024-01-06 15:54:52 -06:00
Cœur
f6f3ff6e29 fix: base62 conversion in peer-id generation (#6486) 2024-01-06 14:14:20 -06:00
Cœur
ae96a2d4b1 fix missing quotes for language codes with a dash (#6489) 2024-01-06 14:13:55 -06:00
Charles Kerr
3f6969217c chore: remove FMT_STRING macros (#6497) 2024-01-06 14:05:18 -06:00
Charles Kerr
ea52e75476 fixup! chore: fix misc-use-anonymous-namespace warnings from clang-tidy (#6488) (#6498)
fix: tyop
2024-01-06 13:04:50 -06:00
Yat Ho
38aa28a831 fixup! chore: webui scss cleanup (#6471) (#6490) 2024-01-06 11:46:10 -06:00
Yat Ho
3b017dbd86 fix: WebUI render html entity in torrent ratio (#6491) 2024-01-06 11:02:10 -06:00
Yat Ho
df1dc5812c fix: restore the tag key in RPC response (#6492)
* fix: restore the `tag` key in RPC response

* chore: `tr_rpc_request_exec()` housekeeping

* feat: new tests for RPC tag
2024-01-06 10:40:23 -06:00
Yat Ho
4bb9eab0d0 fix: app defaults should override libtransmission defaults (#6495) 2024-01-06 10:10:14 -06:00
Charles Kerr
646883174b chore: fix misc-use-anonymous-namespace warnings from clang-tidy (#6488) 2024-01-04 23:12:51 -06:00
Charles Kerr
23eb0ef92d chore: fix reference to temporary (#6484) 2024-01-04 08:52:08 -06:00
Yat Ho
4cfd9f0c9e fix: restore alt-speed-enabled config parameter (#6483) 2024-01-03 22:58:21 -06:00
github-actions[bot]
1c382cb97e chore: update copyright years (#6470) 2024-01-03 21:33:30 -06:00
Yat Ho
dce0d37130 fixup! fix: implement proper download limit for uTP (#6416) (#6481) 2024-01-03 11:27:11 -06:00
Charles Kerr
22cde5d4b9 refactor: use new tr_variant API in rpcimpl (#6456)
* refactor: tr_rpc_request_exec_json takes a std::function callback

* refactor: tr_rpc_request_exec_json callback takes a tr_variant&&

* refactor: use new tr_variant API in rpcimpl.cc

* refactor: tr_rpc_request_exec_json() now takes a const& to the request

* fixup! refactor: use new tr_variant API in rpcimpl.cc

* chore: rename function to tr_rpc_request_exec()

* chore: remove unused DetailsDialog::Impl::build_torrent_ids_variant_list()

* refactor: minor copyediting in rpcimpl.cc getTorrents()

* refactor: split handler methods between sync, async

* refactor: remove unused args_out param from AsyncHandlers

* chore: fix new readability-inconsistent-declaration-parameter-name warning
2024-01-02 22:14:43 -06:00
Yat Ho
10d047005a refactor: convert tr_incomplete_metadata to c++ class (#6383)
* refactor: unset peer BEP-9 support if size hint is invalid

* fix: open torrent file in binary mode

* refactor: move metadata size check to method

* refactor: remove duplicate checks

* refactor: reduce temp variable scope in `parseLtepHandshake()`

* refactor: convert `get_piece_length()` to method

* refactor: convert `tr_torrentSetMetadataSizeHint()` to method

* refactor: convert `tr_torrentGetMetadataPiece()` to method

* refactor: convert `tr_torrentUseMetainfoFromFile()` to method

* refactor: convert `tr_torrentSetMetadataPiece()` to method

* refactor: convert `tr_torrentGetNextMetadataRequest()` to method

* refactor: convert `tr_torrentGetMetadataPercent()` to method

* refactor: add basic framework for MagnetMediator

* refactor: initialise `tr_incomplete_metadata` fields in constructor

* refactor: check metadata transfer completion in `set_metadata_piece()`

* refactor: convert `use_new_metainfo()` and `on_have_all_metainfo()` to methods

* refactor: move parts of `tr_torrent::set_metadata_piece()` into `tr_incomplete_metadata`

* refactor: move parts of `tr_torrent::get_next_metadata_request()` into `tr_incomplete_metadata`

* refactor: move parts of `tr_torrent::get_metadata_percent()` into `tr_incomplete_metadata`

* refactor: hide all `tr_incomplete_metadata` fields

* refactor: move `incomplete_metadata` to private

* feat: add test for `set_metadata_piece()`

* refactor: unify integer types

* refactor: rename `tr_incomplete_metadata` to `tr_metadata_download`

* chore: make clang-tidy happy

libtransmission/torrent-magnet.cc:117:68: warning: comparison of integers of different signs: 'long' and 'const uint64_t' (aka 'const unsigned long') [clang-diagnostic-sign-compare]

* refactor: pass log name to `tr_metadata_download` constructor

* chore: iwyu

* fix: thread-safe `TorrentMagnetTest.setMetadataPiece`

* chore: housekeeping

* Revert "fix: thread-safe `TorrentMagnetTest.setMetadataPiece`"

This reverts commit 2a7fcd93a262888f9f55d542b1a9a2da9ca72cea.

* fix: stop soon instead of stop now in `on_metainfo_completed()`

This is unreachable code now, but if it is ever reached, Transmission
will very likely crash.

* fix: maybe fix OpenBSD test failure
2024-01-02 21:04:17 -06:00
Yat Ho
5000edef01 fix: implement proper download limit for uTP (#6416)
* fix: return read buffer size in libutp read buffer size callback

* refactor: clamp amount of data processed in `can_read_wrapper()`

* chore: housekeeping

* refactor: call `utp_read_drained()` in on-read callback

so that uTP acks can be sent out in a more timely fashion
2024-01-02 00:33:53 -06:00
Charles Kerr
17a63b8026 chore: bump fmt to 10.2.0 (#6478) 2024-01-01 23:58:28 -06:00
Cœur
6647df9be6 feat: support multiple URL objects from pasteboard (#6467) 2024-01-01 22:35:57 -06:00
Cœur
376d806b2e build: fix libtransmission build on very old cmake versions (#6418)
* Fix libtransmission build requirements

* code review: keeping compatibility with deprecated cmake
2024-01-01 21:58:22 -06:00
Yat Ho
61ed621f55 chore: webui scss cleanup (#6471)
* chore: rename some colours to more accurate names

* chore: sort colour definitions

* chore: housekeeping

* fix: remove invalid css properties
2024-01-01 17:22:18 -06:00
Mike Gelfand
6a84dbf560 Remove low-quality gettext locales from the list (#6475)
Only leave translations that are 90+% complete. This means the dropped
ones won't be installed, but (as with Qt client) will still be there in
the repo to avoid the need in adding them back if/when the time comes.
2024-01-01 22:19:31 +00:00
Yat Ho
964bd31a2b fix: WebUI torrent title color when paused and highlighted in Light Mode (#6462) 2023-12-31 15:55:46 -06:00
Cœur
f8f68067d7 perf: Don't poll every second for kevents (#6452)
* perf: Don't poll every second for kevents

* No need to alter properties in dealloc
2023-12-31 15:17:31 -06:00
Cœur
e5e768e2ab fix: implicit conversion loses integer precision (#6466) 2023-12-31 14:04:26 -06:00
Mike Gelfand
9c4d28dd08 fix: a couple of logging format issues (#6463)
* Fix swapped log args in `do_log_system_error()`

* Fix invalid fmt use in `tr_rpc_server::load()` logging
2023-12-30 08:56:34 -06:00
Yat Ho
7573a98bb4 ui: unify percent done format in transmission-remote (#6447)
* ui: unify percent done display format in `remote`

* fix: adjust field width for the new format
2023-12-29 14:55:06 -06:00
Yat Ho
69f4b6cb2e fix: sequentialDownload support in transmission-remote (#6454) 2023-12-29 13:25:55 -06:00
Yat Ho
3c635cd4e2 fix: exclude (B/s) from parameter names (#6448) 2023-12-29 13:22:21 -06:00
Mike Gelfand
f544399183 Sync translations (#6453)
* Sync translations with code

* Move Qt client's it_IT to it

"it_IT" was merged into pre-existing "it", so no (huge) loss of translations
should occur; "it" was chosen as a base since it contains more up-to-date
translations while "it_IT" hasn't changed much in years (I think, because most
phrases were marked as reviewed and so impossible to change by most translators
based on their assigned role).

* Sync translations with Transifex

* Add new languages (90+% complete)

Mac client:
* Basque (eu)
* Hebrew (he)
* Hungarian (hu)
* Japanese (ja)
* Polish (pl)
* Portuguese (Brazil) (pt_BR)
* Swedish (sv)
* Ukrainian (uk)
* Chinese (China) (zh_CN)
* Chinese (Taiwan) (zh_TW)

Qt client:
* Icelandic (is)

Also, fix Qt client languages list to include those already in
translations/ subdirectory and 90+% complete:
* Hebrew (he)
* Chinese (Taiwan) (zh_TW)

* Fix Xcode language mapping for pt_PT/pt-PT

* Fix Xcode language mapping for pt_BR/pt-BR

* Fix Xcode language mapping for zh_CN/zh-CN

* Fix Xcode language mapping for zh_TW/zh-TW

* Sync translations with Transifex (again)

Primarily to fixup "Port: $@" translation, but there were other updates in the
meantime.

* Update list of QuickLookPlugin languages

* Fixup local pt-BR language name in tx config
2023-12-29 15:16:07 +00:00
qu1ck
427d813108 fix: support sequentialDownload in list of RPC torrent-get response keys (#6450) 2023-12-29 09:05:37 -06:00
Nick
e80ec7b7a4 feat: add labels to DetailsDialog of Qt client 2023-12-25 16:09:20 -06:00
LaserEyess
b562983cbd Harden systemd service (#6391)
This commit includes strict, but still compatible, service hardening for
transmission-daemon.service. The main goal is a defense-in-depth
strategy that protects users from unknown vulnerabilities in
transmission.

In practice, transmission does not use any of the features that are
blocked in this hardening. However, this is still a network facing
daemon that, by design, accepts connections from unknown peers. So
better safe than sorry.

This commit also installs the service via CMake

Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
2023-12-24 20:48:18 -06:00
Charles Kerr
501487b8cf refactor: remove tr_parse_result enum (#6435) 2023-12-24 18:05:18 -06:00
Winton Simonds
0780104b8d docs: update Transmission-Resume-Files.md (#6367)
explain that the resume file format is benc.
2023-12-24 14:48:09 -06:00
Charles Kerr
69577ea4b9 fix: invalid TR_TORRENT_TRACKERS env var for some torrents (#6434) 2023-12-24 14:21:56 -06:00
Charles Kerr
5e51fda92e refactor: remove tr_strlcpy() (#6433)
* refactor: do not use tr_strlcpy() in tr_strratio()

* refactor: do not use tr_strlcpy() in bindUnixSocket()

* refactor: do not use tr_strlcpy() in trackerView()

* chore: remove tr_strlcpy() unit tests

* chore: remove tr_strlcpy()

* chore: remove -DHAVE_STRLCPY from Xcode build

* fixup! refactor: do not use tr_strlcpy() in trackerView()

chore: fix copypaste bug
2023-12-24 13:33:33 -06:00