Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
c61265c
feat: add browser-enabled WebTransport testnet
mickvandijke Aug 3, 2026
b400c35
feat(webtransport): use native browser multiaddresses
mickvandijke Aug 5, 2026
a19e75a
feat(webtransport): support paid browser uploads
mickvandijke Aug 5, 2026
1c0692d
chore(webtransport): lock shared DHT lookup crate
mickvandijke Aug 5, 2026
1548437
feat(webrtc): replace WebTransport browser support
mickvandijke Aug 26, 2026
b80f6c5
feat(devnet): raise browser file limit to 1 GB
mickvandijke Aug 26, 2026
f9abf85
feat(webrtc): publish versioned browser endpoints
mickvandijke Aug 27, 2026
120e2c6
fix(webrtc): keep browser sessions reusable
mickvandijke Aug 31, 2026
8f0745a
fix(webrtc): scale request deadlines with payloads
mickvandijke Aug 31, 2026
95bb4f4
chore(deps): pin browser support draft stack
mickvandijke Sep 1, 2026
fa6a593
feat(webrtc): require PQ browser sessions
mickvandijke Sep 1, 2026
be47013
feat(webrtc): adopt no-mutation direct v2 profile
mickvandijke Sep 2, 2026
66def9a
feat: add WebRTC port CLI option
mickvandijke Sep 3, 2026
8ddfcd8
fix(webrtc): isolate public listener resources
mickvandijke Sep 3, 2026
8f17201
fix(webrtc): treat endpoint reachability as unverified
mickvandijke Sep 3, 2026
d264344
refactor(webrtc): consume shared browser wire contract
mickvandijke Sep 3, 2026
d8d458f
fix(webrtc): drain active channels on shutdown
mickvandijke Sep 3, 2026
9a3ea82
chore: enforce the actual Rust 1.91 MSRV
mickvandijke Sep 4, 2026
0a5c87d
ci(webrtc): run the five-node direct devnet
mickvandijke Sep 4, 2026
606e96c
docs(webrtc): state automated evidence precisely
mickvandijke Sep 4, 2026
1a4662e
chore: satisfy current stable Clippy
mickvandijke Sep 4, 2026
5fcee7c
refactor(webrtc): consume Saorsa profile crate
mickvandijke Sep 4, 2026
a354676
chore(deps): keep browser transport out of ant-protocol
mickvandijke Sep 4, 2026
40b6429
docs(webrtc): record neutral protocol boundary
mickvandijke Sep 4, 2026
26917b1
chore(deps): align rebased browser support stack
mickvandijke Sep 4, 2026
8c2f28c
fix: timeout idle WebRTC associations
mickvandijke Sep 5, 2026
950662e
fix(browser): keep verification RPC URLs private
mickvandijke Sep 7, 2026
fb73af1
fix(replication): capture admission outcomes on Rust 1.91
mickvandijke Sep 7, 2026
6ef9636
ci(browser): check feature gates without test configuration
mickvandijke Sep 7, 2026
120778c
fix(webrtc): pin bounded pending-association cleanup
mickvandijke Sep 7, 2026
6bbfad2
chore(deps): pin reviewed transport and core for browser nodes
mickvandijke Sep 7, 2026
454fbaa
fix(devnet): include WebRTC bootstrap addresses in manifest
mickvandijke Sep 7, 2026
8453f66
Route browser native-protocol messages through the existing storage h…
mickvandijke Sep 8, 2026
8cea707
Use integrated saorsa-core lookup through shared protocol
mickvandijke Sep 8, 2026
6ca5827
Use WebRTC module from saorsa-transport
mickvandijke Sep 8, 2026
599b832
Preserve native peer records in browser client discovery
mickvandijke Sep 8, 2026
63ff721
Align client policy dependency revisions
mickvandijke Sep 8, 2026
0330560
refactor: use protocol commitment signing bytes
mickvandijke Sep 8, 2026
a442f9e
chore: pin shared lookup policy revisions
mickvandijke Sep 8, 2026
d382a24
chore: pin shared Merkle payment ABI dependencies
mickvandijke Sep 8, 2026
68e3d29
fix(webrtc): enforce node connection limits before RTC allocation
mickvandijke Sep 8, 2026
2ccbe97
chore(replication): resolve current Clippy style warnings
mickvandijke Sep 8, 2026
2103d03
chore(deps): pin WebRTC generation and admission fixes
mickvandijke Sep 8, 2026
0cfcbd8
chore(deps): pin nonempty DHT address replacement rules
mickvandijke Sep 8, 2026
33b1f1d
feat(webrtc): forward signed peer addresses in lookup responses
mickvandijke Sep 8, 2026
c1a07a7
chore(deps): pin owner-proven final lookup selection
mickvandijke Sep 8, 2026
c2cae02
fix(webrtc): require proven peer records in address V2 replies
mickvandijke Sep 9, 2026
b090397
fix(webrtc): track shared browser capability and current core V2
mickvandijke Sep 10, 2026
eac9762
fix(config): preserve WebRTC defaults in partial configuration
mickvandijke Sep 10, 2026
8ce8156
fix(cli): add an explicit WebRTC disable switch
mickvandijke Sep 10, 2026
be9c9e1
fix(devnet): gate prepaid browser seeding behind test-utils
mickvandijke Sep 10, 2026
feda8f7
fix(webrtc): enforce shared IPv6 prefix resource budgets
mickvandijke Sep 10, 2026
7bc24d1
fix(webrtc): follow native port and address discovery policy
mickvandijke Sep 10, 2026
5356914
fix(webrtc): sanitize backend errors at the browser boundary
mickvandijke Sep 10, 2026
a429a7c
ci(webrtc): enable test utilities for prepaid devnet coverage
mickvandijke Sep 10, 2026
2f300e8
fix(lints): resolve strict all-target Clippy findings
mickvandijke Sep 10, 2026
d6cc8cb
docs(adr): record intended browser startup policy under ADR-0013
mickvandijke Sep 10, 2026
203f215
feat(webrtc): adopt prefix-free v6 frames and fixed header limit
mickvandijke Sep 11, 2026
8fa68a2
fix(browser): retain identifiers for the unreleased protocol
mickvandijke Sep 11, 2026
8af2c6e
chore(deps): use WebRTC transport with mDNS disabled
mickvandijke Sep 11, 2026
b135971
feat(webrtc): expose browser listener diagnostics and capacity counters
mickvandijke Sep 11, 2026
4dd6a6d
test(webrtc): verify real stalled connection timeout and recovery
mickvandijke Sep 11, 2026
9497589
fix(webrtc): use shared monotonic frame deadlines
mickvandijke Sep 14, 2026
ee8a73a
fix(storage): satisfy current compiler lint checks
mickvandijke Sep 14, 2026
af19dce
fix(integration): align rebased dependencies and drain browser shutdo…
mickvandijke Sep 14, 2026
efce3d4
fix(node): drain background tasks on startup failure
mickvandijke Sep 14, 2026
aa44af9
chore(deps): align protocol, payment journal, and transport fixes
mickvandijke Sep 14, 2026
3ce1e9b
chore(deps): include WebRTC cleanup on non-runtime threads
mickvandijke Sep 14, 2026
8b635a6
fix: avoid browser PUT serialization copies
mickvandijke Sep 15, 2026
e0e55c8
fix: retain browser admission and harden RPC handling
mickvandijke Sep 15, 2026
5cf8847
test(webrtc): move the final commitment fixture without cloning
mickvandijke Sep 15, 2026
cf8a84c
chore(deps): align shared discovery and transport branch heads
mickvandijke Sep 15, 2026
4c1509d
chore(deps): align finalized EVM journal recovery
mickvandijke Sep 15, 2026
605cafe
fix(security): update node stack to patched rustls
mickvandijke Sep 15, 2026
5726c7b
fix(release): verify registry packaging during dry runs
mickvandijke Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ env:
FOUNDRY_VERSION: v1.7.1

