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

fix: support discovery of /tls/../ws|http providers #405

Merged
merged 5 commits into from
Oct 25, 2024
Merged

Conversation

lidel
Copy link
Member

@lidel lidel commented Oct 25, 2024

Opening this to start discussion, this may not be the right fix, see "Solution (B)" below.

cc @SgtPooki @2color for feedback / ideas

Problem description

We already support DNS-dependent /wss like /dns4/sv15.bootstrap.libp2p.io/tcp/443/wss/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJ, but we are filtering out /ip.../tls/sni/../ws where DNS resolution is not required. Those will be all p2p-forge peers once we deploy it in Kubo in a few releases.

Example: /ip4/147.75.87.65/tcp/4002/tls/sni/147-75-87-65.k51qzi5uqu5dhb03btheentd9nmkaygwm4q3tfrm596s5thf1u87bc7gq0m2ia.libp2p.direct/ws/p2p/12D3KooWCrBiagtZMzpZePCr1tfBbrZTh4BRQf7JurRqNMRi8YHF

Solution TBD

Solution A (this PR)

This PR ensures we are not filtering them out. Compare:

  • curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=wss'

with

  • curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=ws,wss'

or

  • curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=wss,tls'

This comes with assumption that js-libp2p is smart enough to only dial /ws that have /tls, and skip / log error when dialing unencrypted ones, similar to trustless gateways being announced with /tls/.../http
If not, that has to be fixed upstream as well.

Feedback welcome. Alternative approach is (B) below.

Solution (B)

Augment /routing/v1 implementation in boxo server (and someguy) and specs and make it clear that some filters have special meaning:

  • wss should also include /tls/../ws
  • https should also include /tls/../http

This is kinda easy, we can deploy this fix next week.

This feels more future-proof. I'm leaning towards (B) because it shifts responsibility of "doing the right thing" to /routing/v1 endpoint, and ensures even poorly written clients (other than ones we maintain) that dont know about /tls/.. variants get these results. But lmk your thoughts.

@2color
Copy link
Member

2color commented Oct 25, 2024

I added a suggestion, but it seems like we could filter these multiaddrs with the tls filter.

The only problem I see with adding ws is potentially getting non secure multiaddrs.


I'm reluctant with the proposed Solution B, because it changes the assumptions of IPIP-484 (treating filters as opaque strings) and introduces "magic".

Copy link
Member

@2color 2color left a comment

Choose a reason for hiding this comment

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

LGTM

@2color
Copy link
Member

2color commented Oct 25, 2024

We should probably apply these to https://github.com/ipfs/helia/blob/main/packages/helia/src/utils/libp2p-defaults.browser.ts#L66-L68

@lidel
Copy link
Member Author

lidel commented Oct 25, 2024

Fair enough – i've refactored this PR to do filtering on the client, by matching /tls in addition to /wss and /https.

This will comingle both /http and /ws results but I think it is acceptable overhead.
The client won't act on those extra /ws results if only HTTP is enabled, and vice-versa.

If this looks ok, we should ship it as a patch release to allow inbrowser.link fetch wikipedia and other websites from our collab cluster over bitswap+websockets:

curl -H 'accept: application/x-ndjson' 'https://delegated-ipfs.dev/routing/v1/providers/bafybeihn2f7lhumh4grizksi2fl233cyszqadkn424ptjajfenykpsaiw4?filter-addrs=wss,tls'

@lidel lidel marked this pull request as ready for review October 25, 2024 15:11
@lidel
Copy link
Member Author

lidel commented Oct 25, 2024

@2color yes, if we don't fixup at server, helia defaults need to be updated to include tls – mind opening a PR there?

- filterAddrs: ['https', 'webtransport', 'webrtc', 'webrtc-direct', 'wss']
+ filterAddrs: ['https', 'webtransport', 'webrtc', 'webrtc-direct', 'wss', 'tls']

@SgtPooki
Copy link
Member

Does enabling tls filter also return tcp tls multiaddr? That should get filtered if tcp is not enabled by js-libp2p but we might want to add !tcp?

@lidel
Copy link
Member Author

lidel commented Oct 25, 2024

