Commit Graph

15153 Commits

Author SHA1 Message Date
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
Charles Kerr
cc4141c619 fixup: 3899255 (#4394) 2022-12-18 11:18:25 -06:00
Cœur
4ff59b715d Fixed implicit conversion warning: __LINE__ is a long (#4397) 2022-12-18 10:23:44 -06:00
Mike Gelfand
e694c3e3a0 Use C++ (not C) warning flags for GTK client (#4395)
Use the opportunity to reduce duplication.
2022-12-18 01:02:03 +00:00
Mike Gelfand
6d495fbf98 Don't use message dialog to display blocklist update status (#4392)
Make it behave [almost] the same way port test works: display update
status and final result in the label below the URL entry. The only
difference is that label returns to its usual mode showing total number
of rules after a while once update is finished; could probably have
done it differently but decided against it to avoid affecting
translations.
2022-12-17 23:12:25 +00:00
Mike Gelfand
4c5b180f5a Make preferences dialog non-modal (#4391)
This regressed with the switch to `Gtk::Builder` because the dialog was
non-modal before.

This is the cause of the issue with blocklist update status dialog: it
seems that if there's a modal dialog running, showing another non-modal
dialog will make it inaccessible to the user until the first dialog is
closed thus leaving the modal mode.
2022-12-17 21:07:07 +00:00
Charles Kerr
3899255f1c fix: tear down utp _after_ peer-mgr (#4383) 2022-12-17 14:10:10 -06:00
Charles Kerr
616e79c0a8 refactor: group related tr_peerIo methods together (#4380)
* refactor: group related functions together in the source

* refactor: make tr_peerIo::decrypt() private

* refactor: make tr_peerIo::is_seed() private

* refactor: remove unused tr_isPeerIo()
2022-12-16 17:21:01 -06:00
Mike Gelfand
67c4e4081c Add ENABLE_WERROR option for use on CI (#4381)
Defaults to `OFF`. Downstream packagers are advised against enabling it
as we can't guarantee it working on every possible configuration.

Added the actual compile flag in the GTK client subdirectory and not
the top-level CMakeLists.txt file due to other subprojects not being
ready.

Fixed the only GTK client warning reported by Clang on Mac.
2022-12-16 22:38:30 +00:00
Szepesi Tibor
0cb1ea8ed8 docs: add Qt dependencies for Windows build instructions and minor fixes (#4363) 2022-12-16 16:36:46 -06:00
SweetPPro
5d5893036d fix: layout issues in macOS client torrent inspector window (#4366) 2022-12-16 12:27:37 -06:00
Mike Gelfand
0824c2da6d Disconnect some more signals on widgets destruction (#4379)
This is applicable to any signals where emitter's lifetime isn't
controlled by the receiver.

There're still about 7 `Glib::signal_idle()` connections which aren't
tracked but I see the possibility of it leading to major issues as quite
low.
2022-12-16 17:40:28 +00:00
Charles Kerr
e6d75a4b77 refactor: tr_peerIo (#4372) 2022-12-16 01:23:12 -06:00
SweetPPro
078dc8bd08 removed redunant code from AddMagnetWindow (#4374) 2022-12-16 00:04:59 -06:00
Cœur
578099bf1c Replaced deprecated NSURLDownload with NSURLSessionDownloadTask. (#4308) 2022-12-15 18:19:27 -06:00
Cœur
30d3ce872f feat: move the filter bar's search field one pixel up (#4367) 2022-12-14 20:44:21 -06:00
Cœur
669faf7474 Dropped tr_rand_int_weak where possible. (#4271) 2022-12-14 12:21:56 -06:00
Cœur
fe1ee80342 Sorting by size should be instead by sizeWhenDone (#4365) 2022-12-14 11:46:32 -06:00
Cœur
0b0f8704d6 build: move CMAKE_OSX_DEPLOYMENT_TARGET FATAL_ERROR next to its default setting (#4323) 2022-12-14 10:11:32 -06:00
Ștefan Talpalaru
b0eaec47cd fix: re-enable port forwarding (#4343) 2022-12-14 01:31:48 -06:00
Cœur
84c0001e2f Fixed archivedDataWithRootObject: is deprecated (#4310) 2022-12-14 00:42:49 -06:00
Charles Kerr
6f1153cae4 refactor: tr_handshake (#4362) 2022-12-13 19:58:39 -06:00
Cœur
4a80f800a6 Fixed crash on exit in tr_utpPacket (#4348) 2022-12-13 16:51:54 -06:00
Charles Kerr
2f6315b649 refactor: tr_handshake lifecycle (#4358) 2022-12-13 11:59:21 -06:00
Cœur
9e0b42a61d Fixed logic in tr_wildmat (#4353) 2022-12-12 16:35:40 -06:00
Mike Gelfand
3354634605 Improve error handling upon watch directory setup (#4355)
Failing to handle the exception may lead to a critical log message
(minor) and a crash during startup (major).
2022-12-12 17:12:30 +00:00
Cœur
ec1e679395 Fixed memory leak in BlocklistDownloader (#4309) 2022-12-12 15:12:04 +00:00
Peter
7aad5870ce Add windows build manual (#4291)
* Add windows build manual

* Total rewrite

* Update docs/Building-Transmission.md

Co-authored-by: Cœur <coeur@gmx.fr>

* Update Building-Transmission.md

* Update Building-Transmission.md

* Cmake command rewrite

* Update Building-Transmission.md

* Remove "Mingw" build manual

* Update Building-Transmission.md

Co-authored-by: Cœur <coeur@gmx.fr>
2022-12-12 15:10:36 +00:00
Mike Gelfand
d2e0ca48a1 Simplify PrefsDialog's PageBase further by passing builder via ctor (#4354) 2022-12-12 15:00:33 +00:00
Cœur
7814e0736e Fixed tr_bitfield::operator|= range (#4351) 2022-12-12 02:23:59 +00:00
Mike Gelfand
f58c238d4a Show "Enable uTP" checkbox in preferences if supported (GTK client) (#4349)
Broken with switch to CMake. Ideally, need an API/RPC method to request
core capabilities to support remote sessions.
2022-12-11 21:58:17 +00:00
Charles Kerr
5bd4f007ac fix: remove invalid assertion from bitfield code (#4346) 2022-12-10 14:54:22 -06:00
SweetPPro
9f2a981c8c fix: empty tableview rows on macOS (#4333) 2022-12-09 13:06:00 -06:00
Mike Gelfand
a937dfc897 Don't include MSVC redist MSM in Windows MSI package (#4339)
* Create Windows MSI package as part of GHA sanity build

* Don't include MSVC redist MSM in Windows MSI package

This approach is deprecated, and was probably never entirely correct to
begin with.
2022-12-09 12:30:43 +00:00
Charles Kerr
0a69685a4e refactor: tr_address cleanup (#4338)
* refactor: move tr_tracker_http_announce() helper funcs into their own namespace

* refactor: move tr_globalIPv6() helper funcs into their own namespace

* refactor: move tr_address_is_valid_for_peers() helper funcs into their own namespace

* refactor: make tr_address_compare() a private method

* refactor: rename tr_address::isIPv4() to is_ipv4()

* refactor: use snake_case for tr_address methods

* refactor: make tr_address_is_valid_for_peers() a member function
2022-12-08 20:27:52 -06:00
Mike Gelfand
26a8c17187 Use proper working directory (fixup #4337) 2022-12-08 22:48:35 +00:00
Charles Kerr
0061e4f9a9 refactor: tr_address::display_name() (#4335) 2022-12-08 16:44:19 -06:00
Mike Gelfand
32cc726e7d Detect changes against branch off point, not origin/main (#4337) 2022-12-08 22:41:28 +00:00
Charles Kerr
f176bb299a fix: broken detection of peer udp port (#4334) 2022-12-08 14:44:39 -06:00
Cœur
389919f727 ignoring /tests/**/*.out (#4324) 2022-12-07 20:16:09 -06:00
Charles Kerr
e06e304cc8 refactor: fix shutdown order of utp (#4331) 2022-12-06 14:28:48 -06:00
Charles Kerr
22a3a5db25 refactor: peer-socket pt 2 (#4326)
* refactor: tr_netOpenPeerSocket() now takes a tr_address reference

* refactor: disable copy assignment, copy constructor

* refactor: move log statements to peer_socket constructor
2022-12-06 10:28:28 -06:00
Charles Kerr
9a5d9a0ba2 refactor: tr_peer_socket (#4325)
* refactor: make tr_peer_socket.type private

* refactor: reimplement tr_peerIo::address() as a wrapper around tr_peer_socket::address()

* refactor: remove tr_address, tr_port from tr_peerIo

* refactor: replace tr_netClosePeerSocket() with tr_peer_socket::close()
2022-12-05 18:53:31 -06:00
Charles Kerr
468310300c refactor: only need a single handshake mediator (#4322) 2022-12-05 11:47:11 -06:00
Mike Gelfand
0e193a0cb3 Simplify widget initialization in preferences dialog (#4306) 2022-12-03 00:20:33 +00:00
Charles Kerr
728e5b8350 refactor: stop tracking peerIo creation time (#4300) 2022-12-02 10:39:46 -06:00
Dmitry Antipov
bf6c80ae35 refactor, ci: switch clang-format to LLVM 15 (#4297)
Bump required clang-format version to 15
2022-12-02 09:57:50 -06:00
Charles Kerr
841419d067 chore: bump version to 4.0.0-beta.2-dev 2022-12-02 08:32:44 -06:00