jobs:
msrv:
name: Rust 1.91 MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.91.0
- uses: Swatinem/rust-cache@v2
- run: cargo check --all-targets --all-features --locked

fmt:
name: Format Check
runs-on: ubuntu-latest
Expand Down Expand Up @@ -101,6 +110,8 @@ jobs:
# noticing. This is what makes that loud.
grep -qE 'test result: ok\. [1-9]' /tmp/scale.log \
|| { echo 'scale ran no tests'; exit 1; }
- name: Run browser RPC privacy regressions
run: cargo test --test webrtc_direct_devnet
- name: Run e2e tests
run: cargo test --test e2e --features test-utils -- --test-threads=1
- name: Run v12 storage-bound audit attack PoCs
Expand Down Expand Up @@ -245,9 +256,29 @@ jobs:
uses: foundry-rs/foundry-toolchain@v1
with:
version: ${{ env.FOUNDRY_VERSION }}
# Compile without cfg(test) too: browser unit tests can otherwise hide
# unused helpers whose production callers require webrtc-direct.
- name: Check library without default features
run: cargo check --lib --no-default-features --locked
- name: Run unit tests without logging
run: cargo test --lib --no-default-features

browser-devnet:
name: WebRTC Direct five-node devnet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: ${{ env.FOUNDRY_VERSION }}
- name: Run persistent-session discovery and transfer test
run: >-
cargo test --test webrtc_direct_devnet --features test-utils
-- --ignored --test-threads=1

security:
name: Security Audit
runs-on: ubuntu-latest
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,8 @@ jobs:
name: Publish to crates.io
needs: [validate]
runs-on: ubuntu-latest
if: github.event.inputs.dry_run != 'true' && needs.validate.outputs.is_prerelease != 'true'
# Dry runs must exercise registry dependency resolution and package verification.
if: needs.validate.outputs.is_prerelease != 'true'
steps:
- uses: actions/checkout@v4

Expand All @@ -362,6 +363,7 @@ jobs:
run: cargo publish --dry-run --allow-dirty

- name: Publish to crates.io
if: github.event.inputs.dry_run != 'true'
run: cargo publish --no-verify --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
Expand Down
Loading
Loading