* refactor: tr_ctorGetDownloadDir() returns a std::optional<std::string>
* refactor: tr_sessionGetConfigDir() now returns a std::string
* refactor: tr_sessionGetDownloadDir() now returns a std::string
* refactor: tr_sessionGetIncompleteDir() now returns a std::string
* refactor: tr_sessionGetRPCWhitelist() now returns a std::string
* refactor: tr_sessionGetRPCPassword() now returns a std::string
* refactor: tr_sessionGetRPCUsername() now returns a std::string
* refactor: tr_sessionGetScript() now returns a std::string
* refactor: tr_blocklistGetURL() now returns a std::string
* refactor: tr_ctorGetSourceFile() now returns a std::optional<std::string>
* refactor: tr_torrentFile() now returns a std::string
* refactor: gtr_open_file() now takes a std::string_view
refactor: gtr_open_file() now calls Glib::filename_to_uri()
refactor: add gtr_open_file() variant that takes basedir and relative path
refactor: gtr_open_uri() now takes a relative_path std::string_view
* refactor: tr_torrentGetCurrentDir() now returns a std::string_view
refactor: tr_torrentGetDownloadDir() now returns a std::string_view
* refactor: rename enum types in ip-cache private enum class is_updating_t
this avoids name collisions with YES and NO on macOS
* refactor: rename tr_strv_convert_utf8() to tr_strv_to_utf8_string()
use a name that is symmetrical with the upcoming tr_strv_to_utf8_nsstring()
* feat: add tr_strv_to_utf8_nsstring()
* test: add tests for the new tr_strv_to_utf8_nsstring() methods
* 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
* 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>
* refactor do not cache style in convert_outgoing_data() -- not testing-friendly
* refactor: pass a QNetworkAccessManager into RpcClient constructor
this way we can inject a fake one in tests
* refactor: add RpcClient tests
* refactor: remove pointless QVERIFY call
* refactor: add api_compat::default_style()
* refactor: add api_compat::set_default_style()
* test: parameterize RpcClient tests for Tr4 and Tr5
* refactor: replace TR_RPC_SESSION_ID_HEADER macro with TrRpcSessionIdHeader constant
refactor: replace TR_RPC_RPC_VERSION_HEADER macro with TrRpcVersionHeader constant
* refactor: remove macro TR_DEFAULT_RPC_PORT_STR
* refactor: remove macro TR_DEFAULT_PEER_PORT_STR
* refactor: remove macro TR_DEFAULT_PEER_LIMIT_GLOBAL_STR
* refactor: remove macro TR_DEFAULT_PEER_LIMIT_TORRENT_STR
* refactor: remove macro TR_DEFAULT_PEER_SOCKET_TOS_STR
* refactor: replace DEFAULT_BLOCKLIST_FILENAME macro with TrDefaultBlocklistFilename constant
* refactor: rename TrHttpServerDefaultBasePath to TrDefaultHttpServerBasePath for consistency with other defaults
* refactor: group constants together near the top of transmission.h
* refactor: hardcode string lengths to avoid FTBFS on older C++17 compilers
* refactor: move macros to the tr_getopt clients
* refactor: explicitly specify the parameter index to avoid passing in TrRpcSessionIdHeader twice
* refactor: add an error message to new static_asserts
* refactor: make libcurl thread shutdown faster during tests
* docs: fix out-of-date code comment in web.h
* refactor: tr_sessionClose() now takes fractions of seconds for deadline
refactor: make tr_web::startShutdown() deadline dependent on the tr_sessionClose() deadline arg
* test: set tr_sessionClose() deadline of 0.5 secs
* refactor: FileTest now inherits from SandboxedTest
* fixup! test: set tr_sessionClose() deadline of 0.5 secs
* Revert "build(cmake): support building with (almost) all system 3rd-party libraries (#7554)"
This reverts commit a89ca4f2c9.
* fixup! refactor: use a map of getters, setters for `session_get` and `session_set` properties (#8024)
fix: capture-by-reference error in session_accessors()
* fix: 'Qt depends on a UTF-8 locale' CI warning
* fix: 'qt.qpa.xcb: could not connect to display' CI error
* refactor: add [Torrent updateTorrents]
refactor: use updateTorrents in Controller
* refactor: add a batch variant of tr_torrentStat()
* refactor: use batch variant of tr_torrentStat() in GTK details dialog
* refactor: use batch variant of tr_torrentStat() in gtr_confirm_remove()
* refactor: use batch variant of tr_torrentStat() in updateTorrents
* refactor: add Session::find_torrents()
* refactor: remove the raw ptr variant of updateTorrents()
* refactor: remove tr_sessionLock()
* fixup! refactor: add [Torrent updateTorrents]
remove duplicate method declaration
* fix: readability-avoid-const-params-in-decls
* fix: iwyu in transmission.h
* chore: remove an #include that was added in a draft that did not get used
* refactor: use nullptr instead of NULL
* build: overhaul tr_add_external_auto_library
* build: use package-provided CMake config file libevent
* build: use package-provided CMake config file miniupnpc
* build: update libutp find module
* build: make LIBNAME an optional parameter
* build: use package-provided CMake config file libdeflate
* build: update libb64 find module
* build: update libnatpmp find module
* build: update libpsl find module
* build: support system fast_float library
* chore: reformat long brew commands
* build: support system fmt library
* build: support system rapidjson library
* build: support system small library
* build: support system library utf8cpp
* build: support system library WideInteger
* build: support system library gtest
* fix: incorrectly labeled test suites
* build: remove unused parameters from tr_add_external_auto_library
* build: update crc32c cmake script
* fix: dht system library
* fix: add libutp interface target
* code review: move TrGtest.cmake
* code review: move tr_get_fmt_version into Findfmt.cmake
* code review: use option() for gtest
* code review: move find_package(PkgConfig) out of loop
* build: delete FindCrc32c.cmake
Impossible to parse package version from distributed source files.
* code review: Finddht.cmake
* build: delete FindFastFloat.cmake
Impossible to parse package version from distributed source files.
* code review: Findfmt.cmake
* code review: Findlibb64.cmake
* code review: Findlibdeflate.cmake
* code review: Findlibevent.cmake
* code review: Findlibnatpmp.cmake
* code review: Findlibpsl.cmake
* code review: Findlibutp.cmake
* code review: Findlibminiupnpc.cmake
* code review: FindRapidJSON.cmake
* build: delete FindSmall.cmake
Impossible to parse package version from distributed source files.
* build: only accept cmake config package for utf8cpp
Impossible to parse package version from distributed source files.
* build: delete FindWideInteger.cmake
Impossible to parse package version from distributed source files.
* build: add `USE_SYSTEM_DEFAULT`
* ci: drop Fedora 40 and adopt Fedora 43
* ci: try to silence system header warnings
* ci: use `cmake --install`
* Revert "build: only accept cmake config package for utf8cpp"
This reverts commit 2158d631fd.
* build: harden utf8cpp find module
* chore: bump wide-integer
Pick up bf9398f9da and bcc726a30f
* refactor: gtest should be included with angled brackets
Now that gtest is built as a system library, it should be included with angled brackets instead of quotes.
* code review: fixup libutp variables before `find_package_handle_standard_args`
* code review: define `WIDE_INTEGER_HAS_LIMB_TYPE_UINT64` only for targets depending on WideInteger
* chore: bump wide-integer
Pickup 4b2258acac so that wide-integer tests won't run in Transmission project.