Skip to content

feat: quick try - #32

Merged
abergasov merged 4 commits into
mainfrom
_quic_try
Jul 30, 2026
Merged

feat: quick try#32
abergasov merged 4 commits into
mainfrom
_quic_try

Conversation

@abergasov

@abergasov abergasov commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Bug Fixes
    • Improved peer connectivity by switching node communication to QUIC and advertising QUIC-compatible addresses.
    • Updated address prediction to use QUIC-advertised address information for more reliable peer discovery.
  • Tests
    • Added a smoke test to verify the node starts successfully with QUIC enabled.
  • Documentation / Chores
    • Refreshed third-party license attribution entries with updated referenced versions.

@abergasov
abergasov requested review from a team and swarna1101 as code owners July 30, 2026 08:41
@abergasov
abergasov requested a review from alexanderbez July 30, 2026 08:41
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The libp2p host now registers QUIC instead of TCP, uses QUIC-over-UDP listen addresses, and builds QUIC-specific advertised addresses. Peer address prediction and startup smoke-test coverage also use the QUIC configuration. Third-party attribution links reference updated dependency versions.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant NewNode
  participant AddrsFactory
  participant QUICTransport
  NewNode->>AddrsFactory: Build QUIC advertised addresses
  NewNode->>QUICTransport: Register QUIC transport
  NewNode->>NewNode: Start node
Loading

Possibly related PRs

Suggested reviewers: alexanderbez, cryptofewka, nicolaoun

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning Title does not follow the required (<domain/pkg>): format and omits the domain/pkg segment. Rename it to match the required format, e.g. feat(mum_p2p): switch node transport to QUIC, under 72 chars and without trailing punctuation.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/service/mum_p2p/service.go`:
- Line 99: Update the libp2p host configuration around quic.NewTransport to bind
UDP/QUIC listen addresses using /udp/<port>/quic-v1 instead of only TCP
addresses, or ensure TCP is also advertised consistently. Add a focused test
verifying the host’s advertised addresses match the configured bound transport,
covering the QUIC endpoint scheme and transport.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: getoptimum/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4333b1a9-ac00-4e4a-9a64-7db5286e0c5a

📥 Commits

Reviewing files that changed from the base of the PR and between c9421e9 and 62e2652.

⛔ Files ignored due to path filters (2)
  • go.mod is excluded by none and included by none
  • go.sum is excluded by !**/*.sum and included by none
📒 Files selected for processing (2)
  • pkg/service/bootstrapper/service.go
  • pkg/service/mum_p2p/service.go

Comment thread pkg/service/mum_p2p/service.go Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the mump2p networking layer to listen/advertise QUIC v1 multiaddrs (UDP) instead of TCP, and bumps/refreshes dependency metadata (Go modules, SBOM, and third-party notices) accordingly.

Changes:

  • Switch mum_p2p node transport from TCP to QUIC (/udp/<port>/quic-v1) and update advertised address construction.
  • Update bootstrapper address prediction to match the QUIC-advertised address scheme.
  • Bump several dependencies and refresh SBOM / third-party notice references to match.

Reviewed changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/service/mum_p2p/service.go Switches the mump2p libp2p host to QUIC listen addrs/transport and QUIC advertised addrs.
pkg/service/bootstrapper/service.go Updates predicted peer.AddrInfo to advertise QUIC multiaddrs.
go.mod Bumps optimum-common and Prometheus-related dependencies (and a few indirects).
go.sum Adds checksums for bumped module versions.
docs/sbom.json Refreshes SBOM entries/hashes/refs to reflect updated dependencies.
THIRD-PARTY-NOTICES.md Updates license link versions for a subset of dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pkg/service/mum_p2p/service.go Outdated
Comment on lines 90 to 101
cachedAddrs := commonnet.MustBuildAdvertisedQUICAddresses(log, publicIPV4, publicIPV6, cfg.ListenPort)

libP2POpts := []libp2p.Option{
libp2p.ConnectionManager(cn),
libp2p.ListenAddrStrings(
fmt.Sprintf("/ip4/0.0.0.0/tcp/%d", cfg.ListenPort),
fmt.Sprintf("/ip6/::/tcp/%d", cfg.ListenPort),
fmt.Sprintf("/ip4/0.0.0.0/udp/%d/quic-v1", cfg.ListenPort),
fmt.Sprintf("/ip6/::/udp/%d/quic-v1", cfg.ListenPort),
),
libp2p.Ping(false), // Disable Ping Service.
libp2p.Transport(tcp.NewTCPTransport),
libp2p.Transport(quic.NewTransport),
libp2p.DefaultMuxers,
libp2p.Muxer("/mplex/6.7.0", mplex.DefaultTransport),
@coderabbitai coderabbitai Bot mentioned this pull request Jul 30, 2026
@coderabbitai
coderabbitai Bot requested review from CryptoFewka and nicolaoun July 30, 2026 09:14

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/service/mum_p2p/node_test.go`:
- Line 23: Replace commontest.GetFreePortT in the test configuration passed to
NewNode with a UDP/QUIC-safe port allocator that reserves the port before node
creation. Preserve the existing test setup and ensure the selected port is safe
for both IPv4 and IPv6 UDP binding.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: getoptimum/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8e03d85d-6c3f-426f-87e8-421ac9118101

📥 Commits

Reviewing files that changed from the base of the PR and between 8a8f1ac and c191284.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum and included by none
📒 Files selected for processing (2)
  • pkg/service/mum_p2p/node_test.go
  • pkg/service/mum_p2p/service.go

Comment thread pkg/service/mum_p2p/node_test.go
@abergasov
abergasov merged commit adf27e3 into main Jul 30, 2026
10 checks passed
@abergasov
abergasov deleted the _quic_try branch July 30, 2026 09:26
swarna1101 added a commit that referenced this pull request Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants