Charles Kerr
611b181a99
feat: add `yourip` to extension protocol handshake ( #4504 )
...
* feat: add yourip to the extension protocol handshake
2023-01-01 12:20:46 -06:00
Charles Kerr
db38f9aa2c
fix: remove announce ipv4 ipv6 query params ( #4502 )
2022-12-31 13:13:59 -06:00
Cœur
3777796ce2
fix: "Open Torrent Address" not remembering previous address ( #4461 )
2022-12-31 12:17:24 -06:00
Charles Kerr
53f5a33616
fix: fix omitted fmt call ( #4494 )
2022-12-31 10:49:27 -06:00
Mike Gelfand
f7edcfcb2a
Drop obsolete CyaSSL and PolarSSL crypto backends ( #4495 )
...
* Drop support for CyaSSL (keep WolfSSL)
* Drop support for PolarSSL (keep MbedTLS)
2022-12-29 22:38:04 +00:00
Charles Kerr
2b90a5fd55
refactor: possible FTBFS fix on arm7 ( #4492 )
...
* refactor: possible FTBFS fix on arm7
* chore: remove tr_rand_int_weak() from crypto-test-ref
* refactor: move tr_rand_int() to header
2022-12-29 10:30:03 -06:00
Mike Gelfand
192a76b621
Move GTK compatibility definitions into a separate header ( #4493 )
...
* Move GTK compatibility macros into a separate header
* Fix Cairo compatibility checks
* Move Glib-namespaced definitions to GtkCompat header
* Remove unused stringify definitions since we're using fmtlib
2022-12-29 02:42:20 +00:00
Mike Gelfand
b64b696272
Fix/suppress clang-tidy issues in recently-added code (GTK client) ( #4485 )
...
* Fix `readability-convert-member-functions-to-static` clang-tidy issues
* Fix `modernize-use-nodiscard` clang-tidy issues
* Fix `cppcoreguidelines-owning-memory` clang-tidy issues
* Fix `performance-unnecessary-value-param` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-reinterpret-cast` clang-tidy issues
* Fix `bugprone-easily-swappable-parameters` clang-tidy issues
* Fix `readability-named-parameter` clang-tidy issues
* Fix `readability-inconsistent-declaration-parameter-name` clang-tidy issue
* Fix `readability-else-after-return` clang-tidy issues
* Fix `cppcoreguidelines-special-member-functions` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-vararg` clang-tidy issues
* Fix `cppcoreguidelines-pro-type-static-cast-downcast` clang-tidy issues
* Fix `cppcoreguidelines-pro-bounds-pointer-arithmetic` clang-tidy issues
2022-12-28 14:47:53 +00:00
Mike Gelfand
3510439c78
Fix progress bars positioning in Qt client on Mac ( #4489 )
...
This is a workaround for QTBUG-67830, where progress bars seem to be drawn
regardless of style option's rect top-left coordinates.
2022-12-28 14:46:23 +00:00
Charles Kerr
5ce503f1ab
refactor: udp_core constructor ( #4469 )
...
* refactor: udp_core constructor
* refactor: invert dependency between tr_session.publicAddress() and tr_globalIPv6()
2022-12-28 02:03:35 -06:00
Cœur
ecb04b4cb1
Fix BlockListDownloader unzipFrom ( #4473 )
2022-12-27 22:08:48 -06:00
Gary Elshaw
84566d42f0
Update qt cmakelists to include support for building svg ( #4437 )
2022-12-27 17:18:51 +00:00
Mike Gelfand
a89b181f2c
Include individual headers (GTK client) ( #4477 )
...
This results in up to 15% single-threaded build time reduction.
2022-12-27 01:43:20 +00:00
Mike Gelfand
5fd0aff818
Automatically (re)order include directives (GTK client) ( #4475 )
...
* Automatically (re)order include directives (GTK client)
Include our headers first to ease IWYU enforcement.
* Fix includes missing from headers (GTK client)
* Fix build on Mac after includes reordering
2022-12-26 21:13:21 +00:00
Charles Kerr
ab9e971903
refactor: tr_globalIPv6() returns a std::optional<tr_address> ( #4464 )
2022-12-25 07:55:51 -06:00
Charles Kerr
a3f561bcc0
refactor: add tr_address.is_global_unicast_address() ( #4462 )
...
Was previously private to net.cc. Expose here so that we can add tests.
Add tests.
2022-12-24 18:53:50 -06:00
SweetPPro
e40b3b05ba
set selected torrentTableView backgroundstyle ( #4458 )
...
Fixes : #4375
2022-12-24 12:19:53 -06:00
SweetPPro
342ea650df
refactor ActivityView ( #4448 )
...
Refactor based on suggestions from #4400 .
Provides a fix which supercedes #4427 .
2022-12-24 11:54:37 -06:00
SweetPPro
3d04dd6828
macOS - use autolayout in statistics view ( #4460 )
...
Fixes : #4459
2022-12-24 01:35:55 -06:00
Cœur
25cc7c0021
Add missing GroupTextCell.h ( #4455 )
2022-12-23 17:14:31 -06:00
Charles Kerr
1402cb2949
refactor: add TR_CONSTEXPR20 to make future C++20 migration easier ( #4457 )
2022-12-23 15:21:40 -06:00
Cœur
559b759ea0
Fix tr_torrent_view incorrectly returning is_folder false for single files in a single folder ( #4454 )
2022-12-23 13:52:16 -06:00
Cœur
3cee8bae36
Fixed crash on exit while downloading from webseed ( #4451 )
2022-12-23 11:34:08 -06:00
Charles Kerr
14a3d01e45
fix: sonarcloud ( #4453 )
2022-12-23 10:56:27 -06:00
Charles Kerr
a1892f2c7c
fix: 4.0.0-beta.2 regression transmission-show --scrape did not exit cleanly ( #4447 )
2022-12-23 08:03:26 -06:00
Cœur
8a5260f24c
Fixed DragOverlayWindow file icon and name ( #4428 )
...
* Fixed DragOverlayWindow file icon and name
* Fixed dragging for BitComet torrents
2022-12-22 20:07:45 -06:00
Charles Kerr
07a5e560b7
fixup: peer counts ( #4445 )
2022-12-22 17:43:36 -06:00
Cœur
1819e544b4
Addressed lockFocus is deprecated ( #4441 )
2022-12-22 16:37:10 -06:00
SweetPPro
d967de0c5b
macOS remove defunct share code ( #4440 )
2022-12-22 15:44:46 -06:00
Cœur
65719b5206
Removing WebSeedTableView.mm and InfoViewController.h from libtransmission ( #4444 )
2022-12-22 12:24:42 -06:00
Cœur
e32cac98ce
Add missing GroupPopUpButtonCell and PriorityPopUpButtonCell to CMakeLists.txt ( #4417 )
2022-12-21 20:01:52 -06:00
Charles Kerr
4549cc74a0
refactor: add tr_torrent::do_idle_work() ( #4434 )
2022-12-21 17:21:28 -06:00
Mike Gelfand
32531fe5ef
Use `Gio::List{Model,Store}` for torrents ( #4430 )
...
* Use `Gio::List{Model,Store}` for torrents
Switch from `Gtk::{TreeModel,ListStore}` in preparation for cell
renderers deprecation in GTK 4.10. That will require switching to the
new view classes (`Gtk::{Column,List}View`) which only work with `Gio`
models. Implement an adapter to support GTK+ 3 where the old view class
(`Gtk::TreeView`) only works with `Gtk` models; it is effective enough
but requires a signal connection per item to notify on row changes.
Refactor filtering and sorting (which now happen over the new model) to
use compatible `Gtk::Filter` and `Gtk::Sorter` classes. Although these
classes are only present in GTK 4, the abstraction is suitable for GTK+
3 as well so make our subclasses work for both versions.
Since items (of `Torrent` class) of the new model provide only a very
limited (by design) layer of compatibility with GTK+ 3 way of doing
things, refactor selection handling to do it the new way. Move selection
helpers into `MainWindow` to abstract them away since new view classes
handle it differently.
* Improve session load performance based on profiling results
2022-12-21 21:26:25 +00:00
Cœur
db802afc4f
Addressed various warnings ( #4414 )
2022-12-21 14:21:16 -06:00
Charles Kerr
c74ac4f4ed
perf: cache the peer, atom count instead of always recomputing it ( #4431 )
2022-12-21 12:07:40 -06:00
Cœur
cc9bc748b0
Removed ToolbarSegmentedCell ( #4418 )
2022-12-21 11:13:12 -06:00
Charles Kerr
092d411663
refactor: tr_rand_buffer(), tr_rand_int() again ( #4415 )
2022-12-21 09:58:32 -06:00
Charles Kerr
e17da3e19e
refactor: xunused ( #4416 )
...
* chore: remove unused function gtr_combo_box_new_enum()
* chore: remove unused function gtr_priority_combo_new()
* chore: remove unused function tr_logLevelToKey()
* refactor: remove unused tr_sessionGetDeleteSource()
* refactor: remove unused peer_atom::isValid()
2022-12-20 18:48:36 -06:00
Charles Kerr
1e734f36b1
perf: cache the result of thread_current_id() ( #4425 )
2022-12-20 14:59:02 -06:00
Charles Kerr
ebc93788ce
perf: make bandwidth.allocate() bidirectional ( #4424 )
...
Previously `bandwidth.allocate()` was called twice in a row, once for
upload bandwidth and once for download bandwidth.
It has some semi-expensive housekeeping though, so avoid doing that work
twice by having a single call to `bandwidth.allocate()` operate on both
up and down bandwidth.
2022-12-20 13:49:37 -06:00
Charles Kerr
bc61565af7
build: fix utils tests on win32 ( #4422 )
...
tests depend on utils, so if we unconditionally enable tests we need to do the same for utils
2022-12-20 12:27:02 -06:00
Charles Kerr
5493ed644e
refactor: use tr_rand_buf() in tr_bandwidth::phaseOne() ( #4404 ) ( #4411 )
2022-12-19 17:31:24 -06:00
Charles Kerr
d290ece0c8
perf: recycle DH MSE keys iff peer was unreachable ( #4412 )
2022-12-19 16:49:26 -06:00
Reed Morrison
edfce44d35
refactor: remove unused UTP Socket code. ( #4409 )
2022-12-19 15:16:46 -06:00
Charles Kerr
5743758edd
Revert "perf: recycle Diffie-Hellman keys iff peer was unreachable ( #4408 )"
...
This reverts commit 35a0211118
.
2022-12-19 15:12:33 -06:00
Charles Kerr
35a0211118
perf: recycle Diffie-Hellman keys iff peer was unreachable ( #4408 )
2022-12-19 14:45:01 -06:00
Charles Kerr
76db72bc4b
perf: lazy-calculate torrent seconds-seeding stat ( #4393 )
2022-12-18 22:59:58 -06:00
Charles Kerr
9e6ffa351c
perf: reduce excess rand() calls in tr_bandwidth::phaseOne() ( #4404 )
2022-12-18 13:24:46 -06:00
Mike Gelfand
128cf34123
Move jsonsl and wildmat to third-party ( #4402 )
...
* Move jsonsl to third-party
This treats it as proper 3rd-party code to which our warning and style
settings don't extend.
* Move wildmat to third-party
This treats it as proper 3rd-party code to which our warning and style
settings don't extend.
* Fixup Xcode project to match new project structure
2022-12-18 19:19:07 +00:00
Charles Kerr
28b12f091f
perf: remove libtransmission::Buffer.vecs() ( #4401 )
...
Its two calls to evbuffer_peek() used 3.5% of CPU use (measured with perf
when built with RelWithDebInfo). I added vecs() so that libtransmsision
could send noncontiguous buffers via utp_writev(); but in my testing, all
the buffers being sent are contiguous and so this is unnecessary work.
2022-12-18 12:09:02 -06:00