Commit Graph

16576 Commits

Author SHA1 Message Date
Charles Kerr
9834afb8f9 fix: crash when removing a torrent that the inspector is showing 2026-02-14 17:46:07 -06:00
Charles Kerr
272401184f chore: bump to 4.1.0 (#8231)
* docs: add release notes for 4.1.0

* chore: bump to 4.1.0
4.1.0
2026-01-26 17:58:07 -06:00
Mike Gelfand
f6710cea94 Sync translations (#8230)
* Sync translations with code

* Sync translations with Transifex
2026-01-26 22:20:14 +00:00
Charles Kerr
5fc9b55ad0 refactor: remove some dead code (#8222) (#8226)
* chore: remove unused tr_announcerCreate() declaration

added in d27c4c5 but never used

* chore: remove unused ParserStack::parentType()

added in 5efec26 but never used

* chore: remove tr_port::set_network()

added in 32f854a but never used

* chore: remove tr_torrent_metainfo::pieces_offset()

added in 52f6e80 but never used

* chore: remove unused `tr_session::setPeerCongestionAlgorithm()`

unused after 611d36a

chore: remove unused `tr_session::setAnnounceIP()`

unused after 611d36a
2026-01-26 10:00:42 -06:00
Yat Ho
1d79f7eea8 fix: don't generate zero size files in makemeta-test.cc (#8212)
* fix: don't generate zero size files in makemeta-test.cc

* chore: housekeeping

(cherry picked from commit 56f3578ec9)
2026-01-25 20:28:07 -06:00
Yat Ho
39b5245a56 fix: incorrectly set error when moving across filesystems (#8175)
(cherry picked from commit a3202cbe47)
2026-01-21 09:08:40 -06:00
Mitch Livingston
fc67536cc0 #8070: Fix Hide Status Bar/Filter Bar never changing to "Show" (#8170) 2026-01-20 19:59:13 -05:00
Yat Ho
93d95980c3 fix(remote): crash when number argument is invalid (#8162)
* fix: crash when `--global-seedratio` argument is invalid

* fix: crash when `--global-idle-seeding-limit` argument is invalid

* fix: crash when `--peers` argument is invalid

* fix: crash when `--tracker-remove` argument is invalid

* fix: crash when `--seedratio` argument is invalid

* fix: crash when `--idle-seeding-limit` argument is invalid

(cherry picked from commit f6d4585b38)
2026-01-20 14:37:48 -06:00
Yat Ho
d083b3f94b fix: crash on invalid command-line value for --cache / -e arg (#8163)
* fix: crash on invalid command-line value for --cache arg

* Update utils/remote.cc

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

---------

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

(cherry picked from commit f200bedd57)

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2026-01-19 15:29:36 -06:00
Yat Ho
a5733a408c fix: use weak pointers for ip cache curl callback (#8161)
(cherry picked from commit 4e03de7630)
2026-01-19 15:29:25 -06:00
Charles Kerr
81376593db fix: crash on invalid command-line value for --cache arg (#8148) 2026-01-16 02:45:38 -06:00
Charles Kerr
a2f94fc2a8 fix: potential use-after-free of NSString in tr_strv_convert_utf8() (#8131) (#8146)
* fix: potential use-after-free bug when parsing torrent metainfo on macOS

* build: add -Warc-unsafe-retained-assign warning to detect any future ARC issues
2026-01-15 19:16:12 -06:00
Charles Kerr
2f2336f58e fix: remove unused tr_strbuf::join() (#8145) 2026-01-15 16:25:33 -06:00
Charles Kerr
74a0d41b75 fix: typo in User-Agent from requests posted by trqt (#8136) 2026-01-14 13:10:37 -06:00
Charles Kerr
02dca12d06 fixup! refactor: use a map of getters, setters for session_get and session_set properties (#8024) (#8126)
fix: capture-by-reference error in session_accessors()
2026-01-13 10:01:28 -06:00
Yat Ho
6b5ee57bff fix: url port parsing (#8115)
* fix: url port parsing

- `tr_urlParse()` should fail if cannot parse port
- Avoid parsing scheme ports to numbers
- Port should not be parsed to a negative number
- Port should not be parsed to `0`
- Directly parse number string to `uint16_t`

* test: invalid port

(cherry picked from commit cf0a596a45)
2026-01-11 19:57:12 -06:00
Yat Ho
9491a4e71d fix: rebind udp sockets on bind-address change (#8106) 2026-01-10 08:25:09 -06:00
Charles Kerr
114b36e910 fix: 4.1.0-beta.5 regression using trqt as a remote (#8105) 2026-01-09 23:12:16 -06:00
Yat Ho
817a47d281 fix: remove artificial max metadata size limit (#8086) 2026-01-08 11:10:20 -06:00
Charles Kerr
4faab4cf9c fix: use URL base path (#8078)
* fix: use URL base path

Xref: feat: Remote session RPC url path change option qt client (#7561)

* ci: enable codeql in 4.1.x branch
2026-01-07 18:03:24 -06:00
Charles Kerr
11d3fc6f5a fix: qt sessionSet() encryption (#8067) 4.1.0-beta.5 2026-01-05 19:05:46 -06:00
Charles Kerr
a63bbf7273 chore: bump to 4.1.0-beta.5 (#8066) 2026-01-05 18:15:23 -06:00
Mitch Livingston
ea7c84b174 #7908: Explicitly flag menu item icons as "action image" (#8055)
This will make the icons only appear in macOS 26+, without having to manually remove them for earlier releases. This also will allow us to use newer symbol images.
2026-01-05 17:15:44 -06:00
Charles Kerr
f360d5cc0f docs: add release notes for 4.1.0-beta.5 (#8065) 2026-01-05 16:07:38 -06:00
Charles Kerr
5a1b959874 fix: encryption mode regression in Qt app (#8064)
recognize settings.json value for encryption preferences
2026-01-05 15:26:35 -06:00
Mike Gelfand
cf0cec32f5 chore: sync translations (#8059)
* Sync translations with code

* Sync translations with Transifex
2026-01-04 11:45:46 -06:00
Nick
866809aa36 Fix copyright year (#8058)
Fix copyright typo introduced in #8039
2026-01-04 07:58:52 -06:00
Mitchell Livingston
0335d02bd1 Only show file inspector menu action images on macOS 26+ 2026-01-03 10:06:16 -05:00
Charles Kerr
c8d4ce9e9a refactor: de-intern display mode strings (#8052)
* refactor: replace should_convert_child_strings() with a State.path stack

* refactor: de-intern the TR_KEY_sort_ keys

* refactor: de-intern the TR_KEY_show_ keys
2026-01-03 07:41:06 -06:00
Charles Kerr
046de3f6f0 refactor: use a map of getters, setters for session_get and session_set properties (#8024)
* refactor: session_get, session_set use an accessor table

* fix: lambda capture of structured binding declaration

* fix: readability-identifier-naming

* fix: regression

* chore: remove redundant code

* fix: regression

* chore: fix patch shear after rebase

* fix: namespace regression

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2026-01-02 22:39:37 -06:00
Charles Kerr
d7d0d87f78 refactor: remove tr_url_query_view (#8049)
replace bespoke struct with std:: container
2026-01-02 22:39:37 -06:00
Yat Ho
3a4e115c52 fix: wishlist edge case when got bad piece in unaligned torrents (#8047)
* test: add failing test case

* fix: got bad piece in unaligned torrents
2026-01-02 13:04:53 -06:00
Yat Ho
03b5035d88 fix: unconst variable to be moved (#8048) 2026-01-02 12:39:39 -06:00
Yat Ho
f93165c0bc feat: unify encryption mode serialization format for settings.json and rpc (#8032)
* feat: `settings.json` `encryption` is now string

* feat: api-compat for encryption in `settings.json`

* feat: rpc now uses the same strings as `settings.json` for encryption modes

* feat: api-compat for encryption in rpc

* code review: use `to_variant()`
2026-01-02 11:38:54 -06:00
Yat Ho
60c0a176ce refactor(qt): use enum values to define encryption dropdown (#8034) 2026-01-02 11:36:40 -06:00
Yat Ho
d726c0d213 fix: optional serializer edge cases (#8044)
* fix: should reject when deserializing wrong optional type

* fix: reject nested optionals in serializer
2026-01-02 10:40:59 -06:00
Yat Ho
bf2cc7fb78 fix: remove block from wishlist when received (#8042)
Given the unreliable nature of network transfers, it's entirely possible for a requested block to arrive after it has timed out. We need to update the wishlist accordingly in cases like this.
2026-01-02 09:10:52 -06:00
Cœur
0cd11628a4 Fix: "attempt to insert nil object from objects[0]" (#8035) 2025-12-31 22:02:55 -06:00
github-actions[bot]
5ce17df2e5 chore: update copyright years (#8039)
* chore: update copyright year in COPYING

* chore: update copyright year in user-facing files (1)

* chore: update copyright year in user-facing files (2)

* chore: update copyright year in cmake/transmission.rc.in

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-12-31 21:59:44 -06:00
Yat Ho
2491ea10cb docs: deprecate session_get.tcp_enabled (#8036)
* docs: deprecate `session_get.tcp_enabled`

* docs: fix typo
2025-12-31 09:00:00 -06:00
namoen0301
398fe70b02 GHA CI: Add support for Windows arm64 (#7758) 2025-12-31 06:25:27 +00:00
Yat Ho
be80b149b1 fix: torrent dates were not bumped in some cases (#8029)
* refactor: new `tr_torrent::bump_date_edited()`

* fix: `mark_edited()` should also bump `date_changed_`

* fix: torrent should be marked edited when setting labels

* fix: torrent should be marked change when setting file priority
2025-12-29 09:32:37 -06:00
Yat Ho
4542c1bf8a docs(rpc): add missing changelog for recent commits (#8031) 2025-12-29 06:19:41 -06:00
Yat Ho
332c58995c fix(remote): attach id to methods that can return errors (#8028)
* fix(remote): attach id to `session_set` requests

* fix(remote): attach id to `torrent_set` requests

* fix(remote): attach id to `torrent_set_location` requests

* fix(remote): attach id to `torrent_rename_path` requests
2025-12-28 23:08:17 -06:00
Yat Ho
c9c5d780a0 feat(remote): console message for HTTP 204 response (#8027) 2025-12-28 22:43:59 -06:00
Charles Kerr
109ee8e6ff Revert "fix: cache the value of tr_peerMgrGetDesiredAvailable() (#7961)" (#8026)
This reverts commit c0a8f3bbe6.
2025-12-28 18:43:04 -06:00
Elek, David
6392f0c306 fix: opening torrent opens in an new tr instance (#7629) (#7841) 2025-12-28 15:50:45 -06:00
Elek, David
8beb761a3f fix: increase the width of up/down ratio display to 8 (#8019) 2025-12-28 09:52:55 -06:00
Charles Kerr
91f39c56a8 refactor: register converters in tr_lib_init() (#8023) 2025-12-28 09:36:49 -06:00
Yat Ho
80a0e4d048 feat(remote): print blocklist size after update (#8021) 2025-12-28 09:36:40 -06:00