Skip to content

Conversation

@Arqu
Copy link
Collaborator

@Arqu Arqu commented Jan 28, 2026

Description

Breaking Changes

Notes & open questions

Change checklist

  • Self-review.
  • Documentation updates following the style guide, if relevant.
  • Tests if relevant.
  • All breaking changes documented.
    • List all breaking changes in the above "Breaking Changes" section.
    • Open an issue or PR on any number0 repos that are affected by this breaking change. Give guidance on how the updates should be handled or do the actual updates themselves. The major ones are:

@Arqu Arqu changed the base branch from main to release-0-96 January 28, 2026 10:01
@github-actions
Copy link

github-actions bot commented Jan 28, 2026

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3894/docs/iroh/

Last updated: 2026-01-28T15:06:43Z

@n0bot n0bot bot added this to iroh Jan 28, 2026
@github-project-automation github-project-automation bot moved this to 🚑 Needs Triage in iroh Jan 28, 2026
@Arqu Arqu force-pushed the arqu/debugging_hp branch from 42aee5d to 51b7c66 Compare January 28, 2026 10:16
@Arqu Arqu force-pushed the arqu/debugging_hp branch from 51b7c66 to 8b8abc6 Compare January 28, 2026 11:59
When path validation fails (e.g., after interface down/up), schedule
a holepunch retry after 500ms instead of just closing the path.
This handles cases where routing isn't fully established yet.
@Arqu Arqu force-pushed the arqu/debugging_hp branch from fad33b6 to da9fad3 Compare January 28, 2026 13:35
Arqu added 2 commits January 28, 2026 15:08
When an interface comes back up, immediately update local_direct_addrs
with addresses from netmon instead of waiting for net_report to complete.

This fixes holepunch recovery after interface down/up because:
- netmon knows the correct addresses immediately after interface up
- QAD probes can timeout (3s) during interface transitions
- Without this fix, holepunching uses stale/loopback addresses
- Connection times out before net_report discovers real addresses

Also ensures holepunch retry is triggered even for paths not tracked
in iroh's path map (those opened by initiate_nat_traversal_round).
…lure

Start at 500ms, double on each failure, cap at 5s. Reset on network
change or successful path validation. Prevents path exhaustion when
network isn't immediately routable after interface changes.
Base automatically changed from release-0-96 to main January 28, 2026 18:20
@flub
Copy link
Contributor

flub commented Jan 29, 2026

Please write a description with explanations of what's being changed and why. ❤️

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

Labels

None yet

Projects

Status: 🚑 Needs Triage

Development

Successfully merging this pull request may close these issues.

3 participants