Yat Ho
a2b547fb50
chore: iwyu ( #6201 )
2023-11-03 12:03:26 -05:00
Julien
424a9b5e17
chore: cleanup timespans in remaining headers ( #6199 )
...
* chore: cleanup timespans in remaining headers
* fix: reverted change in generated file
See https://github.com/transmission/transmission/actions/runs/6744426558/job/18334261137?pr=6199
2023-11-03 08:31:39 -05:00
Cœur
2e7448c9bc
fix: appendSanitizedComponent is too aggressive on non-WIN32 (and not enough aggressive on WIN32) ( #6187 )
2023-11-03 00:25:42 -05:00
Charles Kerr
a6c5dea40c
refactor: work around C3779 error in MSVC 14.37.32822 ( #6197 )
2023-11-02 23:18:11 -05:00
Julien
8ac323d5d6
chore: removed copyright timespans in headers ( #4850 )
2023-11-01 16:11:11 -05:00
sfan5
aaed2eb26c
feat: sanitize torrent filenames depending on current OS ( #3823 )
...
Instead of applying the limitations of the least common denominator (Windows) everywhere.
2023-11-01 15:27:04 -05:00
Charles Kerr
e54b17d92e
refactor: blocklists ( #6189 )
2023-10-31 19:20:01 -04:00
Charles Kerr
f0e9f90782
refactor: move tr_session::getAllTorrents to tr_torrents ( #6179 )
2023-10-30 16:38:02 -04:00
Dzmitry Neviadomski
c697d95ad3
fix: crash after nullptr dereference in rpcimpl ( #6177 )
2023-10-30 13:30:10 -04:00
Charles Kerr
e27b05bcec
refactor: make class methods private ( #6181 )
2023-10-30 02:32:29 -04:00
Yat Ho
d059669c0e
fix: formatting cmdline help message ( #6174 )
2023-10-29 15:41:39 -04:00
Yat Ho
d224985ef8
fixup! perf: cut down excess copying when downloading ( #5907 ) ( #6169 )
2023-10-27 00:19:24 -04: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
165cf169e6
refactor: extract the lambda method in tr_variant::Map::find() ( #6161 )
...
experimental change for msvc 19.37 ftbfs
2023-10-25 15:36:28 -04:00
Charles Kerr
901de536a3
fix: in RPC, default to sort torrents by id ( #5604 )
...
When getting all torrents in a batch over RPC, the results are sorted by
info-dict hash. Prior to 4.0.0, they were sorted by ID. This change broke
some peoples' workflows.
I'm OK with breaking workflows if it's necessary to improve the program,
but this was an unintentional side-effect and I don't see any inherent
benefit to either sort order. So this PR restores the 3.00 sort order.
https://xkcd.com/1172/
2023-10-25 13:42:14 -04:00
Yat Ho
5a6f0a5623
fixup! refactor: re-organise net.h member functions ( #5878 ) ( #5933 )
...
* fix: check if address is valid in `tr_address::is_any()`
* refactor: add static implementation of `tr_address::is_valid()`
2023-10-25 11:53:46 -04:00
Yat Ho
6e7fdef721
perf: cut down excess copying when downloading ( #5907 )
...
* refactor: directly copy from socket to incoming payload
* refactor: directly process the incoming field
There is no need to copy the payload to a new buffer before processing.
`process_peer_message()` isn't going to return until it's done, and nothing else is going to mess with the incoming field while inside `process_peer_message()`.
* refactor: remove while loop
* add assert
2023-10-25 09:51:36 -04:00
Charles Kerr
237223aeaf
refactor: prefer std::set over QSet ( #5703 )
...
* refactor: use std::set instead of QSet in WatchDir.cc
* refactor: use std::set instead of QSet in FileTreeView.cc
* refactor: use std::set instead of QSet in ColumnResizer.cc
* refactor: use std::set instead of QSet in Prefs.cc
* chore: fix rebase error that changed libsmall snapshot
* refactor: more replace QSet with std::set
2023-10-24 21:14:37 -04:00
Charles Kerr
69b293a793
refactor: minor decoupling in peer-mgr ( #6155 )
...
* refactor: minor decoupling in peer-mgr
Pass a tr_torrents& and TimerMaker& into the tr_peerMgr and HandshakeMediator
constructors so they can be used directly instead of via tr_session.
No functional changes.
* refactor: in HandshakeMediator, make the session reference const
2023-10-24 15:24:52 -04:00
Charles Kerr
bbc3ce039f
refactor: remove quark support from tr_variant ( #6159 )
2023-10-24 14:49:23 -04:00
Charles Kerr
eb58996c9f
chore: remove unused tr_announce_list::announce_to_scrape(tr_quark) ( #6157 )
...
* chore: remove unused tr_announce_list::announce_to_scrape(tr_quark)
* fixup! chore: remove unused tr_announce_list::announce_to_scrape(tr_quark)
fix test oops
2023-10-24 10:58:01 -04:00
Yat Ho
6d958bd5fc
feat: do separate IPv4 and IPv6 port checks in WebUI ( #5953 )
...
* feat: add `ipProtocol` argument to `port-test` rpc method
* chore: update rpc-spec.md
* feat: split port check UI to IPv4 and IPv6 in webUI
* fix: default `open` to false if cannot get response
* chore: minor docs wording tweak
* chore: make clang-tidy happy
* chore: RPC doc tweaks
* fix: bad merge
* chore: review feedback
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: match quark enum with parameter case
* refactor: use descriptive strings for `ipProtocol`
* chore: update docs
* fixup! refactor: use descriptive strings for `ipProtocol`
* fixup! chore: update docs
---------
Co-authored-by: Charles Kerr <charles@charleskerr.com>
2023-10-24 09:27:28 -04:00
Charles Kerr
735639c5c7
refactor: make tr_torrent::labels_ private ( #6153 )
2023-10-23 18:11:28 -04:00
Charles Kerr
c0e5e3a368
refactor: reduce coupling between tr_session and tr_peerMgr ( #6151 )
2023-10-23 11:34:30 -04:00
Charles Kerr
682e4f2c2b
refactor: make tr_torrent::any_date_ private ( #6148 )
2023-10-21 23:23:08 -04:00
Charles Kerr
8f7330523c
chore: remove unused progress arg from tr_torrentSetLocation() ( #6147 )
2023-10-21 22:33:41 -04:00
Yat Ho
2130eb941a
refactor: drop jsonsl in favour of RapidJSON ( #6138 )
2023-10-21 14:00:12 -05:00
Charles Kerr
0457dcb6a8
refactor: make tr_torrent::files_wanted_ private ( #6146 )
2023-10-21 13:21:05 -05:00
Charles Kerr
8c1291ce8a
refactor: make tr_torrent::unique_id_ private ( #6145 )
2023-10-20 21:23:14 -05:00
Charles Kerr
9e5c528056
refactor: add tr_torrent::stat() ( #6143 )
2023-10-20 20:35:59 -05:00
Yat Ho
88fe76781c
perf: connectable pool housekeeping ( #6111 )
2023-10-19 13:05:19 -05:00
Charles Kerr
4bdb3066d8
refactor: decouple tr_verify_worker from tr_torrent ( #6123 )
2023-10-19 08:39:34 -05:00
Yat Ho
c70c49e87b
fix: encode `ip` in network byte order for udp announce ( #6126 )
2023-10-18 09:46:57 -05:00
Charles Kerr
0c3f65e1c6
fix: FTBFS on FreeBSD with clang 14 ( #6110 )
2023-10-16 19:39:14 -05:00
Yat Ho
0259edbaf3
fix: json string serializer improperly escaping characters ( #6005 )
...
* feat: escape json string according to RFC8259
* fix: do not append newline when json serde is in compact mode
* fix: json tests
1. Use the same locale settings as the apps
2. Added additional test case for a string that are known to be prone to locale issues
3. Removed test for escaping non-BMP characters to UTF-16 escape sequences
* chore: add more test cases to `JSONTest.testUtf8`
* chore: order cases in the same order as RFC8259
2023-10-16 19:36:37 -05:00
Yat Ho
6cec60f1fb
refactor: store outgoing handshake in `tr_peer_info` objects ( #6103 )
2023-10-14 12:58:15 -05:00
Yat Ho
43aff088d8
fix: only consider piece data in bandwidth limit ( #6082 )
...
* fix: only consider piece data in bandwidth limit
* refactor: remove unused `tr_bandwidth::clamp()` signature
2023-10-09 08:49:49 -05:00
Charles Kerr
db96771c80
refactor: add tr_torrent::Error helper class ( #6077 )
2023-10-08 21:33:34 -05: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
ce39b01dd2
perf: reduce unnecessary size overhead in tr_torrent struct ( #6073 )
2023-10-04 21:38:14 -05:00
Yat Ho
c6236c7bee
fix: reconstruct `utp_core_` when toggling utp ( #6075 )
2023-10-04 20:33:18 -05:00
Charles Kerr
3f7340502f
refactor: add a SimpleSmoothedSpeed helper class ( #6072 )
2023-10-04 17:40:46 -05:00
Yat Ho
93e8bf7330
fixup! refactor: make tr_torrent idle fields private ( #6070 ) ( #6074 )
...
Thanks!
2023-10-04 16:33:04 -05:00
Charles Kerr
68f3c89e3c
refactor: make tr_torrent idle fields private ( #6070 )
2023-10-03 20:18:55 -05:00
Charles Kerr
32a62d85ea
refactor: more tr_variant API ( #6057 )
2023-10-02 16:18:35 -05:00
Charles Kerr
917c00e477
refactor: remove tr_torrentStatCached() ( #6066 )
2023-10-02 14:07:28 -05:00
Yat Ho
5808f72f50
fix: assertion failed: port_empty in `tr_swarm::remove_peer()` ( #6062 )
2023-10-02 11:57:48 -05:00
Yat Ho
170f589b64
fixup! refactor: remove redundant code when adding announce lists to metainfo ( #6050 ) ( #6061 )
2023-10-02 10:18:38 -05:00
Yat Ho
ee4daa059d
feat: check if files are missing after setting location ( #5978 )
2023-10-01 19:21:18 -05:00
Cœur
1722f00777
chore: apply clang-format version 17.0.1 ( #6054 )
2023-10-01 18:45:52 -05:00
Yat Ho
cfa26d0da8
chore: more specific peer error log ( #6029 )
2023-10-01 10:43:17 -05:00
Charles Kerr
55da783e8f
refactor: remove redundant code when adding announce lists to metainfo ( #6050 )
2023-09-30 07:31:43 -05:00
Yat Ho
82a9aa6cf0
fix: correct log output ( #6048 )
2023-09-29 21:37:14 -05:00
hgy59
cf426d8f81
fix: tr_sys_path_copy in file-posix.cc for some Synology Devices ( #5966 ) ( #5974 )
2023-09-29 19:34:51 -05:00
Yat Ho
7973d873ff
feat: BT and MSE handshake rework ( #6025 )
2023-09-26 12:50:41 -05:00
Yat Ho
51995ab63f
fix: remove redundant `tr_lpd::create()` call ( #5900 )
2023-09-25 22:46:41 -05:00
Charles Kerr
114885d67b
fixup! refactor: tr_variant API update ( #5998 ) ( #6036 )
...
fix use of invalidated pointer in rpcipml
2023-09-25 13:24:46 -05:00
Charles Kerr
6ead147620
refactor: use new tr_variant API in tr_session ( #6006 )
2023-09-16 08:23:35 -05:00
Yat Ho
85a120faea
feat: add `preferred-transport` to settings.json ( #5939 )
2023-09-15 20:23:34 -05:00
Charles Kerr
9a82372e95
refactor: tr_variant API update ( #5998 )
2023-09-13 08:49:17 -05:00
luzpaz
3be0d728dd
Fix typos ( #5980 )
2023-09-10 22:31:49 -05:00
Yat Ho
d566695b33
fix: always move duplicate peer_info to graveyard pool ( #5941 )
2023-09-10 21:12:11 -05:00
Charles Kerr
ebb1b775af
refactor: public tr_session settings API now returns tr_variants ( #5983 )
2023-09-07 19:05:16 -05:00
chantzish
de889c93b8
fix: magnet data invalidation of tracker IDs ( #5957 )
2023-09-03 20:40:52 -05:00
Yat Ho
48dcff975a
fix: workaround HSTS upgrading to HTTPS for HTTP trackers ( #5969 )
2023-09-03 18:26:39 -05:00
Charles Kerr
14b324fc9c
fix: transmission-remote -l regression ( #5960 )
2023-09-01 17:23:44 -05:00
Yat Ho
e39045cf69
refactor: tidy up announcer code ( #5945 )
2023-09-01 16:51:58 -05:00
Charles Kerr
fc4b7ed9f4
refactor: prefer functions return std::string instead of tr_strbuf ( #5949 )
2023-08-29 21:58:31 -05:00
Charles Kerr
43030132fc
refactor: use std::variant in tr_variant ( #5936 )
2023-08-23 12:57:58 -05:00
Charles Kerr
fbfbfac3ae
fix: minor coverity warnings ( #5916 )
...
* fix: unchecked return value from tr_variantDictFindInt()
coverity 1541113
* fix: unchecked return value from tr_variantDictFindBool()
coverity 1541112
* fix: copy-instead-of-move in tr_strlower()
coverity 1541092
* fix: use auto& instead of auto in test
coverity 1541084
* fix: logically dead code
coverity 1541065
* fix: copy-instead-of-move in tr_announcer_impl::addTorrent()
coverity 1541062
* fix: unchecked return value of tr_variantDictFindInt()
coverity 1541061
* fix: copy-instead-of-move in FilterBar::Impl::tracker_filter_model_update()
coverity 1541058
* fix: copy-instead-of-move in gtr_window_on_close()
* fix: silence invalid resource leak warning
coverity 1520595
* fix: unchecked return value from setsockopt()
coverity 1518345
* fix: dereference after null check (FORWARD_NULL)
coverity 1517816
2023-08-21 21:59:47 -05:00
Charles Kerr
59c638c63d
refactor: replace tr_variant::is_*() with tr_variant::holds_alternative() ( #5930 )
2023-08-21 16:16:54 -05:00
Charles Kerr
5837603b6f
refactor: make tr_variant follow RAII ( #5923 )
2023-08-20 23:15:23 -05:00
Yat Ho
bb386cf17f
refactor: use one socket for sending and receiving lpd announces ( #5909 )
2023-08-18 15:56:28 -05:00
Yat Ho
eea7d4d886
refactor: re-organise `net.h` member functions ( #5878 )
2023-08-17 22:13:01 -05:00
Charles Kerr
a4d205612a
refactor: add tr_variant_serde ( #5903 )
2023-08-17 11:02:45 -05:00
fredo-47
9df4adf9b6
chore: change some log-levels in global-ip-cache.cc from info to debug ( #5870 )
2023-08-15 13:47:20 -05:00
tearfur
449549c84f
fix: do not mark peer as not connectable when we are currently connected ( #5889 )
2023-08-14 16:46:09 -05:00
tearfur
a88b353576
chore: rename other publicAddress() functions ( #5873 )
2023-08-14 10:31:12 -05:00
tearfur
0c7992baa2
fix: cover all pex disabled cases in `get_peer_candidate()` ( #5806 )
2023-08-14 09:56:43 -05:00
tearfur
72f604dbf8
fixup! perf: improve sorting performance in `tr_peerMgrGetPeers()` ( #5807 )
2023-08-13 22:02:11 -05:00
Zhenyu Qi
8873f2a50c
fix: announce with query replace bug ( #5871 )
2023-08-13 19:27:55 -05:00
tearfur
27f3a5b82a
fix: announce LDP on listening interface ( #5875 )
...
* fix: make sure LDP announces are sent on the listening interface
* fix: add implementation for test mediator
* fix: set SO_REUSEADDR for send socket
2023-08-13 12:04:04 -05:00
tearfur
badeed374f
fix: incorrect pex flags merge logic ( #5876 )
2023-08-05 12:37:33 -05:00
tearfur
a2849219f7
feat: split connectable and non-connectable pool ( #5801 )
2023-08-01 09:56:26 -05:00
Mike Gelfand
c14094f4c9
Use clang-format for qualifier alignment ( #5845 )
...
`QualifierAlignment` option is available since clang-format v14 and
works better than our own script.
2023-07-30 16:43:43 +01:00
Cœur
84f9d01e7d
fix: -fobjc-arc with GCC ( #5632 )
2023-07-29 20:57:43 -05:00
tearfur
8b4d05d4e5
fixup! refactor: `tr_torrent.incompleteMetadata` from raw pointer to `std::optional` ( #5837 )
2023-07-29 08:49:52 -05:00
Charles Kerr
c6e47c232e
refactor: use std::variant in tr_variant, pt 1: make tr_variant_string private ( #5832 )
2023-07-28 16:14:31 -05:00
tearfur
d2fabc737b
fix: disregard locale when building LDP announce message ( #5825 )
2023-07-28 10:31:11 -05:00
Charles Kerr
ed3f6c2ec8
fixup! perf: use small::max_size_vector in tr_torrentGetMetadataPiece ( #5830 )
...
* fixup! perf: use small::max_size_vector in tr_torrentGetMetadataPiece() (#5768 )
* enable tests for alpine CI
---------
Co-authored-by: tearfur <46261767+tearfur@users.noreply.github.com>
2023-07-28 09:53:10 -05:00
tearfur
22da17f13f
fix: clamp down harder for upload as well ( #5821 )
2023-07-25 11:53:33 -05:00
tearfur
f758cb3597
refactor: avoid code duplication ( #5793 )
2023-07-17 08:56:57 -05:00
Charles Kerr
ea9fd64830
refactor: tr_compare_3way() ( #5799 )
2023-07-15 21:55:44 -05:00
Charles Kerr
273f943a3b
refactor: make a few more methods `constexpr` ( #5798 )
2023-07-15 19:02:39 -05:00
tearfur
31f2c7aa29
refactor: `tr_torrent.incompleteMetadata` from raw pointer to `std::optional` ( #5791 )
2023-07-15 15:38:38 -05:00
tearfur
01f25b030c
perf: improve sorting performance in `tr_peerMgrGetPeers()` ( #5792 )
2023-07-15 08:18:37 -05:00
Charles Kerr
32af004248
perf: reuse the vector in receonnectPulse(). ( #5788 )
2023-07-14 17:46:10 -05:00
tearfur
ca4cb1a675
fix/cleanups to tr_peerMsgsImpl ( #5783 )
...
* fix: correct condition to advertise pex support in ltep handshake
1. Advertise pex support regardless of whether the peer had advertised pex support. No reason to give up an opportunity to advertise pex support just because our direct peer does not support it.
2. Check if pex is enabled in global settings as well.
2023-07-14 10:51:52 -05:00
Charles Kerr
c867f00153
refactor: replace `peer_atom` with `tr_peer_info` ( #5773 )
2023-07-14 07:06:25 -05:00
tearfur
2ec19e694d
chore: minor code cleanup ( #5760 )
2023-07-13 09:10:43 -05:00
Charles Kerr
a9a6e54858
refactor: make tr_socket_address a class ( #5772 )
2023-07-12 17:29:47 -05:00
Charles Kerr
bc562eb9a5
perf: avoid atom lookup in tr_peerMgrSetUtpSupported() ( #5766 )
2023-07-12 10:10:20 -05:00
tearfur
0350b62248
refactor: remove redundant seed limit check ( #5770 )
2023-07-12 08:27:06 -05:00
Charles Kerr
f036b7c3bf
perf: use small::max_size_vector in tr_torrentGetMetadataPiece() ( #5768 )
2023-07-12 07:36:16 -05:00
tearfur
8d0788dd9e
fix: incorret log message in `global-ip-cache.cc` ( #5769 )
2023-07-11 22:16:46 -05:00
tearfur
78367c098f
perf: use `std::unordered_map` for `tr_swarm.pool` and Handshakes ( #5740 )
2023-07-11 11:57:29 -05:00
Charles Kerr
8169d524ea
feat: do not auto-disconnect when a known seed initiates a connection and we are seeding ( #5756 )
2023-07-08 14:27:31 -05:00
tearfur
8e822a3cbb
perf: avoid copying/moving elements in peer candidate list ( #5755 )
2023-07-08 13:09:34 -05:00
tearfur
5ec4ca550e
chore: iwyu ( #5746 )
2023-07-08 10:24:03 -05:00
Charles Kerr
82f08420fd
fix: crash regression in tr_peerMgr::make_new_peer_connections()
2023-07-08 09:32:20 -05:00
Charles Kerr
ec54e7f11e
fixup! refactor: remove libtransmission::Buffer ( #5676 ) ( #5748 )
2023-07-08 02:25:57 -05:00
tearfur
97da2adbca
fix: spelling mistake in `net.h` function call ( #5739 )
2023-07-07 20:13:02 -05:00
Charles Kerr
fdf042d32c
refactor: add tr_compare_3way() ( #5742 )
...
* refactor: add tr_compare_3way()
This is a small templated utility function to make libtransmission's
sorting / comparison code more consistent and easier to read.
2023-07-06 18:51:08 -05:00
Charles Kerr
c364abcb6f
chore: misc-include-cleaner (partial) ( #5738 )
2023-07-06 10:00:07 -05:00
Charles Kerr
685e245f4a
perf: faster get peer candidates ( #5734 )
2023-07-05 23:16:18 -05:00
tearfur
2211086338
fix: conform to libcurl requirements to avoid memory leak ( #5702 )
2023-07-05 22:05:03 -05:00
Charles Kerr
f83a60830a
refactor: add tr_socket_address typedef ( #5730 )
2023-07-05 11:33:50 -05:00
tearfur
6482d78852
perf: reduce copying in `enforceSwarmPeerLimit()` ( #5731 )
...
* reduce copying in `enforceSwarmPeerLimit()`
* clearer comparator naming
2023-07-05 10:10:04 -05:00
tearfur
2a9c30a616
add constexpr noexcept ( #5729 )
2023-07-04 23:50:39 -05:00
tearfur
8543555584
refactor: use `std::pair` to store socket addresses ( #5723 )
2023-07-04 20:29:12 -05:00
Charles Kerr
5b38e819da
perf: minor cleanups ( #5728 )
...
* refactor: in torrent_metainfo.is_private(), cheaper to return a bool than a bool const&
* refactor: in tr_torrent::id(), cheaper to return an int than an int const&
* refactor: in tr_metainfo_builder.is_private(), cheaper to return a bool than a bool const&
* refactor: break peer_atom.flags2 into separate bools
2023-07-04 19:47:51 -05:00
tearfur
449da2b53e
fix: assert failure when Transmission quit with pending IP queries ( #5721 )
2023-07-04 16:33:58 -05:00
Charles Kerr
56b27057fd
refactor: add lightweight observable / observer for decoupling ( #5716 )
2023-07-04 15:47:18 -05:00
Charles Kerr
6a2a4c3032
perf: move log strings instead of cloning them ( #5726 )
2023-07-04 14:03:45 -05:00
Charles Kerr
0a6d1806f9
perf: avoid string allocations by using fixed-width hash strings ( #5725 )
2023-07-04 13:04:03 -05:00
Charles Kerr
e68b76bc14
perf: use small::unordered_map in tr_torrent::primary_mime_type() ( #5722 )
2023-07-04 09:40:36 -05:00
Charles Kerr
7c7771a12b
perf: use small:set in tr_file_piece_map::reset() ( #5720 )
2023-07-03 21:57:09 -05:00
Charles Kerr
d76d26a580
perf: faster Cache::write_contiguous() ( #5715 )
2023-07-02 15:23:32 -05:00
Charles Kerr
d2d30c2734
chore: update mime types ( #5712 )
2023-07-02 08:32:21 -05:00
Charles Kerr
4c282bdbb4
fix: recent build warnings and errors ( #5711 )
...
* fix: use std::empty instead of isEmpty()
* fix: fix trivially assignable warning hicpp-move-const-arg
* fix: fix clang-diagnostic-unused-but-set-variable warning
* fix: fix readability-braces-around-statements warning
2023-07-01 10:22:15 -05:00
tearfur
9c17463a80
fix: revert "perf: improve IPv4 `tr_address` comparison" ( #5709 )
...
* Revert "perf: improve IPv4 `tr_address` comparison (#5651 )"
This reverts commit 70decc1d9d
.
* added tests
* add ipv4 equal test and std header
2023-07-01 09:39:35 -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
Charles Kerr
cb101ec6cf
refactor: make tr_logGetQueueEnabled() private ( #5693 )
...
it is only used in log.cc, so remove it from the public header
2023-06-29 14:19:40 -05:00
tearfur
b79de0b431
perf: convert comparator functors to static constexpr ( #5687 )
2023-06-29 13:13:25 -05:00
Charles Kerr
2f2ae61d0c
refactor: remove unused function tr_peer.bandwidth() ( #5691 )
2023-06-29 11:14:05 -05:00
Charles Kerr
22bb9e5757
refactor: rename tr_dirSpace() to tr_sys_path_capacity() ( #5689 )
2023-06-29 10:23:00 -05:00
Charles Kerr
3474a1da58
chore: remove tr_wait(); use std::this_thread::sleep_for() ( #5683 )
2023-06-29 08:51:39 -05:00
Charles Kerr
fd4a0b1d16
chore: remove unused function tr_env_get_int() ( #5682 )
2023-06-28 22:04:07 -05:00
Charles Kerr
7e1ecf2f0f
refactor: remove useless TR_DEBUG_FD env var ( #5681 )
...
This feature was originally meant to redirect verbose logging to *any*
fd, but it now only supports writing to stdout or stderr, and defaults
to stderr.
Redirecting to stdout isn't very useful and complicates the code, so
just remove it and always use stderr.
2023-06-28 16:26:15 -05:00
tearfur
7fa1498ed5
perf: make `CompareCacheBlockByKey` constexpr ( #5678 )
2023-06-28 10:23:38 -05:00
tearfur
6bbe6537cb
feat: bypass disk write cache when `cache-size-mb` is zero
2023-06-28 08:57:26 -05:00
Charles Kerr
9afced725a
refactor: remove libtransmission::Buffer ( #5676 )
...
* refactor: use StackBuffer in announcer-udp
* chore: update buffer tests
* refactor: remove unused libtransmission::Buffer
superseded by libtransmission::StackBuffer
2023-06-27 19:06:25 -05:00
Geoffrey Bonneville
7fdfabe184
fix: do not write log if file handler is bad ( #5675 )
2023-06-27 13:44:10 -05:00
Charles Kerr
2db2091599
perf: in cache, flush biggest contiguous blocks ( #5671 )
2023-06-27 12:08:29 -05:00
Charles Kerr
24bc3d135d
perf: add StackBuffer using small::vector ( #5672 )
...
* perf: use libtransmission::StackBuffer in variant-benc
* perf: use libtransmission::StackBuffer in variant-json
* perf: use libtransmission::StackBuffer in handshake
* perf: use libtransmission::StackBuffer in peer-msgs
* perf: use libtransmission::StackBuffer in peer-io
2023-06-27 10:51:20 -05:00
tearfur
70decc1d9d
perf: improve IPv4 `tr_address` comparison ( #5651 )
2023-06-26 21:17:32 -05:00
tearfur
ed02f98014
ditch `std::lldiv` so that functions can take matching parameter types ( #5659 )
...
* ditch `std::lldiv` so that functions can take matching parameter types
* revert unintended change
2023-06-25 13:29:58 -05:00
Charles Kerr
dc88b97f37
refactor: small again ( #5666 )
...
* refactor: restore the non-small parts of 5654
* refactor: restore the peer-mgr-active-requests parts of 5654
* chore: iwyu evbuffer in web.h
2023-06-25 12:33:32 -05:00
tearfur
aa6f00b162
refactor: global-ip-cache.cc nits ( #5655 )
2023-06-24 14:30:37 -05:00
LaserEyess
9b5a75528e
fix: broken unix socket support ( #5665 )
...
The changes in #5523 made two errors in the new implementation
1. tr_unix_address::to_string() got the ternary check backwards, leading
to always printing an empty string when the address is valid.
2. The inputs to tr_strvStartsWith in tr_unix_address::from_string()
were backwards as well, leading to the check failing for valid
socket addresses.
Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
2023-06-24 13:57:20 -05:00
Charles Kerr
df1adf0e0f
chore: revert small buffer ( #5654 )
...
* Revert "perf: use libsmall in libtransmission, pt 3 (#5653 )"
This reverts commit 3b03494580
.
* Revert "perf: use small in libtransmission (#5650 )"
This reverts commit 559f6f0332
.
2023-06-22 18:42:48 -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
tearfur
699b3d8416
perf: use a std::map to store peers in `tr_swarm` ( #5645 )
2023-06-22 15:21:44 -05:00
tearfur
b562b2de4b
feat: new default piece size calculation for transmission-create ( #5615 )
2023-06-22 11:50:57 -05:00
Charles Kerr
3b03494580
perf: use libsmall in libtransmission, pt 3 ( #5653 )
...
* refactor: use BufferReader, BufferWriter in peer-socket
* feat: expose GrowthFactor in tr-buffer
* perf: choose better defaults for the peer message buffers
* chore: sync tests
* refactor: use small::map in ActiveRequests::Impl
2023-06-22 00:24:42 -05:00
Charles Kerr
559f6f0332
perf: use small in libtransmission ( #5650 )
...
* refactor: reimplement Buffer using small
* refactor: use SmallBuffer in announcer-udp
* refactor: use SmallBuffer in variant-json
* refactor: use SmallBuffer in variant-benc
* refactor: use SmallBuffer in handshake
* refactor: use SmallBuffer in peer-msgs
* refactor: delete move semantics on stack-based buffers
2023-06-21 22:41:09 -05:00
tearfur
40e80989b2
encode `&key=` as fixed-width 8-digit hex ( #5652 )
2023-06-21 11:53:06 -05:00
Charles Kerr
432fc9bafc
refactor: add libsmall dependency ( #5649 )
...
* refactor: add small dependency
* refactor: use small in variant.cc
* refactor: use small in cache.h
2023-06-20 22:50:36 -05:00
tearfur
548f840b8d
fixup: refactor handshake objects to use socket address as key as well ( #5644 )
2023-06-20 13:10:26 -05:00
tearfur
280dea4e33
add support for sending the `ipv4` parameter during ltep handshake ( #5643 )
2023-06-20 10:51:07 -05:00
tearfur
64261685d8
fix: use both address + port together as a key for peer lookup ( #5619 )
2023-06-19 20:26:39 -05:00
LaserEyess
23a52fa1c5
fixup: dedup tr_rpc_address with tr_address ( #5523 )
...
* fixup: dedup tr_rpc_address with tr_address
tr_rpc_address was duplicating a lot of work that tr_address was doing a
lot better. Fall back to using tr_address for ipv4/ipv6 connections and
make a tr_unix_addr for handling unix sockets.
* remove unnecessary functions
2023-06-19 15:51:20 -05:00
Василий Чай
ddac05954b
fix: return error when renaming into existing file ( #5563 )
2023-06-19 00:30:55 -05:00
tearfur
b8ff35c4ce
handle IPv6 NAT during LTEP handshake ( #5565 )
...
* fix: peer handshake reported wrong ipv6 address
https://github.com/transmission/transmission/issues/5542#issuecomment-1556710922
2023-06-18 19:06:31 -05:00
Charles Kerr
fd583ac878
deps: bump libfmt to v10.0.0 ( #5635 )
...
seems to be semver/minor safe for our API use
Fixes #5511 .
Possibly fixes #5627 .
2023-06-18 17:36:39 -05:00
tearfur
802619e174
fix: fixes and improvements to global IP query ( #5510 )
2023-06-11 18:27:01 -05:00
Charles Kerr
c8e84f870b
ci: remove "brew update" step ( #5606 )
2023-06-11 16:28:43 -05:00
Mike Gelfand
8ca02b8f28
Avoid locale use in `tr_truncd()` ( #5587 )
...
`tr_parseNum<>()` is implemented with `fast_float::from_chars()`, and
the latter is documented as "expecting a locale-indepent format
equivalent to what is used by std::strtod in the default ("C") locale".
To accomodate locale independent number parsing, switch back to
locale-independent number formatting in `tr_truncd()` by both removing a
`L` format specifier from `fmt::format_to_n()` call and using a fixed
"." decimal separator when truncating the value.
2023-06-10 17:09:18 -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
Cœur
87472672a6
build: fix xcode build ( #5521 )
2023-05-19 23:17:24 -05:00
Charles Kerr
e171cbae9c
refactor: move Buffer::add_socket() to BufferWriter::add_socket() ( #5543 )
2023-05-19 23:06:26 -05:00
Charles Kerr
ae888ef08e
perf: avoid map insertion for complete blocks received ( #5540 )
2023-05-19 18:36:07 -05:00
Charles Kerr
52b03c2489
refactor: migrate methods to buffer reader ( #5533 )
2023-05-18 16:56:29 -05:00
Charles Kerr
4fd5f3a490
refactor: use reserve_space() in peer-io ( #5532 )
2023-05-17 13:57:27 -05:00
Charles Kerr
b9698210ef
refactor: restore part of Buffer::reserve_space() ( #5529 )
2023-05-16 21:46:41 -05:00
Charles Kerr
2cf9678737
fix: revert buffer reserve space ( #5528 )
...
* Revert "refactor: use BufferReader, BufferWriter as function args (#5518 )"
This reverts commit c2d48a7d11
.
* Revert "fixup! refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit b08e17beef
.
* Revert "refactor: add BufferReader, BufferWriter::reserve_space() (#5513 )"
This reverts commit 51fd7056ba
.
2023-05-14 17:24:42 -05:00
Charles Kerr
e88bf946e1
perf: avoid extra work in read_vc() ( #5527 )
2023-05-14 15:01:04 -05:00
Charles Kerr
8a1a6dba49
perf: avoid extra heap alloc in block cache ( #5522 )
2023-05-13 14:16:00 -05:00
Charles Kerr
69fc149f07
fix: avoid unintentional map insertions in ActiveRequests::count() ( #5520 )
2023-05-12 20:18:26 -05:00
Charles Kerr
7cabeff24f
perf: use std::bitset instead of tr_bitfield in incoming_piece_data ( #5519 )
...
Since max size is small and known at compile time, we can avoid extra heap allocations
2023-05-12 19:31:59 -05:00
Charles Kerr
c2d48a7d11
refactor: use BufferReader, BufferWriter as function args ( #5518 )
2023-05-12 18:10:08 -05:00
Charles Kerr
b08e17beef
fixup! refactor: add BufferReader, BufferWriter::reserve_space() ( #5513 )
...
chore: remove tracer fmt::print() statements
2023-05-12 11:47:01 -05:00
Charles Kerr
51fd7056ba
refactor: add BufferReader, BufferWriter::reserve_space() ( #5513 )
2023-05-12 11:15:15 -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
Charles Kerr
0d3b321bac
refactor: use snake_case for libtransmission class methods ( #5497 )
2023-05-05 23:11:05 -05:00
tearfur
d65f9329cd
refactor: followup/cleanup of `tr_global_ip_cache` PR ( #5498 )
...
* remove tr_session::bindAddress()
* replace tr_net_hasIPv6 with tr_session::has_ip_protocol()
* update comment
2023-05-05 22:05:28 -05:00
kmikita
693d202a64
refactor: save stats.json periodically and when closing session #5476 ( #5490 )
2023-05-05 15:33:23 -05:00
tearfur
474a30ab2d
feat: add global IP cache, fix UDP connection failure warnings
2023-05-05 12:17:40 -05:00
Gary Elshaw
2f1d5a225c
fix: comment typos in libtransmission ( #5473 )
2023-04-30 13:29:29 -05:00
Mike Gelfand
e8fcb025a0
fix: use user-preferred locale ( #5444 )
...
* Use user-preferred locale
Previous fix adding `L` format specifier was correct but only fixed half
of the problem, as C++ locale is set up to be "C" by default. GTK client
used to call `setlocale(LC_ALL, "")` to set up user-preferred locale
which only affected C functions and `std::locale` (used by libfmt) was
unaware of those changes.
Apply the fix to all the binaries since they're all doing some sort of
output to the user and calling libtransmission helpers, as well as using
libfmt directly.
* Improve libtransmission's json-test
Set the locale C++ way to avoid any sort of inconsistencies, and also
restore it to the old one once finished testing.
* Improve transmission-show test runner script
Quote outputs to avoid CMake error about `message()` being called with
no arguments. Capture stderr to the same output file. Fallback to `git
diff` if `diff` wasn't found. A few other minor changes.
2023-04-27 09:10:33 -05:00
Charles Kerr
47667bab8d
fix: bug that prevented providing the final metadata piece ( #5460 )
...
Fixes bug in implementation of BEP 9
Xref: https://www.bittorrent.org/beps/bep_0009.html
2023-04-26 19:40:49 -05:00
Charles Kerr
1b6b85989c
feat: add generic favicon_cache class for reuse between Qt, GTK app ( #5294 )
2023-04-22 21:11:16 -05:00
Charles Kerr
9d2507c7e3
refactor: snake_case in libtransmission class methods ( #5428 )
2023-04-22 20:25:55 -05:00
Charles Kerr
7e7d8137a0
fixup! feat: Add BufferWriter class ( #5154 ) ( #5437 )
2023-04-22 18:13:39 -05:00
Charles Kerr
9f8a7a656e
fix: Buffer::Buffer(Buffer&&) bug ( #5435 )
2023-04-22 16:10:09 -05:00
Charles Kerr
ce4ffc3bdb
fix: 5422 use-after-free in peerMsgs::canRead ( #5425 )
2023-04-20 13:18:53 -05:00
Charles Kerr
3044c14b10
perf: in Buffer::Iterator, defer evbuffer API calls ( #5420 )
2023-04-19 16:00:30 -05:00
Charles Kerr
f2aa3e197b
refactor: add tr_sys_dir_get_files() ( #5412 )
2023-04-18 16:23:20 -05:00
Charles Kerr
a8e01ac38d
fix: minor warnings ( #5409 )
...
* chore: fix readability-qualified-auto warnings
* chore: fix clang-analyzer-core.uninitialized.Branch warning
* fix: collision of key 'ERROR' in transmission-qt
* chore: silence -Wshadow warning
* chore: silence warning C4100: 'iter': unreferenced formal parameter
* chore: fix warning C4127: conditional expression is constant warning
2023-04-17 23:11:09 -05:00
Charles Kerr
7d86d67bc7
chore: prefer fmt/core.h over fmt/format.h ( #5404 )
2023-04-16 15:34:19 -05:00
Charles Kerr
3af9645615
refactor: add tr_address::is_any() ( #5398 )
...
As suggested by @tearfur
Xref: https://github.com/transmission/transmission/pull/5329#discussion_r1166236165
2023-04-15 19:30:20 -05:00
Kyle Sanderson
06c784f639
fix: uninitialized session_id_t values ( #5396 )
2023-04-15 00:07:07 -05:00
Charles Kerr
e91af26923
perf: remove staging step for outbound peer msgs ( #5394 )
...
Write non-piece peer messages directly to the peer's outbuf instead of
waiting for a pulse() message to refill it. This can help with latency
sending messages out.
Change the semantics of `tr_peerIo::get_write_buffer_space()`: this is
now interpreted as the preferred minimum size, rather than the maximum.
It's OK to enqueue an outgoing piece message as long as there's _some_
space left, even if the message is larger than that space.
Build peer messages with template fold expressions. This lets us move
all the message-building to a single function and add some sanity checks
to the outgoing messages.
2023-04-14 19:31:09 -05:00
Charles Kerr
9158ae7126
feat: add tr_bitfield::intersects() ( #5155 )
2023-04-14 18:45:46 -05:00
Charles Kerr
ed4919a4f4
feat: Add BufferWriter class ( #5154 )
2023-04-14 17:08:01 -05:00
midzer
68e965aa28
perf: pass by reference ( #4876 )
2023-04-14 17:06:26 -05:00
Charles Kerr
d445c7f061
fix: crash in peer stats ( #5279 )
2023-04-14 16:03:08 -05:00
Charles Kerr
d72cb67cfb
chore: include directory name in libtransmission #includes ( #5308 )
2023-04-14 14:33:23 -05:00
Pierre Dubouilh
ebfba686b0
feat: sequential download ( #4795 )
2023-04-14 11:47:54 -05:00
Cœur
afa9f64feb
refactor: align tr_formatter_speed_KBps with `stringForSpeed: kb: mb: gb:` ( #5108 )
2023-04-14 10:36:34 -05:00
Charles Kerr
63421489fe
refactor: tr_sys_dir_open() takes a std::string_view ( #5380 )
2023-04-14 09:31:46 -05:00
Charles Kerr
0e2b8d721c
fix: only torrent metainfo display-name as a fallback ( #5378 )
...
Fixes #5347 .
2023-04-12 17:26:43 -05:00
Charles Kerr
e33d9536ef
fix: return success on RPC add-torrent duplicate ( #5370 )
...
Keep Transmission 3's behavior to avoid unannounced API change
2023-04-12 13:37:04 -05:00
Cœur
91717fe91d
fix: potential NSString leak in tr_strv_convert_utf8()
2023-04-11 17:36:22 -05:00
Charles Kerr
c76cb4db51
fix: silence torrent-metainfo warnings for cross_seed_entry, uid ( #5365 )
2023-04-10 11:07:43 -05:00
tearfur
931beba56f
fix: set log level before constructing tr_session ( #5345 )
2023-04-03 15:37:28 -05:00
tearfur
e68c72daa4
fix: tr_net_hasIPv6() ( #5312 )
2023-03-28 13:41:07 -05:00
tearfur
85a00625dc
fix: intermediate fix for HTTP announce behaviour affected by `bind-address-ipv*` ( #5296 )
2023-03-28 12:59:42 -05:00
Mike Gelfand
a216bd7cec
Use locale-dependent decimal separators for user-visible numbers ( #5288 )
...
This includes percents, ratios, sizes, speeds, etc. coming from shared
formatting helpers. Previously based on sprintf-like functions using
locale, now using libfmt which doesn't use locale by default and needs
to be instructed to do it explicitly.
2023-03-23 19:48:45 -05:00
Cœur
3e97d0b9c2
fix: The right operand of '<' is a garbage value ( #5285 )
2023-03-23 12:05:11 -05:00
Charles Kerr
d63165e8a4
perf: fix wishlist cpu load regression, pt. 2 ( #5273 )
2023-03-22 10:24:10 -05:00
Charles Kerr
25f38d5ff3
fix: wrong tier value in torrent get tracker stat response ( #5274 )
2023-03-21 20:23:08 -05:00
Charles Kerr
58ce7bd437
fix: 4.0.2 wishlist CPU perf regression pt. 1 ( #5266 )
2023-03-20 21:08:16 -05:00
Cœur
c60bb5b834
fix: crash when magnet dn isn't utf-8 ( #5244 )
2023-03-19 10:36:16 -05:00
Charles Kerr
5cc3bf8a97
fix: generate peer-id on launch ( #5233 )
2023-03-15 20:53:48 -05:00
Charles Kerr
3aeefec203
chore: remove unused header includes ( #5227 )
2023-03-14 18:36:15 -05:00
Charles Kerr
a87d39f3bd
fix: filter out peers with port 1 from DHT peer lists. ( #5218 )
2023-03-13 19:27:47 -05:00
Charles Kerr
6224b60728
fix: wrong error message when writing to incomplete dir ( #5217 )
2023-03-13 16:20:39 -05:00
Colin B
59a157ebde
feat: restore support for nonstandard `path.utf-8` ( #3454 )
2023-03-13 13:58:59 -05:00
Charles Kerr
dabd29f2b2
fix: std::clamp() assertion failure in maxAvailableReqs() ( #5203 )
2023-03-11 22:25:21 -06:00
Charles Kerr
900281eb1c
fix: check tr_ctorSetFoo() return values before adding torrent via RPC ( #5202 )
2023-03-11 19:44:54 -06:00
Charles Kerr
86fd89fff4
fix: remove interest strategy code that could contribute to oscillating download speeds. ( #5176 )
2023-03-10 13:21:51 -06:00
Charles Kerr
b354337720
ci: check for clang tidy errors in libtransmission ( #5188 )
2023-03-10 00:23:22 -06:00
reardonia
9c436d87dd
fix: torrentGet.wanted RPC breaking change in [4.0.0..4.0.1] ( #5170 )
2023-03-07 19:44:25 -06:00
Charles Kerr
033d698306
fix: parsing of ipv6 tracker announce URLs ( #5174 )
2023-03-07 12:19:12 -06:00
Charles Kerr
39e3e1d87b
fix: increase priority of first and last piece of each file ( #5167 )
...
The first and last pieces of a file generally include information needed
by preview generators, so prioritizing those pieces makes life easier
for users or tools that look at files while they're being downloaded.
This worked in 3.00 but isn't present in 4.0.0.
2023-03-06 15:50:19 -06:00
reardonia
56c1bb2a9e
fix: publish 'leechers' iff it was in tracker response ( #5164 )
2023-03-06 09:22:40 -06:00
Charles Kerr
b2b0f0db39
fix: crash in curl_easy_pause() ( #5161 )
2023-03-05 23:42:52 -06:00
Charles Kerr
47001a394e
fix: 7f9ef4730
use-after-free in peerMsgs::canRead ( #5152 )
2023-03-05 11:50:11 -06:00
Charles Kerr
7f9ef4730e
fix: assertion failure in readBtPiece() ( #5097 )
2023-03-03 17:43:51 -06:00
Daniel Kamil Kozar
848212eea1
fix: escaped representation of non-BMP characters when generating JSON ( #5096 )
2023-03-02 00:55:16 -06:00
Charles Kerr
d3273504bd
fix: 5053 old torrent files keep appearing ( #5117 )
2023-03-01 20:12:19 -06:00
Charles Kerr
211e3fc985
fix: always add `announce` key even when including announce-list ( #5106 )
2023-03-01 13:10:20 -06:00
Cœur
63653b4831
fix: recheckCompleteness on setDownloadDir ( #5060 )
2023-02-28 08:51:11 -06:00
Charles Kerr
1a276fb145
fix: 4.0.0 bookkeeping of protocol overhead when receiving peer messages ( #5091 )
2023-02-27 20:25:15 -06:00
Charles Kerr
f53e58c8bd
fix: 4.0.0 regression that broke speed limits for utp peers ( #5086 )
2023-02-27 15:03:45 -06:00
Charles Kerr
ac319321b5
fix: assertion failure in std::clamp() when called from rechokeDownloads() ( #5080 )
2023-02-27 11:59:00 -06:00
HAkos1
238fd96041
fix: don't log full path, only the filename of source file ( #5055 )
...
Co-authored-by: Akos Horvath <koma@koma.sh>
2023-02-27 10:02:58 -06:00