Commit Graph

16260 Commits

Author SHA1 Message Date
Yat Ho
47eb4ee2bc refactor: dedicated class for torrent queue (#7332)
* Revert "feat: save queue order between sessions (#6753)"

This reverts commit 4db50dae10.

* refactor: new torrent queue class

* refactor: replace queue code with new class

* test: new tests for new class

* feat: store and load queue order across sessions

* build: xcode

* refactor: use set_difference instead of unordered_set

* code review: use `tr_torrent_id_t` as key

* fix: don't overflow when moving up/down

---------

Co-authored-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-03-09 19:08:50 -05:00
cdowen
4e7fc81975 feat: disconnect blocklisted peers on blocklist update (#7167)
* Fix: disconnect blocklisted peer on blocklist update.

Mark peer to be disconnected upon blocklist update.
Tested on my torrent, seems to be working.

Fix #732 .

* Add debug message when blocking peers

Add debug message each time a peer gets blocked during blocklist update.

* Change log api

Co-authored-by: Yat Ho <lagoho7@gmail.com>

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2025-03-09 18:33:09 -05:00
Mike Gelfand
42ccb54c98 Sync translations (#7477)
* Sync translations with code

* Sync translations with Transifex

* Fix order of plurals for Slovenian

* Add new Mac translations

* Afrikaans (af)
* Greek (el)
2025-03-09 13:47:57 +00:00
Yat Ho
1054ba4ab6 refactor: store peers as benc in resume file (#6892)
* refactor: add `tr_pex::to/from_variant()`

* refactor: store peers as benc in resume

* fix: discard invalid pex in `tr_pex::from_variant()`

* fix: limit number of peers loaded from resume
2025-03-08 12:19:18 -06:00
Charles Kerr
c398bd26f3 build: remove the test to see if curl is at least 7.15.6 (#7462)
CMakeLists.txt requires curl >= 7.28.0, so we do not need to test this.
2025-03-05 14:35:31 -06:00
Charles Kerr
ea2cac2335 refactor: simplify TR_CONSTEXPR20 macro (#7471) 2025-03-05 11:55:04 -06:00
Charles Kerr
642043861d refactor: remove unused macro TR_UNREACHABLE (#7470)
last use was removed in 3008a99
2025-03-05 10:36:06 -06:00
Charles Kerr
2c0b29143a refactor: remove TR_LIKELY and TR_UNLIKELY macros (#7469)
* refactor: remove unused TR_UNLIKELY macro

* refactor: remove TR_LIKELY from assertion macro

https://blog.aaronballman.com/2020/08/dont-use-the-likely-or-unlikely-attributes/

* refactor: remove unuse TR_LIKELY macro

* refactor: remove unused TR_GNUC_CHECK_VERSION macro

* refactor: remove unused __has_builtin fallback macro
2025-03-05 08:41:22 -06:00
Rukario
9ea7153ee4 feat: error rename alert message (#7394) 2025-03-04 19:29:52 -06:00
Charles Kerr
491cdc1560 refactor: remove TR_ARG_TUPLE macro (#7468) 2025-03-04 19:06:12 -06:00
Yat Ho
8c18cf4245 fix: use message id to check for pex and metadata xfer support (#7177)
* refactor: use metadata id to check for ut metadata support

* refactor: use pex id to check for ut pex support

* refactor: start pex timer after ltep handshake

* refactor: harden metadata xfer sanity checks

* code review: constexpr

* code review: don't save peer ut_pex_id and ut_metadata_id if on private torrent
2025-03-04 18:42:26 -06:00
Charles Kerr
0518a2269e fix: do not mark Variant::make_map() as noexcept (#7466) 2025-03-04 18:42:08 -06:00
Charles Kerr
cbd65ae8b1 refactor: fix modernize-use-nodiscard warnings by adding [[nodiscard]] (#7351) 2025-03-04 17:28:33 -06:00
Charles Kerr
de782e4315 ci: use Ubuntu 22.04 runner instead of Ubuntu 20.04 runner (#7465)
the latter is deprecated; see https://github.com/actions/runner-images/issues/11101
2025-03-04 11:12:51 -06:00
Rukario
43577e3df2 refactor: drop className .full in favor of :not(.compact) (#7354) 2025-03-04 08:21:23 -06:00
Yat Ho
52a12200b2 chore: bump wide-integer (#7383)
* chore: bump wide_integer

* refactor: use `uint64_t` for better performance
2025-03-04 08:19:01 -06:00
Yat Ho
48ba0fd2d8 refactor: remove builtin and asm popcount implementation (#7443) 2025-03-04 08:16:39 -06:00
Charles Kerr
05797a9e93 perf: cache curl version (#7461)
it doesn't change during runtime, so no need to
keep calling curl_version_info(CURLVERSION_NOW)
2025-03-04 08:16:21 -06:00
Yat Ho
76ab7ba592 refactor: set peer io socket in constructor (#7355)
* refactor: `tr_netOpenPeerSocket()` returns `tr_socket_t`

* refactor: store preferred transport as array

* refactor: set peer io socket in constructor

* refactor: remove `log_peer_io_bandwidth()`

This partially reverts commit efec6505

* refactor: rename `tr_netOpenPeerSocket` to snake_case

* code review: remove redundant comment

* code review: add comment about array order
2025-03-03 23:47:37 -06:00
pathC
5163ac3e1f fix: not correctly sending UA to trackers related to curl gh6312 (#7447)
fallback to http1.1 when using flawed curl.
curl 7.71.0-7.74.0 are affected.
2025-03-03 23:14:20 -06:00
Yat Ho
43e869b18e feat: warn about problematic curl versions (#7457) 2025-03-03 21:32:25 -06:00
Emir SARI
d0d0418b5d Use en and em dashes where appropriate (#7402)
- En dash is used to separate ranges; e.g. 2024–2025
- Em dash is used to separate expressions; e.g. 100.5 GB — remaining
  time unknown
2025-02-16 14:19:46 -05:00
Michael Hadam
87bcf1a1d5 Update rpc-spec.md (#7387)
incorrect transmission 2.30 update note
2025-01-27 22:46:06 +00:00
Yat Ho
790bd2f0ab fix: crashes related to curl gh10936 (#7416) 2025-01-27 22:36:47 +00:00
Yat Ho
f768562421 test(dht): use static IP address (#7408) 2025-01-27 01:12:04 +00:00
reardonia
50eacf6933 Consume early pad a/b, improve handshake tests (#6987)
* properly consume PadA in MSE handshake, check for invalid Ya+PadA

* refactor: make handshake constants public (needed for test coverage)

* test: split test MSE handshakes by blocking steps

* test: use `ASSERT_TRUE` instead of `assert`

* test: fix windows crash by using `recv` and `send`

Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>

* refactor: use `TR_IF_WIN32` for `LOCAL_SOCKETPAIR_AF`

Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
Co-authored-by: reardonia <reardonia@github.com>
Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>
2025-01-09 10:26:48 -06:00
Mike Gelfand
cbba2e0390 Sync translations (#7362)
* Fix lupdate unused directives warning

* Sync translations with code

* Sync translations with Transifex
2025-01-01 14:55:51 +00:00
github-actions[bot]
aa9aff1131 chore: update copyright years (#7359) 2025-01-01 12:04:53 +00:00
Yat Ho
3af627e725 fix(web): enable/disable textbox when session changed (#7346)
* fix(web): enable/disable textbox when session changed

* code review: only enable/disable textbox in response to session change
2024-12-30 12:38:12 -06:00
Rukario
4f88a660a2 fix: use grid CSS to resolve the inflating rows by long torrent names in compact view (#7336) 2024-12-30 11:59:41 -06:00
Rukario
0795e932bd refactor: pointer device listener code refinement (#7311) 2024-12-30 10:40:42 -06:00
Mitch Livingston
5b53b1ec87 Resolve context menu not always appearing in compact mode (#7350)
The progress bar was on top of the name label (and containing stack view). This reorders the progress bar to the back.
2024-12-30 11:10:35 -05:00
Charles Kerr
236cd6bae7 fix: cert-oop54-cpp warnings about self-assignment in strbuf (#7345) 2024-12-30 09:32:34 -06:00
Yat Ho
131caa1239 refactor: convert tr_net_init_mgr to singleton (#6914) 2024-12-30 09:32:11 -06:00
Rukario
3842cec549 refactor: alternative x/y coords to account for zoomed in browser (#6945)
* Update transmission.js

* refactor: accommodate suggestions + alternative x/y coords

Thanks @tearfur!

Co-Authored-By: Yat Ho <46261767+tearfur@users.noreply.github.com>

---------

Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2024-12-29 01:42:56 -06:00
Yat Ho
a4cc98b92c fix: speed limits did not work below 16KiB/s (#7339)
* refactor: calculate raw speed by OS buffer instead of application buffer

* refactor: limit transfer speed by raw speed

* refactor: early return write if no bytes

* refactor: remove code for guessing TCP/IP overhead

* refactor: remove code for uTP overhead
2024-12-29 01:42:07 -06:00
Yat Ho
536fe4a6e1 fix(webui): dispatch close events when closing popups (#7340)
* fix: dispatch `close` event in statistics dialogue

* fix: properly dispatch `close` event in pref dialogue
2024-12-29 01:39:56 -06:00
Charles Kerr
7820f54ba1 refactor: remove TR_DISABLE_COPY_MOVE macro (#7344) 2024-12-29 00:15:39 -06:00
Mitch Livingston
ba55b7cd7c In the small view, show the action buttons when hovering anywhere over the cell (#7342)
* In the small view, show the action buttons when hovering anywhere over the cell

This matches the previous behavior.

* Explicitly hide/show the priority icon in the stack view

* Restore right padding on the compact view's stack view

* style fixes
2024-12-27 23:21:35 -05:00
Josh Grosse
b969b0bae1 fix: use process umask for new files. (#7195) 2024-12-27 18:20:33 -06:00
Rukario
8cb527d428 Update transmission.js (#7310)
Co-authored-by: Yat Ho <lagoho7@gmail.com>
2024-12-26 12:51:47 -06:00
Rukario
698b4348a0 fix: close context menu with a click outside listener 2024-12-25 13:09:24 -06:00
Rukario
c3b48882b8 feat: remove per-torrent start/pause button from web client (#7292) 2024-12-25 13:08:20 -06:00
cloppingemu
dc6c761c29 Fixing bug in when closing new torrent options dialog (#7247) 2024-12-24 21:36:12 +00:00
Yat Ho
2ba8cccfa7 fix: check full path when parsing http tracker responses (#7326)
* refactor: move path checking methods to base

* refactor: differentiate "empty string key" and "no key"

* fix: check full path when parsing http announce response

* fix: check full path when parsing http scrape response

* refactor: avoid copying when checking scrape info hash

* fixup! fix: check full path when parsing http scrape response
2024-12-24 14:30:50 -06:00
Yat Ho
fb36f5d55d fix: shadowed variable warning in tr_torrentVerify() (#7305) 2024-12-24 09:26:24 -06:00
Mitch Livingston
e1fe0c1a73 Update some spacing constrains in the torrent cells (#7327) 2024-12-23 20:24:20 -05:00
Bark
1a38830ada fix: Take into account only the private that is inside info. (#7313) 2024-12-23 14:08:05 -06:00
Rukario
713a96ffa1 feat: contract main area for inspector for large viewports (#7051) 2024-12-23 12:18:47 -06:00
Mitch Livingston
8a308cf9d9 #7290: Resolve group rows rendering incorrectly (#7321)
The outline view was apply its own styling. Instead, don't mark our groups as groups.
2024-12-22 13:10:24 -05:00