@SgtPooki hm.. given protocols we have today, virtually every TLS multiaddr for WSS or HTTPS will be on top of TCP (I don't count UDP HTTP/3 as its not used by anyone in ecosystem today).
If we filter out TCP, we will not have anything left for WS and HTTP to work with.
Not every TCP is TLS, so with filter-addrs=tls we only get browser-safe subset of TCP.

@lidel lidel changed the title fix: support discovery of /tls/sni/../ws providers fix: support discovery of /tls/../ws|http providers Oct 25, 2024
src/lib/get-verified-fetch.ts Outdated Show resolved Hide resolved
@lidel lidel merged commit d848e6c into main Oct 25, 2024
16 checks passed
@lidel lidel deleted the fix-tls-sni-ws branch October 25, 2024 16:15
2color added a commit that referenced this pull request Oct 29, 2024
* fix: remove auto-reload config and default to true (#319)

* fix: remove auto-reload config and default to true

* test: fix ci layout test

* test: fix some playwright tests

* test: fix firefox e2e tests

* test: fix first-hit e2e tests

* chore: code cleanup self review

* deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331)

Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.3)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: build with esbuild, apply source maps (#392)

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: service worker logs are visible again (#395)

* fix: service worker logs are visible again

* chore: self pr suggestion

* fix: remove fonts from dist folder (#394)

* fix: remove fonts from dist folder

* chore: install http-server for playwright

* fix: use more ipfs-sw prefixes (#396)

* fix: use enable from @libp2p/logger (#398)

* feat: add p2p retrieval option (#391)

* feat: add config toggle for p2p retrieval

* deps: add helia and bump verified fetch

* feat: load p2p helia

* chore: remove console.log

* feat: try to make recursive gateways optional

* fixup! feat: add config toggle for p2p retrieval

* chore: aegir lint --fix

* chore: install missing deps

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: gateways null when loading sw

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

* Revert "feat: try to make recursive gateways optional"

This reverts commit eba97a4.

* fix: bug returning an array with 1 el

* ui: improve contrast for disabled toggle

* feat: add granular config options

* test: fix config layout test

* deps: add missing deps

* fix: unused deps

* fix: make toggles smaller

* fix: avoid setting defaults in inputs

* feat: allow a single router for now

* chore: rename to get verified fetch

* feat: reorder config

* feat: add additional title

* fix: break config UI into sections

* chore: output localhost as listening host

* fix: allow multiple routers

see #402

* fix: run validation onblur to allow editing

* fix: log config as string

otherwise it's not viewable in the console

* feat: add ipip-484 filtering to delegated router

* chore: more left padding on input section

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* chore(main): release 1.4.0 (#334)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: support discovery of /tls/../ws|http  providers (#405)

* fix: support direct retrieval from /tls/sni/../ws
* fix: safelist multiaddrs with /tls
* fix: include /tls/../http in addition to /https
* chore: reference someguy issue

---------

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

* chore(main): release 1.4.1 (#407)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* deps: update helia and libp2p (#408)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
SgtPooki added a commit that referenced this pull request Nov 4, 2024
* fix: remove auto-reload config and default to true (#319)

* fix: remove auto-reload config and default to true

* test: fix ci layout test

* test: fix some playwright tests

* test: fix firefox e2e tests

* test: fix first-hit e2e tests

* chore: code cleanup self review

* deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331)

Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.3)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: build with esbuild, apply source maps (#392)

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: service worker logs are visible again (#395)

* fix: service worker logs are visible again

* chore: self pr suggestion

* fix: remove fonts from dist folder (#394)

* fix: remove fonts from dist folder

* chore: install http-server for playwright

* fix: use more ipfs-sw prefixes (#396)

* fix: use enable from @libp2p/logger (#398)

* feat: add p2p retrieval option (#391)

* feat: add config toggle for p2p retrieval

* deps: add helia and bump verified fetch

* feat: load p2p helia

* chore: remove console.log

* feat: try to make recursive gateways optional

* fixup! feat: add config toggle for p2p retrieval

* chore: aegir lint --fix

* chore: install missing deps

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: gateways null when loading sw

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

* Revert "feat: try to make recursive gateways optional"

This reverts commit eba97a4.

* fix: bug returning an array with 1 el

* ui: improve contrast for disabled toggle

* feat: add granular config options

* test: fix config layout test

* deps: add missing deps

* fix: unused deps

* fix: make toggles smaller

* fix: avoid setting defaults in inputs

* feat: allow a single router for now

* chore: rename to get verified fetch

* feat: reorder config

* feat: add additional title

* fix: break config UI into sections

* chore: output localhost as listening host

* fix: allow multiple routers

see https://github.com/ipfs/service-worker-gateway/discussions/402

* fix: run validation onblur to allow editing

* fix: log config as string

otherwise it's not viewable in the console

* feat: add ipip-484 filtering to delegated router

* chore: more left padding on input section

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* chore(main): release 1.4.0 (#334)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: support discovery of /tls/../ws|http  providers (#405)

* fix: support direct retrieval from /tls/sni/../ws
* fix: safelist multiaddrs with /tls
* fix: include /tls/../http in addition to /https
* chore: reference someguy issue

---------

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

* chore(main): release 1.4.1 (#407)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* deps: update helia and libp2p (#408)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: force use of latest multiaddr-to-uri (#409)

* fix: force use of latest multiaddr-to-uri

* chore: don't specify latest multiaddr-to-uri in package.json

* fix: apply dns resolvers corectly (#412)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* deps: update kubo-rpc-client (#417)

* chore: auto-pr workflow for staging/prod PRs

* chore: fix auto-release-pr workflow

* chore: fix auto-release-pr workflow PR titles

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
SgtPooki added a commit that referenced this pull request Nov 13, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

chore: Merge staging into production (#420)

* fix: remove auto-reload config and default to true (#319)

* fix: remove auto-reload config and default to true

* test: fix ci layout test

* test: fix some playwright tests

* test: fix firefox e2e tests

* test: fix first-hit e2e tests

* chore: code cleanup self review

* deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331)

Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.3)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: build with esbuild, apply source maps (#392)

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: service worker logs are visible again (#395)

* fix: service worker logs are visible again

* chore: self pr suggestion

* fix: remove fonts from dist folder (#394)

* fix: remove fonts from dist folder

* chore: install http-server for playwright

* fix: use more ipfs-sw prefixes (#396)

* fix: use enable from @libp2p/logger (#398)

* feat: add p2p retrieval option (#391)

* feat: add config toggle for p2p retrieval

* deps: add helia and bump verified fetch

* feat: load p2p helia

* chore: remove console.log

* feat: try to make recursive gateways optional

* fixup! feat: add config toggle for p2p retrieval

* chore: aegir lint --fix

* chore: install missing deps

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: gateways null when loading sw

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

* Revert "feat: try to make recursive gateways optional"

This reverts commit eba97a4.

* fix: bug returning an array with 1 el

* ui: improve contrast for disabled toggle

* feat: add granular config options

* test: fix config layout test

* deps: add missing deps

* fix: unused deps

* fix: make toggles smaller

* fix: avoid setting defaults in inputs

* feat: allow a single router for now

* chore: rename to get verified fetch

* feat: reorder config

* feat: add additional title

* fix: break config UI into sections

* chore: output localhost as listening host

* fix: allow multiple routers

see #402

* fix: run validation onblur to allow editing

* fix: log config as string

otherwise it's not viewable in the console

* feat: add ipip-484 filtering to delegated router

* chore: more left padding on input section

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* chore(main): release 1.4.0 (#334)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: support discovery of /tls/../ws|http  providers (#405)

* fix: support direct retrieval from /tls/sni/../ws
* fix: safelist multiaddrs with /tls
* fix: include /tls/../http in addition to /https
* chore: reference someguy issue

---------

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

* chore(main): release 1.4.1 (#407)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* deps: update helia and libp2p (#408)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: force use of latest multiaddr-to-uri (#409)

* fix: force use of latest multiaddr-to-uri

* chore: don't specify latest multiaddr-to-uri in package.json

* fix: apply dns resolvers corectly (#412)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* deps: update kubo-rpc-client (#417)

* chore: auto-pr workflow for staging/prod PRs

* chore: fix auto-release-pr workflow

* chore: fix auto-release-pr workflow PR titles

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
SgtPooki added a commit that referenced this pull request Nov 13, 2024
* fix: remove auto-reload config and default to true (#319)

* fix: remove auto-reload config and default to true

* test: fix ci layout test

* test: fix some playwright tests

* test: fix firefox e2e tests

* test: fix first-hit e2e tests

* chore: code cleanup self review

* deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331)

Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.3)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: build with esbuild, apply source maps (#392)

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: service worker logs are visible again (#395)

* fix: service worker logs are visible again

* chore: self pr suggestion

* fix: remove fonts from dist folder (#394)

* fix: remove fonts from dist folder

* chore: install http-server for playwright

* fix: use more ipfs-sw prefixes (#396)

* fix: use enable from @libp2p/logger (#398)

* feat: add p2p retrieval option (#391)

* feat: add config toggle for p2p retrieval

* deps: add helia and bump verified fetch

* feat: load p2p helia

* chore: remove console.log

* feat: try to make recursive gateways optional

* fixup! feat: add config toggle for p2p retrieval

* chore: aegir lint --fix

* chore: install missing deps

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: gateways null when loading sw

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

* Revert "feat: try to make recursive gateways optional"

This reverts commit eba97a4.

* fix: bug returning an array with 1 el

* ui: improve contrast for disabled toggle

* feat: add granular config options

* test: fix config layout test

* deps: add missing deps

* fix: unused deps

* fix: make toggles smaller

* fix: avoid setting defaults in inputs

* feat: allow a single router for now

* chore: rename to get verified fetch

* feat: reorder config

* feat: add additional title

* fix: break config UI into sections

* chore: output localhost as listening host

* fix: allow multiple routers

see #402

* fix: run validation onblur to allow editing

* fix: log config as string

otherwise it's not viewable in the console

* feat: add ipip-484 filtering to delegated router

* chore: more left padding on input section

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* chore(main): release 1.4.0 (#334)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: support discovery of /tls/../ws|http  providers (#405)

* fix: support direct retrieval from /tls/sni/../ws
* fix: safelist multiaddrs with /tls
* fix: include /tls/../http in addition to /https
* chore: reference someguy issue

---------

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

* chore(main): release 1.4.1 (#407)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* deps: update helia and libp2p (#408)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: force use of latest multiaddr-to-uri (#409)

* fix: force use of latest multiaddr-to-uri

* chore: don't specify latest multiaddr-to-uri in package.json

* fix: apply dns resolvers corectly (#412)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* deps: update kubo-rpc-client (#417)

* chore: auto-pr workflow for staging/prod PRs

* chore: fix auto-release-pr workflow

* chore: fix auto-release-pr workflow PR titles

* feat: add blake3 hasher (#421)

* feat: add blake3 hasher

* chore: add comment about code

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* deps(dev): bump rimraf from 5.0.7 to 6.0.1 (#324)

Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.7 to 6.0.1.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](isaacs/rimraf@v5.0.7...v6.0.1)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: release PRs use exact commits and linear history

* chore: attempt to point release branches at tags

* chore: enable workflow dispatch for auto-release-pr

* chore(main): release 1.5.0 (#410)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: replace set-output with GITHUB_OUTPUT

see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/\#examples

* chore: auto-release-pr triggers on new tags

* chore: remove branch check and put tag name in pr

* chore: do not force push to staging or prod on every tag...

* chore: ensure the base branch is set in auto-release-pr

* deps: bump multiformats from 13.3.0 to 13.3.1 (#416)

Bumps [multiformats](https://github.com/multiformats/js-multiformats) from 13.3.0 to 13.3.1.
- [Release notes](https://github.com/multiformats/js-multiformats/releases)
- [Changelog](https://github.com/multiformats/js-multiformats/blob/master/CHANGELOG.md)
- [Commits](multiformats/js-multiformats@v13.3.0...v13.3.1)

---
updated-dependencies:
- dependency-name: multiformats
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* deps(dev): bump kubo from 0.27.0 to 0.31.0 (#390)

Bumps [kubo](https://github.com/ipfs/npm-kubo) from 0.27.0 to 0.31.0.
- [Commits](ipfs/npm-kubo@v0.27.0...v0.31.0)

---
updated-dependencies:
- dependency-name: kubo
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: delegated routing request deduplication and caching

Bumps [@helia/delegated-routing-v1-http-api-client](https://github.com/ipfs/helia-delegated-routing-v1-http-api) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/ipfs/helia-delegated-routing-v1-http-api/releases)
- [Changelog](https://github.com/ipfs/helia-delegated-routing-v1-http-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ipfs/helia-delegated-routing-v1-http-api/compare/@helia/delegated-routing-v1-http-api-client-4.1.1...@helia/delegated-routing-v1-http-api-client-4.2.0)

---
updated-dependencies:
- dependency-name: "@helia/delegated-routing-v1-http-api-client"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(main): release 1.6.0 (#436)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

chore: Merge staging into production (#420)

* fix: remove auto-reload config and default to true (#319)

* fix: remove auto-reload config and default to true

* test: fix ci layout test

* test: fix some playwright tests

* test: fix firefox e2e tests

* test: fix first-hit e2e tests

* chore: code cleanup self review

* deps(dev): bump playwright from 1.45.0 to 1.45.3 (#331)

Bumps [playwright](https://github.com/microsoft/playwright) from 1.45.0 to 1.45.3.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.45.0...v1.45.3)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: build with esbuild, apply source maps (#392)

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: service worker logs are visible again (#395)

* fix: service worker logs are visible again

* chore: self pr suggestion

* fix: remove fonts from dist folder (#394)

* fix: remove fonts from dist folder

* chore: install http-server for playwright

* fix: use more ipfs-sw prefixes (#396)

* fix: use enable from @libp2p/logger (#398)

* feat: add p2p retrieval option (#391)

* feat: add config toggle for p2p retrieval

* deps: add helia and bump verified fetch

* feat: load p2p helia

* chore: remove console.log

* feat: try to make recursive gateways optional

* fixup! feat: add config toggle for p2p retrieval

* chore: aegir lint --fix

* chore: install missing deps

* feat: use esbuild for building

* feat: remove webpack

* test: fix e2e tests

* chore: remove timeout only required on my network

* chore: remove copyfiles

* chore: suggestions from self code review

* fix: gateways null when loading sw

* fix: use code-splitting

* fix: firefox doesn't like ESM service workers

* fix: remove type in sw registration

* feat: add git version into index.html

* Revert "feat: try to make recursive gateways optional"

This reverts commit eba97a4.

* fix: bug returning an array with 1 el

* ui: improve contrast for disabled toggle

* feat: add granular config options

* test: fix config layout test

* deps: add missing deps

* fix: unused deps

* fix: make toggles smaller

* fix: avoid setting defaults in inputs

* feat: allow a single router for now

* chore: rename to get verified fetch

* feat: reorder config

* feat: add additional title

* fix: break config UI into sections

* chore: output localhost as listening host

* fix: allow multiple routers

see #402

* fix: run validation onblur to allow editing

* fix: log config as string

otherwise it's not viewable in the console

* feat: add ipip-484 filtering to delegated router

* chore: more left padding on input section

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

---------

Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* chore(main): release 1.4.0 (#334)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: support discovery of /tls/../ws|http  providers (#405)

* fix: support direct retrieval from /tls/sni/../ws
* fix: safelist multiaddrs with /tls
* fix: include /tls/../http in addition to /https
* chore: reference someguy issue

---------

Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>

* chore(main): release 1.4.1 (#407)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* deps: update helia and libp2p (#408)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* fix: force use of latest multiaddr-to-uri (#409)

* fix: force use of latest multiaddr-to-uri

* chore: don't specify latest multiaddr-to-uri in package.json

* fix: apply dns resolvers corectly (#412)

Co-authored-by: Daniel N <2color@users.noreply.github.com>

* deps: update kubo-rpc-client (#417)

* chore: auto-pr workflow for staging/prod PRs

* chore: fix auto-release-pr workflow

* chore: fix auto-release-pr workflow PR titles

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel N <2color@users.noreply.github.com>
Co-authored-by: Daniel Norman <1992255+2color@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
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.

3 participants