Commit Graph

16389 Commits

Author SHA1 Message Date
Charles Kerr
4e1c0228af Revert "Compatibility with libevent 2.2" (#7795)
* Revert "Compatibility with libevent 2.2 (#7765)"

This reverts commit b372f7b193.

* Compatibility with libevent 2.2

---------

Co-authored-by: Cœur <coeur@gmx.fr>
2025-11-10 14:08:19 -06:00
Cœur
b372f7b193 Compatibility with libevent 2.2 (#7765)
* Compatibility with libevent 2.2

* Fix Android builds

* Fix Win32 builds
2025-11-10 10:33:20 -06:00
cdowen
a2d2097b9f feat: add peer traffic statistics to rpc call (#7172)
* Add peer traffic data in torrent-get rpc interface

* style issue

* update peer rpc spec

* Add bytes_sent_to_peer and bytes_sent_to_client in peer_info and peer-mgr

* make counting variables non-persistent and limited to last several seconds

* change variable to snake-case

* use size_t instead of uint16_t for bytes

* fix use camel_case

* move to did_write
2025-11-10 09:41:03 -06:00
Cœur
aba9a7d6fd Bump fmt to 12.1 (#7793) 2025-11-10 09:06:19 -06:00
Mitch Livingston
34255b473a Update or remove icons that are not available on older OSs (#7790)
* Update document badges to use legacy names

This is needed to support older OSs

* Update or remove icons that are not available on older OSs
2025-11-09 20:29:18 -05:00
Cœur
5306dd3626 Fix running macos app on a VM when building with cmake (#7763) 2025-11-09 18:13:36 -06:00
herbyuan
1ff390f1eb Support dual stack by manually creating and binding socket on Windows platform (#6548)
* dual stack on windows

* fix memory leak

* some changes suggested by @tearfur

* close winsocket at stop_server and code style issues

* remove WSA relevant codes since no need

* fix clang-tidy warnings

* fix clang-tidy warnings v2

---------

Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
Co-authored-by: zyhe <zhuoyuan@pku.edu.cn>
2025-11-09 18:11:10 -06:00
Mitch Livingston
b99232777e macOS 26: set icons on most menu items (#7787)
* macOS 26: set icons on most menu items

This is a first pass, and likely needs some adjustments and updated.

This also removes Select None, which does not seem to be in favor in Mac apps anymore.

* Explicitly set the image on toolbar items' menu representation

* Icons for Info > Files context menu
2025-11-09 17:28:28 -05:00
Cœur
cd45c648a1 Updating actions to macos-26 (#7764) 2025-11-09 17:04:08 -05:00
Cœur
9e5b72df0f bump miniupnpc to 2.3.3 (#7783) 2025-11-09 14:51:44 -06:00
Dzmitry Neviadomski
d1985b05c6 macos: View-based FileOutlineView (#7760)
Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-11-09 12:21:42 -05:00
Mitch Livingston
909fdad807 Update the macOS document icon to match the new app icon (#7782) 2025-11-09 12:19:21 -05:00
github-actions[bot]
b449248fc8 chore: update generated transmission-web files (#7781)
Co-authored-by: ckerr <70381+ckerr@users.noreply.github.com>
2025-11-08 18:29:45 -06:00
Rukario
65d8dc69f1 feat: label mainwin buttons (#6985)
* feat: label mainwin buttons

* fix: trash icon semi-transparent lines overlap
2025-11-08 18:25:30 -06:00
Yat Ho
ace36c922d refactor: replace all evutil_make_listen_socket_ipv6only usages (#7779) 2025-11-08 16:36:54 -06:00
cdowen
d0996479de feat: add bytesCompleted field to torrent-get rpc (#7173)
* add bytesCompleted field to torrent_get rpc

* update bytesCompleted rpc doc
2025-11-08 10:05:21 -06:00
Azamat H. Hackimov
5180e3b69c Generate imported targets for MbedTLS (#7631)
* Generate imported targets for MbedTLS

This change allows to use MbedTLS 3.6 config module without significant
code alteration which simplifies integration with future versions of
MbedTLS.

Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>

* Update MBEDTLS_MINIMUM to 2.7

Code expects API from MbedTLS 2.x or later.

Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>

---------

Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com>
2025-11-08 08:01:43 -06:00
github-actions[bot]
46cbe2b08f chore: update generated transmission-web files (#7777)
Co-authored-by: ckerr <70381+ckerr@users.noreply.github.com>
2025-11-08 07:52:46 -06:00
cdowen
5db90f9ed9 feat:add raw PeerID to RPC interface (#7514)
* add raw PeerID to rpc interface

* use snake_case

* add peer_id to doc

* pass peer_id only and use peer_id_t and base64 encoding when passing peer_id to stat

* clang format

* fix dangling pointer

* remove std::optional

* clean up tr_peerMsgs constructor

* move b64encode to rpc

* just use constructor

* Update libtransmission/peer-msgs.cc

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

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-11-08 07:47:40 -06:00
Rukario
b0b8902198 feat: inline delete prompt in remove dialog (#7000)
Co-authored-by: Yat Ho <lagoho7@gmail.com>
2025-11-08 07:21:14 -06:00
Yat Ho
b3424ed260 feat: match IPv4-mapped addresses with IPv4 whitelist (#7523)
* feat: match IPv4-mapped addresses with IPv4 whitelist

* test: for converting IPv4-mapped to native IPv4

* perf: avoid copying in `tr_wildmat()`
2025-11-07 20:26:45 -06:00
Cœur
312078806d warning: The CFBundleVersion of an app extension ('1') must match that of its containing parent app ('14718.1.2'). (#7762) 2025-11-07 20:19:04 -06:00
Charles Kerr
f20fd5e373 chore: bump transmission 4.1.0 beta.3 (#7769)
* chore: bump to Transmission 4.1.0-beta.3

* docs: add release notes for 4.1.0-beta.3

* docs: update release notes
4.1.0-beta.3
2025-11-05 17:54:17 -06:00
Mitch Livingston
d15c8626d8 Updated app icon for Liquid Glass (#7736) 2025-11-05 17:46:43 -06:00
Mike Gelfand
b27fafca45 Sync translations (#7768)
* Sync translations with code

* Sync translations with Transifex
2025-11-05 22:05:13 +00:00
github-actions[bot]
418434a5f3 chore: update generated transmission-web files (#7726)
Co-authored-by: ckerr <70381+ckerr@users.noreply.github.com>
2025-11-05 14:51:54 -06:00
Charles Kerr
152e468e3a fix: filter-by-tracker failed after the tracker list changed (#7761) 2025-11-05 14:25:45 -06:00
Rukario
c35af04606 feat: revamped search bar for web client (#6948) 2025-11-05 14:21:50 -06:00
Rukario
90268076b8 refactor: clean up Flexbox style rules in CSS (#7358) 2025-11-03 12:26:37 -06:00
Rukario
7be9808ccd Privacy and error filter for web client (#6977)
Squashed all commits + co-authoring previous works

Co-authored-by: Derek Reiff <d@derekr.net>
Co-authored-by: Will Da Silva <will@willdasilva.xyz>
Co-authored-by: Yat Ho <46261767+tearfur@users.noreply.github.com>
2025-11-03 12:24:07 -06:00
Dzmitry Neviadomski
85a325ed71 feat: Introduce PowerManager on macOS (#7543)
- Use modern APIs to prevent idle system sleep.
- Consolidate all related logic.
- Make Controller class a little bit less huge.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-11-02 14:41:22 -06:00
Dzmitry Neviadomski
90b52bc65c Improve building crc32c target with Xcode (#7754)
* Fix input path and add output path for Copy Header step in crc32c

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Enable build step sandboxing for crc32c target.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Dummy commit for Xcode as it keeps reordering targets

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-11-02 12:29:22 -06:00
Rukario
afdbfdbcda feat: viewport neutral layout and style for small viewports in web app (#7328)
* Update transmission-app.scss

* Update transmission-app.scss
2025-11-02 11:58:15 -06:00
Yat Ho
2a3a8ea364 perf: even faster wishlist (#7744)
* chore: add comments to annotate observer dependencies

* refactor: overhaul wishlist

Avoid expensive `count_active_requests` and `has_active_request_to_peer`.
- Remove "endgame"
- Never rebuild candidate list mid-download

* chore: code cleanup

* test: fix

* perf: sort block list in reverse order

* refactor: reduce request timeout from 90 to 15 seconds
2025-11-02 11:55:38 -06:00
Rukario
50e0ffb910 feat: tweak font size for web app (#7329) 2025-11-02 11:52:54 -06:00
Rukario
78c50747cc refactor: offload icons from HTMLdoc to JavaScript for icon deployment (#7277)
* Update index.html

* Update utils.js

* Update torrent-row.js

* Update transmission-app.scss

* Update transmission.js

* Freezing object with `Object.freeze`

Co-Authored-By: Yat Ho <lagoho7@gmail.com>

* Update torrent-row.js

* Update utils.js

* Prefers destructuring assignment over bracket notation accessor

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

---------

Co-authored-by: Yat Ho <lagoho7@gmail.com>
2025-11-02 11:52:22 -06:00
Mike Gelfand
7b4c0ee096 Use native folder icon in torrent files tree (#7757)
Not all Qt styles seem to provide a `DirOpenIcon` icon (Windows 11 style
doesn't, which leads to no icon in the tree), and `DirIcon` is usually
the same (or worse) as the one returned by our icon cache. It's also not
clear why we'd want an _open_ folder icon specifically, given that the
condition in the `else` branch is essentially checking the same thing.
2025-11-02 00:38:01 +00:00
Mike Gelfand
602993cb67 Draw custom colored progress bars (Qt client) (#7756) 2025-11-01 23:48:18 +00:00
Yat Ho
f4bd21d97f fix: acquire lock in tr_peerMgrPeerStats (#7638) 2025-11-01 19:02:16 +00:00
Mike Gelfand
2b4803a023 Bump Windows dependencies (#7755) 2025-11-01 18:59:13 +00:00
Dzmitry Neviadomski
9b496350a9 feat: Data-based QuickLook extension for macOS 12+ (#7213)
* feat: Prepate Xcode project skeleton for QuickLookExtension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add initial implementation of QuickLookExtension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add working Data-based QuickLook Preview

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Add new style.css

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Copy Localization.strings as is from legacy QuickLook plugin

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Fix compilation missing NSStringAdditions

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Apply clang-format, update style.css, fix file name reference

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Adopt CMake build from legacy QuickLook Plugin

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Remove counter for debug

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* fixup: Make header row for file span across all table

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* feat: Improve style.css

- Use CSS Vars
- Add missing paddings
- Add sticky headers for tables

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Use UTType for Image generation more directly.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Fixup for Xcode project checks in PR

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Fix Copyright and remove Xcode generated comments

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Remove unneeded fields from targets Info.plist template.

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Move tx localization to new QuickLook Extension

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

* Apply code review suggestions

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>

---------

Signed-off-by: Dzmitry Neviadomski <nevack.d@gmail.com>
2025-10-31 11:30:55 -05:00
Rukario
1d0db31ae7 feat: submenu to group away context menu items (#7263)
* Update context-menu.js

* Update transmission-app.scss

* Update transmission-app.scss

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update transmission-app.scss

* Update context-menu.js

* Update action-manager.js

* Update context-menu.js

* Update context-menu.js

* Update action-manager.js

* Update context-menu.js

* Update context-menu.js

* Update context-menu.js

* Update context-menu.js
2025-10-30 18:19:48 -05:00
Yat Ho
bfb5e35021 chore: add suffix to private and protected members (#7746) 2025-10-30 10:13:27 -05:00
Yat Ho
555d4681c5 perf: reduce memory profile in announce failed handling (#7748) 2025-10-30 10:11:56 -05:00
Yat Ho
648c65868c feat: use Type=notify-reload in daemon service (#7570)
* feat: use `Type=notify-reload` in daemon service

* build: keep systemd names consistent

---------

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2025-10-29 09:04:04 -05:00
Yat Ho
02a8bafb28 refactor: more generic http announce failure handling (#7745) 2025-10-28 16:20:43 -05:00
Charles Kerr
db67c258a9 refactor: don't use evbuffer in transmission-remote (#7739)
* refactor: remove evbuffer use in transmission-remote

Keep reducing our libevent API use, especially outside of libtransmission

* chore: reduce some unnecessary diffs to main
2025-10-27 18:30:25 -05:00
Yat Ho
41dd2cfd53 fix: accept either one of udp announce response (#7583)
* fix: accept either one of udp announce response

* fix: udp announcer tests should read packets in-order

* test: housekeeping

* test: new tests for the new logic
2025-10-27 12:08:59 -05:00
Charles Kerr
f26eca5fd5 refactor: avoid evutil_ascii_strcasecmp() in get_quota_space() (#7740) 2025-10-27 11:47:56 -05:00
Yat Ho
48cde98788 refactor: use new tr_variant API for stats.json (#7098)
* refactor: load stats with new tr_variant API

* refactor: save stats with new tr_variant API
2025-10-27 11:25:18 -05:00