* fix: mime-type icons on Windows
* fixup! fix: mime-type icons on Windows
use file_icon_ as the fallback icon
do not mark the temp string as translatable
---------
Co-authored-by: Mike Gelfand <mikedld@users.noreply.github.com>
* perf: use timer to flush outbuf to avoid taking lock frequently
* code review: extract to `flush_outbuf_soon()`
* code review: make `flush_outbuf_trigger_` const
(cherry picked from commit 4d695a8a4c)
* fix: fail if `pieces` length in info dict is not multiple of 20
* fix(tests): replace potentially malicious test torrent for pieces length
(cherry picked from commit 182c8ce12c)
* refactor: move primary_mime_type() to tr_torrent_files where it is easier to test
* fix: use video/mp4 mime type for .mp4 files
* docs: remove obsolete code comment
* fix: in tr_logGetTimeStr() do not use tz info on platforms that do not have it
* fix: simplify the supports-timezone check
---------
Co-authored-by: Yat Ho <lagoho7@gmail.com>
* perf: when selection changes, only update the rows whose selection changed
previously we were updating all rows
* perf: coalesce pending reloads in TorrentTableView
* refactor: return a copy rather thabn a mutable index
* refactor: move the assignment out of the if statement
* make symmetricDifference an NSIndexSet method
* fix: some errors are not returned in `tr_sys_path_get_capacity()`
* test: disable well-formed free_space tests
There are no reliable way to test them.
(cherry picked from commit 63d6d670fd)
* chore: remove unused tr_announcerCreate() declaration
added in d27c4c5 but never used
* chore: remove unused ParserStack::parentType()
added in 5efec26 but never used
* chore: remove tr_port::set_network()
added in 32f854a but never used
* chore: remove tr_torrent_metainfo::pieces_offset()
added in 52f6e80 but never used
* chore: remove unused `tr_session::setPeerCongestionAlgorithm()`
unused after 611d36a
chore: remove unused `tr_session::setAnnounceIP()`
unused after 611d36a
* fix: crash when `--global-seedratio` argument is invalid
* fix: crash when `--global-idle-seeding-limit` argument is invalid
* fix: crash when `--peers` argument is invalid
* fix: crash when `--tracker-remove` argument is invalid
* fix: crash when `--seedratio` argument is invalid
* fix: crash when `--idle-seeding-limit` argument is invalid
(cherry picked from commit f6d4585b38)
* fix: crash on invalid command-line value for --cache arg
* Update utils/remote.cc
Co-authored-by: Yat Ho <lagoho7@gmail.com>
---------
Co-authored-by: Yat Ho <lagoho7@gmail.com>
(cherry picked from commit f200bedd57)
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* fix: url port parsing
- `tr_urlParse()` should fail if cannot parse port
- Avoid parsing scheme ports to numbers
- Port should not be parsed to a negative number
- Port should not be parsed to `0`
- Directly parse number string to `uint16_t`
* test: invalid port
(cherry picked from commit cf0a596a45)