16734 Commits

Author SHA1 Message Date
Yat Ho
8fecf2662c docs(rpc): formally define torrent ID and transfer stats as integers (#8455) 2026-02-13 21:04:05 -06:00
Антон Лобанов
34ef311055 docs: add nuget package to list of 3rd party packages 2026-02-13 21:03:10 -06:00
Yat Ho
031c996386 fix(test): wait for previous torrent to be removed before continuing (#8477) 2026-02-13 18:13:24 -06:00
Yat Ho
a00a8ba511 ci: include .github/actions in check-diffs (#8482) 2026-02-13 13:55:11 -06:00
Yat Ho
064387c164 docs: deprecate torrent_get.webseeds (#8481) 2026-02-13 13:10:50 -06:00
Yat Ho
c7ea8d688e ci(GHA): bsd (#7901)
* ci: add freebsd

* ci: add openbsd

* ci: add netbsd

* ci: add dragonflybsd

* ci: don't run arm64 bsd runners in pull requests
2026-02-13 09:44:53 -06:00
Ivan Kara
eac1f24f0b feat(web): add webseeds list (#8421)
* Add webseeds list to web ui

* Better webseed url column title

* Apply suggestions

* Follow existing table row creation style

* Fix webseed table speed-down column

* Fix empty class error

* Add webseeds_ex to rpc changelogs

* Apply suggestions from CI

* Fix webseeds_ex rpc spec
2026-02-13 09:16:35 -06:00
Yat Ho
93a65c9c66 ci: test gtk4 where available (#8459)
* ci: test gtk4 where available

* ci: bump Fedora versions
2026-02-13 08:43:22 -06:00
Charles Kerr
57965724cb fix: crash when editing tracker list immediately after editing torrent (#8469) 2026-02-13 08:00:35 -06:00
Charles Kerr
6ae3abc7c1 chore: remove unused #include (#8470) 2026-02-13 07:59:51 -06:00
reardonia
04922eca8d reject .torrent files with missing info:[pieces] key (#8333)
* reject .torrent files with missing info:[pieces] key

* reduce test torrent size

* add more tests for bad 'pieces' key

* use files_.total_size()

* fixup code_style

* anonymize piece hashes

* move dupe files check to finishInfoDict()

* better piece count comparison

* add test for dupe files

* revert else if -> else

* update for #8409, move tests to torrents-metainfo suite

* add test for duplicate pieces key and tidy

* deeper testing of error conditions

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

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2026-02-12 11:36:55 -06:00
Yat Ho
89b8e9ae9d fixup! feat: allow non-ASCII announce and webseed URLs (#8420) (#8447) 2026-02-12 11:36:23 -06:00
Yat Ho
6943855f7d fixup! ci(app): run clang-tidy (#8442) (#8460) 2026-02-12 11:35:58 -06:00
Yat Ho
bbfc9e057c chore: bump rpc versions (#8452) 2026-02-12 10:40:35 -06:00
Yat Ho
455fce4a78 ci(macos): install only required modules of qt (#8458) 2026-02-12 10:38:01 -06:00
Yat Ho
e3853d9750 build: remove ENABLE_DEPRECATED (#8461) 2026-02-12 09:56:50 -06:00
Ivan Kara
cb158cba04 feat: add multiple dht bootstrap nodes (#8446)
* Add multiple dht bootstrap nodes

* Implement suggestion

* Rename default_bootstraps to DefaultBootstraps
2026-02-12 01:16:01 -06:00
Yat Ho
cd920a7bec ci(app): run clang-tidy (#8442)
* fix(app): clang-tidy warnings

* build(app): convert checks to list

* build(app): fix clang-tidy `HeaderFilterRegex`

* ci(app): run clang-tidy

* fix: ftbfs

* wtf
2026-02-12 00:23:00 -06:00
Charles Kerr
e6d7d42e2a fix: mime-type icons on Windows (#8443)
* fix: mime-type icons on Windows

* fixup! fix: mime-type icons on Windows

use file_icon_ as the fallback icon

do not  mark the temp string as translatable

---------

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
2026-02-11 22:49:24 -06:00
Charles Kerr
cbaefab599 refactor: add libtransmission/types.h (#8449)
refactor: add libtransission/constants.h
2026-02-11 16:52:29 -06:00
Charles Kerr
21874392a9 refactor: string-utils, file-utils, env (#8417)
* refactor: add libtransmission/string-utils

* refactor: add libtransmission/file-utils

* refactor: add libtransmission/env

* build: update Xcode
2026-02-11 11:21:45 -06:00
Yat Ho
4d695a8a4c perf: use timer to flush outbuf to avoid taking lock frequently (#8423)
* perf: use timer to flush outbuf to avoid taking lock frequently

* code review: extract to `flush_outbuf_soon()`

* code review: make `flush_outbuf_trigger_` const
2026-02-11 10:21:31 -06:00
Charles Kerr
831ebe6198 fix: adding file:/// uris from the command linee (#8424) 2026-02-11 09:57:56 -06:00
Charles Kerr
fee87d465f docs: fix comments for attr key in metainfo (#8434) 2026-02-10 20:44:25 -06:00
Yat Ho
4bc74e3dd4 feat: allow non-ASCII announce and webseed URLs (#8420)
* test: `tr_urlPercentEncode()`

* refactor: percent-encode URLs provided in announce list or webseeds

* test: announce list and webseed
2026-02-10 16:19:04 -06:00
Yat Ho
a89f4bd5bd perf(gtk): move from request parameters instead of copying (#8389) 2026-02-10 10:56:59 -06:00
Charles Kerr
f63db2a059 fix: support Glib::ustring in Converters (#8418)
fixes regression introduced in 64a53a8
2026-02-10 08:51:56 -06:00
Yat Ho
ea043d642b perf(test): write zero tor in 512KiB blocks (#8391)
* perf(test): write zero tor in 512KiB blocks

* code review: allocate buffer on heap
2026-02-09 22:22:45 -06:00
Charles Kerr
df16feaa36 feat: add serializer support for std::chrono::sys_seconds, std::u8string, std::filesystem::path (#8364)
* chore: rename display-mode-tests.cc as converter-tests.cc

* feat: support std::chrono::sys_seconds in serializers

* feat: support std::u8string, std::filesystem::path in serializer

* build: address review feedback

* chore: remove unnecessary helper function

* Revert "chore: remove unnecessary helper function"

This reverts commit 69ea907836.

std::to_chars() unavailable on macOS < 13.3

We can remove this hack if/when we drop support for macOS < 13.3
2026-02-09 21:04:18 -06:00
Yat Ho
bea234b8ed fix(qt): handle RPC error data object (#8388) 2026-02-09 21:02:38 -06:00
Yat Ho
a583f8e789 fix(rpc): return integers for speed limits (#8406) 2026-02-09 21:01:54 -06:00
Yat Ho
182c8ce12c fix: fail if pieces length in info dict is not multiple of 20 (#8409)
* fix: fail if `pieces` length in info dict is not multiple of 20

* fix(tests): replace potentially malicious test torrent for pieces length
2026-02-09 19:10:53 -06:00
Charles Kerr
2493c4b904 fix: use video/mp4 as the mime type for mp4 files (#8377)
* refactor: move primary_mime_type() to tr_torrent_files where it is easier to test

* fix: use video/mp4 mime type for .mp4 files

* docs: remove obsolete code comment
2026-02-09 15:53:06 -06:00
Charles Kerr
a8072d82f0 fix use different icon filenames per-client (#8281)
this prevents multiple packages from conflicting over a shared icon filename
2026-02-05 22:57:38 -06:00
Yat Ho
5320fc1a49 ci: workaround system header warnings on macOS (#8384) 2026-02-05 22:31:33 -06:00
Yat Ho
a628033637 fix(web): exception from destructing undefined property (#8374) 2026-02-05 20:43:09 -06:00
Charles Kerr
80a379f713 fix: mark strings for translation (#8351)
* fix: encryption mode not saved between sessions in GTK client

* fix: some strings were not correctly marked for translation
2026-02-05 16:12:44 -06:00
github-actions[bot]
6794c9d298 chore: update generated transmission-web files (#8376)
Co-authored-by: ckerr <70381+ckerr@users.noreply.github.com>
2026-02-05 13:09:05 -06:00
Rukario
cc66625fd2 feat: new window "Appearance settings" for web app (#7318)
* feat: new window "Appearance settings" for web app

* feat: new window "Appearance settings" for web app
2026-02-05 08:49:17 -06:00
Yat Ho
2e65935bbc build: wrap fmt::fmt-header-only with transmission::fmt-header-only (#8370) 2026-02-05 07:50:11 -06:00
Yat Ho
39803eb0f0 build: support building with system sigslot (#8371) 2026-02-04 22:46:16 -06:00
Daniel Golle
18e9fc954f build: fix external project builds with LTO-enabled toolchains (#8369)
* build: propagate LTO-aware archiver tools (CMAKE_AR, CMAKE_NM, CMAKE_RANLIB) to external projects
2026-02-04 22:45:06 -06:00
Berbe
d8a46d9e98 Fix: #8202 (refactor: use fewer raw C strings) (#8365) 2026-02-04 16:39:01 -06:00
Yat Ho
59939ad4e3 build: improve building with system libevent (#8223)
* build: improve building with system libevent

* chore: remove legacy `tr_add_external_auto_library` macro
2026-02-04 13:36:04 -06:00
Cœur
1b04d45f26 fix: ignore clang extension usage in ObjC (#8164)
* fix: ignore clang extension usage in ObjC

* Code review: adopt `kMaxCells` (324) directly.
2026-02-04 11:53:39 -06:00
Dmitry Lobanov
85b88c5f51 Adding xcode toolchain lookup. (#8342) 2026-02-04 08:11:08 -06:00
Charles Kerr
142b0af415 fix: assertion failed no timezone in fmt::chrono (#8344)
* fix: in tr_logGetTimeStr() do not use tz info on platforms that do not have it

* fix: simplify the supports-timezone check

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

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2026-02-04 07:45:44 -06:00
github-actions[bot]
60f8d43d14 chore: update generated transmission-web files (#8353)
Co-authored-by: ckerr <70381+ckerr@users.noreply.github.com>
2026-02-04 07:44:50 -06:00
Charles Kerr
f9d4ced2d0 chore: remove FMT_STRING macros (#8354) 2026-02-04 07:44:33 -06:00
Yat Ho
a1228ab1dd Revert "feat: inline delete prompt in remove dialog (#7000)" (#8349)
This reverts commit b0b8902198.
2026-02-03 23:33:50 -06:00