1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-31 20:16:57 +00:00
Commit graph

15946 commits

Author SHA1 Message Date
Yat Ho
32ef92e7a7
feat: do separate IPv4 and IPv6 port checks in Qt and GTK Client (#6525)
* fix: specify `port-test` ip protocol in response when possible

* feat: IPv4 and IPv6 port test in Qt Client

* feat: shorten timeout of `port-test`

* feat: IPv4 and IPv6 port test in Gtk Client

* chore: housekeeping

* refactor: remove IP protocol error message

* code review: mikedld gtk

* feat: return tag in qt rpc response

* code review: mikedld qt

* feat: move port test button up alongside spin button

* fixup! code review: mikedld gtk

* fixup! code review: mikedld qt

* code review: port status initial text

* feat: decouple ipv4 and ipv6 status updates (GTK)

* feat: decouple ipv4 and ipv6 status updates (Qt)

* code review: unknown protocols are non-pending

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>

* code review: simplify status text when the statuses are the same

* Revert "feat: return tag in qt rpc response"

This reverts commit 2a022c2bb0ee7ddad81f8176839cf0d043422368.

* code review: add translation context for status text (GTK)

* code review: move `port_test_pending_` to `Impl` (GTK)

* fixup! code review: move `port_test_pending_` to `Impl` (GTK)

---------

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2024-01-21 16:50:26 -06:00
Mike Gelfand
29a566664a
Use semi-transparent color for inactive torrents (#6544) 2024-01-21 16:13:51 -06:00
Yat Ho
08b2fa7e35
fix: restore files-wanted argument of torrent-set (#6534)
* chore: drop redundant if branch

* chore: housekeeping

* refactor: always keep error message as the second

* fix: restore `files-wanted` argument of `torrent-set`
2024-01-21 14:41:13 -06:00
Geoffrey Bonneville
7030b53e2e
android patches for ndk (#6024)
* android patches for ndk

* Update libtransmission/file-capacity.cc

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>

* TrMacros: Move common & android vars

* Build android in CI

* Use vcpkg packages for curl & openssl

* Update CI for android

* Fix ndkVersion used with gradle

* Restore actions triggers events

* CMakeLists: Remove cond where curl is not found

* Use vcpkg tag instead of commit hash

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>

* TrMacros.cmake: clean unused variables & add vcpkg cond

* Remove quotes around VcpkgAndroid inclusion

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>

* actions: split steps to install vcpkg packages

* Build for android arm64

* actions: add make-android condition

* Revert "Use vcpkg tag instead of commit hash"

This reverts commit 65819026b1.

* build.gradle: use cmake version 3.22.1

* actions: use vcpkg 2024.01.12

* actions: Add ninja-build dependency

---------

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2024-01-21 15:27:24 +00:00
Yat Ho
a1160f1556
fix: keep peer io alive inside utp callback (#6507) 2024-01-20 18:09:28 -06:00
Charles Kerr
468de87076
refactor: fix cppcoreguidelines-avoid-do-while warnings (#6527)
* fix: avoid do-while in tr_sys_file_lock()

* fix: avoid do-while in BitfieldTest

* chore: set cppcoreguidelines-avoid-do-while.IgnoreMacros

* fix: avoid do-while in FileList::Impl::onRowActivated()

* fix: avoid do-while in tr_spawn_async_in_parent()

* fix: avoid do-while in handle_sigchld()

* fixup! fix: avoid do-while in tr_spawn_async_in_parent()

* fixup! fix: avoid do-while in FileList::Impl::onRowActivated()

* fixup! fix: avoid do-while in tr_spawn_async_in_parent()

fix fd leak regression

* fixup! fix: avoid do-while in tr_spawn_async_in_parent()
2024-01-20 16:56:42 -06:00
Yat Ho
e408aa0741
Revert "feat: Only show .torrent files in the web UI (#6320)" (#6538)
This reverts commit c853ec3358.
2024-01-20 16:56:21 -06:00
Yat Ho
0ce4adf07c
fix: always schedule uTP ack after receiving a packet (#6508)
* fix: always schedule uTP ack after receiving a packet

* chore: add comment to explain change
2024-01-15 00:28:50 -06:00
Mike Gelfand
7ec7607bbc
Update pieces label on source change even if piece size doesn't change (#6516)
Label update is made when slider changes its value, and on source change
slider value is being set to a newly calculated, but not necessarily
different from the previous one, value. This means that the slider
change signal may not be emitted, in which case label continues to show
previous text, including "No source selected", which is misleading.
2024-01-14 11:12:26 -06:00
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