Yat Ho
f61b0213a9
feat: add X-Transmission-Rpc-Version ( #7958 )
2025-12-19 10:03:37 -06:00
Charles Kerr
1a18462691
refactor: make tr_sessionInit() config_dir arg a string_view ( #7939 )
2025-12-18 23:06:23 -06:00
Charles Kerr
fcd1e2ff8a
refactor: simplify tr_sessionLoadSettings() args ( #7935 )
...
* refactor: remove unused appname arg from tr_sessionLoadSettings()
* refactor: swap order of arguments to tr_sessionLoadSettings()
so way the optional arg can go at the end
2025-12-15 13:44:38 -06:00
Yat Ho
05aef3e787
refactor: unify quarks and strings to snake_case ( #7108 )
...
* refactor: change `leftUntilDone` to `left_until_done`
* refactor: change `magnetLink` to `magnet_link`
* refactor: change `manualAnnounceTime` to `manual_announce_time`
* refactor: change `maxConnectedPeers` to `max_connected_peers`
* refactor: change `metadataPercentComplete` to `metadata_percent_complete`
* refactor: change `peersConnected` to `peers_connected`
* refactor: change `peersFrom` to `peers_from`
* refactor: change `peersGettingFromUs` to `peers_getting_from_us`
* refactor: change `peersSendingToUs` to `peers_sending_to_us`
* refactor: change `percentComplete` to `percent_complete`
* refactor: change `percentDone` to `percent_done`
* refactor: change `pieceCount` to `piece_count`
* refactor: use quark when possible
* refactor: change `pieceSize` to `piece_size`
* refactor: change `primary-mime-type` to `primary_mime_type`
* refactor: change `rateDownload` to `rate_download`
* refactor: change `rateUpload` to `rate_upload`
* refactor: change `recheckProgress` to `recheck_progress`
* refactor: change `secondsDownloading` to `seconds_downloading`
* refactor: change `secondsSeeding` to `seconds_seeding`
* refactor: change `sizeWhenDone` to `size_when_done`
* refactor: change `startDate` to `start_date`
* refactor: change `trackerStats` to `tracker_stats`
* refactor: change `totalSize` to `total_size`
* refactor: change `torrentFile` to `torrent_file`
* refactor: change `uploadedEver` to `uploaded_ever`
* refactor: change `uploadRatio` to `upload_ratio`
* refactor: change `webseedsSendingToUs` to `webseeds_sending_to_us`
* refactor: change `bytesCompleted` to `bytes_completed`
* refactor: change `clientName` to `client_name`
* refactor: change `clientIsChoked` to `client_is_choked`
* refactor: change `clientIsInterested` to `client_is_interested`
* refactor: change `flagStr` to `flag_str`
* refactor: change `isDownloadingFrom` to `is_downloading_from`
* refactor: change `isEncrypted` to `is_encrypted`
* refactor: change `isIncoming` to `is_incoming`
* refactor: change `isUploadingTo` to `is_uploading_to`
* refactor: change `isUTP` to `is_utp`
* refactor: change `peerIsChoked` to `peer_is_choked`
* refactor: change `peerIsInterested` to `peer_is_interested`
* refactor: change `rateToClient` to `rate_to_client`
* refactor: change `rateToPeer` to `rate_to_peer`
* refactor: change `fromCache` to `from_cache`
* refactor: change `fromDht` to `from_dht`
* refactor: change `fromIncoming` to `from_incoming`
* refactor: change `fromLpd` to `from_lpd`
* refactor: change `fromLtep` to `from_ltep`
* refactor: change `fromPex` to `from_pex`
* refactor: change `fromTracker` to `from_tracker`
* refactor: change `announceState` to `announce_state`
* refactor: change `downloadCount` to `download_count`
* refactor: change `hasAnnounced` to `has_announced`
* refactor: change `hasScraped` to `has_scraped`
* refactor: change `isBackup` to `is_backup`
* refactor: change `lastAnnouncePeerCount` to `last_announce_peer_count`
* refactor: change `lastAnnounceResult` to `last_announce_result`
* refactor: change `lastAnnounceStartTime` to `last_announce_start_time`
* refactor: change `lastAnnounceSucceeded` to `last_announce_succeeded`
* refactor: change `lastAnnounceTime` to `last_announce_time`
* refactor: change `lastAnnounceTimedOut` to `last_announce_timed_out`
* refactor: change `lastScrapeResult` to `last_scrape_result`
* refactor: change `lastScrapeStartTime` to `last_scrape_start_time`
* refactor: change `lastScrapeSucceeded` to `last_scrape_succeeded`
* refactor: change `lastScrapeTime` to `last_scrape_time`
* refactor: change `lastScrapeTimedOut` to `last_scrape_timed_out`
* refactor: change `leecherCount` to `leecher_count`
* refactor: change `nextAnnounceTime` to `next_announce_time`
* refactor: change `nextScrapeTime` to `next_scrape_time`
* refactor: change `scrapeState` to `scrape_state`
* refactor: change `seederCount` to `seeder_count`
* refactor: change `torrent-added` to `torrent_added`
* refactor: change `torrent-duplicate` to `torrent_duplicate`
* refactor: change `torrent-remove` to `torrent_remove`
* refactor: change `delete-local-data` to `delete_local_data`
* refactor: change `torrent-rename-path` to `torrent_rename_path`
* refactor: change `alt-speed-down` to `alt_speed_down`
* refactor: convert `pref_toggle_entries` to quark array
* refactor: change `alt-speed-enabled` to `alt_speed_enabled`
* refactor: change `compact-view` to `compact_view`
* refactor: change `sort-reversed` to `sort_reversed`
* refactor: change `show-filterbar` to `show_filterbar`
* refactor: change `show-statusbar` to `show_statusbar`
* refactor: change `show-toolbar` to `show_toolbar`
* refactor: change `alt-speed-time-begin` to `alt_speed_time_begin`
* refactor: change `alt-speed-time-day` to `alt_speed_time_day`
* refactor: change `alt-speed-time-end` to `alt_speed_time_end`
* refactor: change `alt-speed-up` to `alt_speed_up`
* refactor: change `alt-speed-time-enabled` to `alt_speed_time_enabled`
* refactor: change `blocklist-enabled` to `blocklist_enabled`
* refactor: change `blocklist-size` to `blocklist_size`
* refactor: change `blocklist-url` to `blocklist_url`
* refactor: change `cache-size-mb` to `cache_size_mb`
* refactor: change `config-dir` to `config_dir`
* refactor: change `default-trackers` to `default_trackers`
* refactor: change `dht-enabled` to `dht_enabled`
* refactor: change `download-dir-free-space` to `download_dir_free_space`
* refactor: change `download-queue-enabled` to `download_queue_enabled`
* refactor: change `download-queue-size` to `download_queue_size`
* refactor: change `idle-seeding-limit-enabled` to `idle_seeding_limit_enabled`
* refactor: change `idle-seeding-limit` to `idle_seeding_limit`
* refactor: change `incomplete-dir-enabled` to `incomplete_dir_enabled`
* refactor: change `incomplete-dir` to `incomplete_dir`
* refactor: change `lpd-enabled` to `lpd_enabled`
* refactor: change `peer-limit-global` to `peer_limit_global`
* refactor: change `peer-limit-per-torrent` to `peer_limit_per_torrent`
* refactor: change `peer-port-random-on-start` to `peer_port_random_on_start`
* refactor: change `peer-port` to `peer_port`
* refactor: change `pex-enabled` to `pex_enabled`
* refactor: change `port-forwarding-enabled` to `port_forwarding_enabled`
* refactor: change `queue-stalled-enabled` to `queue_stalled_enabled`
* refactor: change `queue-stalled-minutes` to `queue_stalled_minutes`
* refactor: change `rename-partial-files` to `rename_partial_files`
* refactor: change `rpc-version-minimum` to `rpc_version_minimum`
* refactor: change `rpc-version-semver` to `rpc_version_semver`
* refactor: change `rpc-version` to `rpc_version`
* refactor: change `script-torrent-added-enabled` to `script_torrent_added_enabled`
* refactor: change `script-torrent-added-filename` to `script_torrent_added_filename`
* refactor: change `script-torrent-done-enabled` to `script_torrent_done_enabled`
* refactor: change `script-torrent-done-filename` to `script_torrent_done_filename`
* refactor: change `script-torrent-done-seeding-enabled` to `script_torrent_done_seeding_enabled`
* refactor: change `script-torrent-done-seeding-filename` to `script_torrent_done_seeding_filename`
* refactor: change `seed-queue-enabled` to `seed_queue_enabled`
* refactor: change `seed-queue-size` to `seed_queue_size`
* refactor: change `seedRatioLimited` to `seed_ratio_limited`
* refactor: change `session-id` to `session_id`
* refactor: change `speed-limit-down-enabled` to `speed_limit_down_enabled`
* refactor: change `speed-limit-down` to `speed_limit_down`
* refactor: change `speed-limit-up-enabled` to `speed_limit_up_enabled`
* refactor: change `speed-limit-up` to `speed_limit_up`
* refactor: change `start-added-torrents` to `start_added_torrents`
* refactor: change `trash-original-torrent-files` to `trash_original_torrent_files`
* refactor: change `utp-enabled` to `utp_enabled`
* refactor: change `tcp-enabled` to `tcp_enabled`
* docs: add missing docs for RPC `tcp_enabled`
* refactor: change `speed-units` to `speed_units`
* refactor: change `speed-bytes` to `speed_bytes`
* refactor: change `size-units` to `size_units`
* refactor: change `size-bytes` to `size_bytes`
* refactor: change `memory-units` to `memory_units`
* refactor: change `memory-bytes` to `memory_bytes`
* refactor: change `session-set` to `session_set`
* refactor: change `session-get` to `session_get`
* refactor: change `session-stats` to `session_stats`
* refactor: change `activeTorrentCount` to `active_torrent_count`
* refactor: change `downloadSpeed` to `download_speed`
* refactor: change `pausedTorrentCount` to `paused_torrent_count`
* refactor: change `torrentCount` to `torrent_count`
* refactor: change `uploadSpeed` to `upload_speed`
* refactor: change `cumulative-stats` to `cumulative_stats`
* refactor: change `current-stats` to `current_stats`
* refactor: change `uploadedBytes` and `uploaded-bytes` to `uploaded_bytes`
* refactor: change `downloadedBytes` and `downloaded-bytes` to `downloaded_bytes`
* refactor: change `filesAdded` and `files-added` to `files_added`
* refactor: change `sessionCount` and `session-count` to `session_count`
* refactor: change `secondsActive` and `seconds-active` to `seconds_active`
* refactor: change `blocklist-update` to `blocklist_update`
* refactor: change `port-test` to `port_test`
* refactor: change `session-close` to `session_close`
* refactor: change `queue-move-top` to `queue_move_top`
* refactor: change `queue-move-up` to `queue_move_up`
* refactor: change `queue-move-down` to `queue_move_down`
* refactor: change `queue-move-bottom` to `queue_move_bottom`
* refactor: change `free-space` to `free_space`
* refactor: change `group-set` to `group_set`
* refactor: change `group-get` to `group_get`
* refactor: change `announce-ip` to `announce_ip`
* refactor: change `announce-ip-enabled` to `announce_ip_enabled`
* refactor: change `upload-slots-per-torrent` to `upload_slots_per_torrent`
* refactor: change `trash-can-enabled` to `trash_can_enabled`
* refactor: change `watch-dir-enabled` to `watch_dir_enabled`
* refactor: change `watch-dir-force-generic` to `watch_dir_force_generic`
* refactor: change `watch-dir` to `watch_dir`
* refactor: change `message-level` to `message_level`
* refactor: change `scrape-paused-torrents-enabled` to `scrape_paused_torrents_enabled`
* refactor: change `torrent-added-verify-mode` to `torrent_added_verify_mode`
* refactor: change `sleep-per-seconds-during-verify` to `sleep_per_seconds_during_verify`
* refactor: change `bind-address-ipv4` to `bind_address_ipv4`
* refactor: change `bind-address-ipv6` to `bind_address_ipv6`
* refactor: change `peer-congestion-algorithm` to `peer_congestion_algorithm`
* refactor: change `peer-socket-tos` to `peer_socket_tos`
* refactor: change `peer-port-random-high` to `peer_port_random_high`
* refactor: change `peer-port-random-low` to `peer_port_random_low`
* refactor: change `anti-brute-force-enabled` to `anti_brute_force_enabled`
* refactor: change `rpc-authentication-required` to `rpc_authentication_required`
* refactor: change `rpc-bind-address` to `rpc_bind_address`
* refactor: change `rpc-enabled` to `rpc_enabled`
* refactor: change `rpc-host-whitelist` to `rpc_host_whitelist`
* refactor: change `rpc-host-whitelist-enabled` to `rpc_host_whitelist_enabled`
* refactor: change `rpc-password` to `rpc_password`
* refactor: change `rpc-port` to `rpc_port`
* refactor: change `rpc-socket-mode` to `rpc_socket_mode`
* refactor: change `rpc-url` to `rpc_url`
* refactor: change `rpc-username` to `rpc_username`
* refactor: change `rpc-whitelist` to `rpc_whitelist`
* refactor: change `rpc-whitelist-enabled` to `rpc_whitelist_enabled`
* refactor: change `ratio-limit-enabled` to `ratio_limit_enabled`
* refactor: change `ratio-limit` to `ratio_limit`
* refactor: change `show-options-window` to `show_options_window`
* refactor: change `open-dialog-dir` to `open_dialog_dir`
* refactor: change `inhibit-desktop-hibernation` to `inhibit_desktop_hibernation`
* refactor: change `show-notification-area-icon` to `show_notification_area_icon`
* refactor: change `start-minimized` to `start_minimized`
* refactor: change `torrent-added-notification-enabled` to `torrent_added_notification_enabled`
* refactor: change `anti-brute-force-threshold` to `anti_brute_force_threshold`
* refactor: change `torrent-complete-notification-enabled` to `torrent_complete_notification_enabled`
* refactor: change `prompt-before-exit` to `prompt_before_exit`
* refactor: change `sort-mode` to `sort_mode`
* refactor: change `statusbar-stats` to `statusbar_stats`
* refactor: change `show-extra-peer-details` to `show_extra_peer_details`
* refactor: change `show-backup-trackers` to `show_backup_trackers`
* refactor: change `blocklist-date` to `blocklist_date`
* refactor: change `blocklist-updates-enabled` to `blocklist_updates_enabled`
* refactor: change `main-window-layout-order` to `main_window_layout_order`
* refactor: change `main-window-height` to `main_window_height`
* refactor: change `main-window-width` to `main_window_width`
* refactor: change `main-window-x` to `main_window_x`
* refactor: change `main-window-y` to `main_window_y`
* refactor: change `filter-mode` to `filter_mode`
* refactor: change `filter-trackers` to `filter_trackers`
* refactor: change `filter-text` to `filter_text`
* refactor: change `remote-session-enabled` to `remote_session_enabled`
* refactor: change `remote-session-host` to `remote_session_host`
* refactor: change `remote-session-https` to `remote_session_https`
* refactor: change `remote-session-password` to `remote_session_password`
* refactor: change `remote-session-port` to `remote_session_port`
* refactor: change `remote-session-requres-authentication` to `remote_session_requires_authentication`
* refactor: change `remote-session-username` to `remote_session_username`
* refactor: change `torrent-complete-sound-command` to `torrent_complete_sound_command`
* refactor: change `torrent-complete-sound-enabled` to `torrent_complete_sound_enabled`
* refactor: change `user-has-given-informed-consent` to `user_has_given_informed_consent`
* refactor: change `read-clipboard` to `read_clipboard`
* refactor: change `details-window-height` to `details_window_height`
* refactor: change `details-window-width` to `details_window_width`
* refactor: change `main-window-is-maximized` to `main_window_is_maximized`
* refactor: change `port-is-open` to `port_is_open`
* refactor: change `show-tracker-scrapes` to `show_tracker_scrapes`
* refactor: change `max-peers` to `max_peers`
* refactor: change `peers2-6` to `peers2_6`
* refactor: change `seeding-time-seconds` to `seeding_time_seconds`
* refactor: change `downloading-time-seconds` to `downloading_time_seconds`
* refactor: change `ratio-mode` to `ratio_mode`
* refactor: change `idle-limit` to `idle_limit`
* refactor: change `idle-mode` to `idle_mode`
* refactor: change `speed-Bps` to `speed_Bps`
* refactor: change `use-global-speed-limit` to `use_global_speed_limit`
* refactor: change `use-speed-limit` to `use_speed_limit`
* chore: remove TODO comment
* docs: add upgrade instructions to `5.0.0`
* chore: bump rpc semver major version
* chore: housekeeping
2025-12-01 16:08:18 -06:00
Yat Ho
1cb24a701b
feat: new JSON-RPC 2.0 RPC API ( #7269 )
...
* feat: add enum for JSON-RPC error codes
* feat: new `tr_rpc_request_exec()` overload that accepts string
* feat: add JSON-RPC parse error handling
* feat: add logic for branching to JSON-RPC or legacy API
* feat: error codes for existing errors strings
* refactor: async handlers now take the done cb as parameter
* feat: support non-batch JSON-RPC requests
* feat: support batch JSON-RPC requests
* refactor: move JSON-RPC error codes to header
* test: new tests for JSON-RPC
* refactor(webui): use jsonrpc api
* docs: update docs for jsonrpc
* fix: clang-tidy warning
* perf: avoid copying callback in batch mode
* code review: don't commit to dropping old RPC
* chore: fix shadowed variable warnings
2025-11-30 10:04:40 -06:00
Yat Ho
48ec09771c
feat: add downloader_count to trackerStats ( #6936 )
2025-11-12 10:23:37 -06:00
Cœur
78238ec3de
fix corruption: torrentVerify on completion ( #4178 )
...
* torrentVerify on completion
* Make torrent verify on completion configurable via settings
* code review: replacing tr_verify_complete_mode with bool
* code review: sorting torrent_complete_verify_enabled with bool
* Update Application.cc
* code review: avoiding `session->onTorrentCompletenessChanged` before verification completion
2025-11-10 14:16:15 -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
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
Yat Ho
08ec7fb7c7
build: lint header files with clang-tidy ( #7527 )
...
* build: clang-tidy headers when building libtransmission
* chore: revert `= default` workaround
It was introduced in 6909ec0bad to fix build issues with macOS 10.14. We
no longer support that version.
* fix: clang-tidy warnings for libtransmission
* build: clang-tidy headers when building tests
* fix: clang-tidy warnings for tests
* build: clang-tidy headers when building qt
* code review: don't manually edit mime-types.h
* code review: unify variable naming for static private members
2025-05-07 22:10:16 +01:00
Mike Gelfand
dbea32809a
Refactor async torrent removal logic ( #7059 )
...
* Remove `tr_file_move_strict()`, add param to `tr_file_move()` instead
Also restores proper `local_error` logic to handle null error param.
* Remove unused `moved_files` logic
* Rename the callback type and params to match rename decls
* Add torrent ID param to torrent removal callback
* Remove mutex from torrent removal callback
Torrent IDs aren't reused during the lifetime of the session.
* Move main removal callback logic into a separate method
2024-08-13 06:19:36 +01:00
Lucas Clemente Vella
9fc9daf40d
Fails with an error if data removal was not possible ( #6055 )
...
* Do not remove torrent if trashing files failed.
Instead, stop the torrent and sets an error.
* Fixing GTK interface with new file removal behavior.
* C++17 compliant.
* Reverting unrelated change.
* Avoiding allocating unecessary objects.
* Easy review fixes.
* Fixing merge error.
* Adding result callback to tr_torrentRemove().
Using the new callback in Gtk GUI to decide when to remove it from the
interface.
* Reducing indentation level and making the function more readable.
* Using existing Session RefPtr.
* Notifying the client before freeing the torrent in the session.
* Addressing comments and synchronizing callback.
* Moving include.
* Fix constness issue reported by clang-tidy
2024-08-13 05:26:09 +01:00
Yat Ho
4bb9eab0d0
fix: app defaults should override libtransmission defaults ( #6495 )
2024-01-06 10:10:14 -06:00
Charles Kerr
501487b8cf
refactor: remove tr_parse_result enum ( #6435 )
2023-12-24 18:05:18 -06:00
Charles Kerr
581d9c34cc
fix: gcc-13 warnings pt. 2 ( #6404 )
...
* fix: tr_priority_t usage warnings
* build: disable -Wnull-dereference warnings when building GTest
* fix: -Wunused-result warning in tr_spawn_async()
* fix: -Warray-bounds warning in NetTest::compact4()
2023-12-23 10:32:04 -06:00
Yat Ho
48f9a2376a
fix: always use location of selected torrents in WebUI set location dialogue ( #6337 )
2023-12-06 10:10:28 -06:00
Charles Kerr
2e46bad22d
refactor: constify the inout module ( #6328 )
...
* refactor: move tr_preallocation_mode info tr_open_files
* refactor: remove unnecessary error nullptr check
* refactor: use snake_case for private method names in inout.cc
* refactor: extract-method get_fd() from read_or_write_bytes()
* refactor: make function args const where possible
* refactor: simplify read_or_write_bytes()
* refactor: make buflen a uint64_t in read_or_write_piece()
* refactor: move tr_torrentStop() logic from read_or_write_piece() to tr_ioWrite()
* refactor: make tr_ioFoo() functions take a const torrent
* refactor: make tr_cache::close_torrent_files() take a tor_id instead of a torrent
2023-12-02 14:16:36 -06:00
Charles Kerr
25d67dd00d
refactor: in tr_announce_list, replace port_and_str with aggregated parsed url ( #6323 )
2023-12-01 15:48:04 -06:00
Charles Kerr
1ec6b2b232
refactor: make more tr_torrent fields private ( #6305 )
...
* refactor: make tr_torrent::max_connected_peers_ private
* refactor: make tr_torrent::completeness_ private
* refactor: make tr_torrent::mark_edited() private
* refactor: make tr_torrent::mark_changed() private
* refactor: make tr_torrent::start_when_stable_ private
* refactor: make tr_torrent::is_dirty() private
* refactor: make tr_torrent::byte_span() private
* refactor: remove unused non-const version of tr_torrent::metainfo()
* refactor: make tr_torrent::set_dirty() private
* refactor: remove unused tr_torrentStartMagnet()
2023-11-27 23:04:04 -06:00
Yat Ho
5d64c860ea
fix: low priority not working ( #6079 )
2023-11-27 19:59:26 -06:00
Charles Kerr
e14806c409
refactor: c++ify libtransmission's tr_ctor struct ( #6295 )
2023-11-26 15:43:37 -06:00
Yat Ho
7af71d9695
refactor: pause torrent after verifying if files disappeared ( #6277 )
2023-11-25 16:20:17 -06:00
Charles Kerr
07d96036d9
refactor: Values pt. 6 - remove deprecated API ( #6250 )
2023-11-14 17:23:51 -06:00
Charles Kerr
8ebb5b0bc3
refactor: Values pt. 4 - use Speed in peer_mgr, peer_msgs ( #6241 )
2023-11-12 14:38:27 -06:00
Charles Kerr
0e85befc0f
refactor: Values pt. 3 - use Speed in tr_session ( #6235 )
2023-11-12 12:30:37 -06:00
Charles Kerr
a575be778f
refactor: Values pt. 2 - use Speed in tr_bandwidth ( #6234 )
2023-11-10 17:12:24 -06:00
Cœur
bcbd9b77af
feat: add stats for known peers, not just connected ones ( #4900 )
2023-11-08 11:17:00 -06:00
Charles Kerr
a952a0731f
refactor: remove the tr_error** idiom ( #6198 )
...
* refactor: remove the tr_error** idiom
* fix: tr_error::message() is only constexpr in c++20 and up
* chore: silence a couple of g++-12 Wshadow warnings
2023-11-04 11:39:41 -05:00
Yat Ho
a2b547fb50
chore: iwyu ( #6201 )
2023-11-03 12:03:26 -05:00
Julien
8ac323d5d6
chore: removed copyright timespans in headers ( #4850 )
2023-11-01 16:11:11 -05:00
Charles Kerr
72d2823851
refactor: remove tr_torrentTotalSize() ( #6166 )
...
this interim function should have been removed when tr_torrentView() was introduced
2023-10-25 16:37:09 -04:00
Charles Kerr
8f7330523c
chore: remove unused progress arg from tr_torrentSetLocation() ( #6147 )
2023-10-21 22:33:41 -04:00
Yat Ho
0c52b710ad
feat: add option to force verify torrent in WebUI ( #5981 )
2023-10-06 22:52:59 -05:00
Yat Ho
2c97567370
chore: minor housekeeping for bandwidth code ( #6080 )
2023-10-06 18:30:04 -05:00
Charles Kerr
68f3c89e3c
refactor: make tr_torrent idle fields private ( #6070 )
2023-10-03 20:18:55 -05:00
Charles Kerr
917c00e477
refactor: remove tr_torrentStatCached() ( #6066 )
2023-10-02 14:07:28 -05:00
Charles Kerr
6ead147620
refactor: use new tr_variant API in tr_session ( #6006 )
2023-09-16 08:23:35 -05:00
Charles Kerr
ebb1b775af
refactor: public tr_session settings API now returns tr_variants ( #5983 )
2023-09-07 19:05:16 -05:00
Charles Kerr
5837603b6f
refactor: make tr_variant follow RAII ( #5923 )
2023-08-20 23:15:23 -05:00
Charles Kerr
c867f00153
refactor: replace peer_atom with tr_peer_info ( #5773 )
2023-07-14 07:06:25 -05:00
Charles Kerr
8183d7fddf
refactor: utils naming ( #5696 )
...
* chore: rename tr_strvContains to tr_strv_contains
* chore: rename tr_strvStartsWith to tr_strv_starts_with
* chore: rename tr_strvEndsWith to tr_strv_ends_with
* chore: rename tr_strvSep to tr_strv_sep
* chore: rename tr_strvStrip to tr_strv_strip
* chore: rename tr_strvToBuf to tr_strv_to_buf
* refactor: rename tr_saveFile() to tr_file_save()
rename tr_loadFile() to tr_file_read()
rename tr_moveFile() to tr_file_move()
* refactor: rename tr_parseNum() to tr_num_parse()
refactor: rename tr_parseNumRange() to tr_num_parse_range()
* chore: group related functions together in header
2023-06-30 09:49:58 -05:00
Charles Kerr
ce66e5c442
iwyu: remove, add std headers where used ( #5694 )
...
* chore: remove unused #include <array>
* chore: remove unused #include <chrono>
* chore: remove unused #include <set>
* chore: remove unused #include <algorithm>
* chore: remove unused #include "interned-string.h"
* chore: remove unused #include <list>
* chore: remove unused #include <optional>
* chore: iwyu <cstddef>
* chore: iwyu <ctime>
* chore: remove unused #include <cerrno>
* chore: remove unused #include <deque>
* chore: remove unused #include <vector>
* chore: remove unused #include <memory>
* chore: remove unused #include <unordered_set>
* chore: remove unused #include <array>
* chore: remove unused #include <mutex>
* chore: remove unused #include <functional>
* chore: remove unused #include <cmath>
2023-06-29 23:51:55 -05:00
tearfur
41cfdce6fd
refactor: replace some C idioms with C++ ones ( #5656 )
...
* tidy up legecy practices
* remove undefined std::ignore usage
* avoid extra function stack level in daemon.cc
2023-06-22 17:58:16 -05:00
Daniel Kamil Kozar
c1c27f3da0
Expose files' begin and end pieces via RPC ( #5578 )
...
* Expose files' begin and end pieces via RPC
This adds two arguments, `beginPiece` and `endPiece`, for each of the entries
in the `files` array of the RPC's `torrent-`get` method.
The point is to allow RPC clients to display a file's completion progress as
piece-based in addition to byte-based.
2023-06-05 13:15:32 -05:00
Charles Kerr
c61d8b7cf7
refactor: rename tr_tracker_view.host to .host_and_port for clarity ( #5508 )
2023-05-08 20:28:10 -05:00
Cœur
9b69c7d5ff
Don't force fetch metainfo at startup and new torrents. ( #4895 )
2023-02-14 22:19:47 -06:00
Charles Kerr
f551b4adbf
fix: magnet links are always paused when added ( #4856 )
2023-02-13 12:33:33 -06:00
Julien
4b8cfa2e57
chore: update copyrights to 2023 ( #4834 )
2023-02-11 14:49:42 -06:00
SweetPPro
1e988c9ce4
fix magnet link start logic ( #4528 )
2023-02-02 00:19:20 -06:00
Charles Kerr
93db8f088a
fix: cppcoreguidelines-pro-type-cstyle-cast ( #4685 )
...
* fix: libtransmission cppcoreguidelines-pro-type-cstyle-cast
* fix: libtransmission cppcoreguidelines-avoid-do-while
* refactor: inline static class fields
* fix: libtransmission cppcoreguidelines-avoid-reference-coroutine-parameters
* fix: announcer.cc cppcoreguidelines-narrowing-conversions
2023-01-28 15:26:23 -06:00