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
Yat Ho
4f26b62908
fix: respect min interval and interval if they exist ( #7493 )
...
* fix: parse `min interval` and `interval` if they exist
* fix: account for `interval` and `min interval` during tracker failure
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com >
2025-10-27 10:44:29 -05:00
Yat Ho
4bd9aa9b06
refactor: prioritise peers slots for downloading torrents ( #7306 )
...
* chore: housekeeping
* refactor: allow downloading torrents to steal connection slots
To be exact, the way it works is that downloading torrents will be allowed to start outgoing connections despite the session peer limit is reached. The periodic peer limit enforcements should keep the downloading connections and remove the idle connections in seeding torrents.
* refactor: prefer peers from downloading torrents when enforcing peer limit
2025-10-27 10:43:14 -05:00
Yat Ho
5c7135c319
build: define GDK_VERSION_MIN_REQUIRED ( #7633 )
...
This suppresses deprecation warnings in newer GDK versions that weren't in the version that comes with our minimum GTKMM version.
2025-10-27 09:45:03 -05:00
Cœur
e23ff0c7ae
[peer-mgr] Prevent out-of-bounds in update_canonical_priority ( #7738 )
...
* [peer-mgr] Prevent out-of-bounds in update_canonical_priority
* code review: prefer `is_valid()`
2025-10-27 09:33:30 -05:00
Mike Gelfand
f8d8676f60
Sync translations ( #7742 )
...
* Fix "Message contains an embedded URL" xgettext warnings
See https://www.gnu.org/software/gettext/manual/html_node/No-embedded-URLs.html
* Sync translations with code
* Sync translations with Transifex
2025-10-27 14:39:58 +01:00
Charles Kerr
454b810698
fix: performance-for-range-copy warning in tr-peer-info-test.cc ( #7741 )
...
this warning broke the clang-tidy-libtransmission-win32 CI
2025-10-26 21:07:52 -05:00