Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable global IP query and fixes/refactorings #5510

Merged
merged 17 commits into from
Jun 11, 2023

Conversation

tearfur
Copy link
Member

@tearfur tearfur commented May 10, 2023

  1. Enable global IP query, thanks to the new endpoints on transmissionbt.com. Fix UDP can't connect warnings and add IP cache on the way #5329 (comment)
  2. Fix unintended behavioural change in tr_address::publicAddress() for IPv6.
  3. Added a new test for the callback of the global IP query feature.
  4. Refactor tr_global_ip_cache to use a mediator, so that more tests are possible.

Fixes #5554.

@tearfur tearfur marked this pull request as draft May 12, 2023 03:36
@tearfur tearfur marked this pull request as ready for review May 12, 2023 12:39
@ckerr
Copy link
Member

ckerr commented May 13, 2023

The following tests FAILED:
[14:41:24 ](https://trtc.mikedld.com/buildConfiguration/Transmission_Sanity_FreeBSDAmd64polarssl/358577?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandchucktcpluginBuild=true&expandPull+Request+Details=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=358577_10970_10970&logView=flowAware)    154 - LT.HandshakeTest.outgoingPlaintext (SEGFAULT)

The TC Sanity test looks similar to a Windows GitHub action error I saw in another PR earlier today & may not be related to this PR. I think it may be related to 51fd705; if I can't figure it out shortly I'll revert that PR in main and then sync this one to main

@ckerr ckerr self-requested a review May 13, 2023 20:17
@ckerr
Copy link
Member

ckerr commented Jun 11, 2023

This looks pretty good. Rebasing to get it caught up with main & waiting to make sure it goes green.

@tearfur I've been pretty busy with non-Transmission work and as you've probably noticed my repsonse time is slower than it was before 4.0.3 came out. Please feel free to @-nag me on PRs like this; I really appreciate these improvements 💚

@1100101
Copy link
Contributor

1100101 commented Jun 11, 2023

I’ve been using this branch locally since @tearfur pointed me here via #5554 , and haven’t had any issues so far.

@ckerr
Copy link
Member

ckerr commented Jun 11, 2023

Error: The brew link step did not complete successfully

The two macOS CI failures appear to be unrelated to this PR. I'm chasing them down in #5606.

@nevack
Copy link
Member

nevack commented Jun 11, 2023

Error: The brew link step did not complete successfully

The two macOS CI failures appear to be unrelated to this PR. I'm chasing them down in #5606.

/offtopic Brew tries to upgrade both python@3.11 and python@3.10, both are linked (read, links are created in /usr/local/bin), so one interferes with the other.
Odd. Maybe we should just run brew upgrade as first step, before installing any deps.
Also, should I create an issue for updating our macOS runner?
We are using 11 (aka Big Sur), but 12 (Monterey) and beta of 13 (Ventura, beta) image are available.
This will allow us to use newer Xcode, obviously.

@ckerr
Copy link
Member

ckerr commented Jun 11, 2023

(@nevack maybe follow up in 5606? Adding brew upgrade didn't work + also tried to upgrade a bunch of unnecessary crap. Removing brew update did work but maybe another fix would have been better.)

@ckerr ckerr merged commit 802619e into transmission:main Jun 11, 2023
21 checks passed
@tearfur tearfur deleted the ip-cache-follow-up branch June 12, 2023 01:07
@GaryElshaw
Copy link
Contributor

(@nevack maybe follow up in 5606? Adding brew upgrade didn't work + also tried to upgrade a bunch of unnecessary crap. Removing brew update did work but maybe another fix would have been better.)

I think homebrew deprecated brew update for brew upgrade a while back.

@nevack
Copy link
Member

nevack commented Jun 12, 2023

(@nevack maybe follow up in 5606? Adding brew upgrade didn't work + also tried to upgrade a bunch of unnecessary crap. Removing brew update did work but maybe another fix would have been better.)

I think homebrew deprecated brew update for brew upgrade a while back.

Wrong, this commands do different things.
update just fetches info (index) about new and updated packages.
upgrade also really upgrades installed packages.
Neither of them are deprecated, they just serve different purpose.

ckerr added a commit that referenced this pull request Jun 19, 2023
commit 4b9b992
Author: Charles Kerr <charles@charleskerr.com>
Date:   Mon Jun 19 16:51:34 2023 -0500

    refactor: prefer std::map over QMap in transmission-qt (#5641)

    * refactor: use std::map instead of QMap in PrefsDialog.cc

    * refactor: use std::map instead of QMap in DetailsDialog.cc

    * refactor: use std::map instead of QMap in OptionsDialog.cc

    * refactor: use std::map instead of QMap in FileTreeModel.cc

commit 040bc8a
Author: Dmitry Antipov <dmantipov@yandex.ru>
Date:   Tue Jun 20 00:22:54 2023 +0300

    fix: Qt 6.5 deprecation warning (#5552)

commit 23a52fa
Author: LaserEyess <16581533+LaserEyess@users.noreply.github.com>
Date:   Mon Jun 19 16:51:20 2023 -0400

    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

commit ddac059
Author: Василий Чай <basilefff@gmail.com>
Date:   Mon Jun 19 09:30:55 2023 +0400

    fix: return error when renaming into existing file (#5563)

commit b8ff35c
Author: tearfur <46261767+tearfur@users.noreply.github.com>
Date:   Mon Jun 19 08:06:31 2023 +0800

    handle IPv6 NAT during LTEP handshake (#5565)

    * fix: peer handshake reported wrong ipv6 address

    #5542 (comment)

commit fd583ac
Author: Charles Kerr <charles@charleskerr.com>
Date:   Sun Jun 18 17:36:39 2023 -0500

    deps: bump libfmt to v10.0.0 (#5635)

    seems to be semver/minor safe for our API use

    Fixes #5511.

    Possibly fixes #5627.

commit 1664088
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Jun 18 15:55:43 2023 -0500

    chore: update generated transmission-web files (#5588)

commit 0fd7989
Author: Gary Elshaw <69029666+GaryElshaw@users.noreply.github.com>
Date:   Mon Jun 19 07:11:56 2023 +1200

    fix: restore png files that were corrupted in recent "compression" script

commit bd9d110
Author: Cœur <coeur@gmx.fr>
Date:   Sun Jun 18 20:32:34 2023 +0200

    fix 'setNeedsDisplay' is deprecated: first deprecated in macOS 10.14 (#5633)

commit 76166d8
Author: Cœur <coeur@gmx.fr>
Date:   Mon Jun 12 18:03:22 2023 +0200

    refactor: replace NSMutableDictionary with constant attributes (#5221)

commit c379cd7
Author: Robin Seth Ekman <robin.seth.ekman@gmail.com>
Date:   Mon Jun 12 03:19:54 2023 +0200

    fix: transmission-remote only list every other label (fixes #5571) (#5572)

commit 87f254a
Author: Charles Kerr <charles@charleskerr.com>
Date:   Sun Jun 11 18:52:45 2023 -0500

    chore: bump fast_float snaapshot to 5.2.0 (#5605)

commit 802619e
Author: tearfur <46261767+tearfur@users.noreply.github.com>
Date:   Mon Jun 12 07:27:01 2023 +0800

    fix: fixes and improvements to global IP query (#5510)

commit c8e84f8
Author: Charles Kerr <charles@charleskerr.com>
Date:   Sun Jun 11 16:28:43 2023 -0500

    ci: remove "brew update" step (#5606)

commit 60c68af
Author: Charles Kerr <charles@charleskerr.com>
Date:   Sun Jun 11 11:25:35 2023 -0500

    Revert "fix: some labels not displayed in transmission-remote (#5600)"

    This reverts commit ebd5080.

commit ebd5080
Author: Charles Kerr <charles@charleskerr.com>
Date:   Sat Jun 10 19:01:32 2023 -0500

    fix: some labels not displayed in transmission-remote (#5600)

    Fixes #5571.

commit 8ca02b8
Author: Mike Gelfand <mikedld@users.noreply.github.com>
Date:   Sun Jun 11 02:09:18 2023 +0400

    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.

commit 0ef58c2
Author: Charles Kerr <charles@charleskerr.com>
Date:   Mon Jun 5 17:03:11 2023 -0500

    chore: improve lossless compression of png files (#5586)

commit c1c27f3
Author: Daniel Kamil Kozar <dkk089@gmail.com>
Date:   Mon Jun 5 20:15:32 2023 +0200

    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.

commit 61679e1
Author: Cœur <coeur@gmx.fr>
Date:   Mon May 29 15:43:43 2023 +0200

    Support localized punctuation for "Port:" (#4452)

    * Support localized punctuation for "Port:"

    * Code review: adopting "Port: %@"

    * updating other locales for "Port" -> "Port: %@"
@tearfur
Copy link
Member Author

tearfur commented Jul 14, 2023

Notes: Added ability to cache IP addresses used in global communications, and use it to fix UDP6 warning log spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

HTTPS tracker issues
6 participants