feat(files): resolve paths before inspect and support protocol URL - #2465
Merged
Conversation
the Inspect button now resolves `/ipns/` paths to `/ipfs/` CIDs before passing them to the IPLD explorer, which cannot parse IPNS names directly. shows loading state during resolution and displays error message if resolution fails.
- add normalizeToPath helper to convert protocol URLs to paths - update validation to accept ipfs:// and ipns:// URL inputs - use ipfs.resolve for all paths (not just IPNS) to get final CID - preserve full paths when browsing (Files handles IPNS natively) - rename translation key to inspectResolveFailed for clarity - fix grid view stealing focus from text inputs
- preserve subpaths when resolving IPNS paths (e.g., /ipns/name/subdir/file) - catch and display IPNS resolution errors instead of crashing - fix path mismatch causing blank page when navigating IPNS paths - add error display on FileNotFound page
- replace generic troubleshooting tips with actionable links - add links to DAG Explorer, Retrieval Diagnostics, and forums - show "search the web" tip only when error message is present - use Box component and match app styling patterns
This was referenced Jan 23, 2026
Closed
Contributor
Author
|
Triage: land #2466 first |
- add e2e tests for Browse and Inspect buttons using inlined CID - add browseButton locator for explore form - remove debug console.warn from FilesPage - add i18n for error prefix in file-not-found component
lidel
force-pushed
the
feat/inspect-ipns-resolve
branch
from
January 26, 2026 19:14
29391dd to
587a299
Compare
- invalid CID shows validation error (client-side check, red outline) - invalid IPNS name shows error state (daemon-side DNSLink lookup)
lidel
force-pushed
the
feat/inspect-ipns-resolve
branch
from
January 26, 2026 19:21
587a299 to
c82047f
Compare
lidel
marked this pull request as ready for review
January 26, 2026 19:25
ipfs-gui-bot
pushed a commit
that referenced
this pull request
Feb 5, 2026
## [4.11.0](v4.10.0...v4.11.0) (2026-02-05) CID `bafybeidfgbcqy435sdbhhejifdxq4o64tlsezajc272zpyxcsmz47uyc64` --- ### Features * Add search/filter functionality to Files UI ([#2451](#2451)) ([c866be6](c866be6)), closes [#2447](#2447) * DHT Provide Sweep Diagnostic Screen ([#2463](#2463)) ([fb22ea6](fb22ea6)) * **files:** resolve paths before inspect and support protocol URL ([#2465](#2465)) ([74a44d8](74a44d8)) * **files:** support additional image file extensions ([#2347](#2347)) ([371341a](371341a)) ### Bug Fixes * **ci:** test stability improvements ([#2466](#2466)) ([d11475a](d11475a)) * CLI tutor commands missing some parameters ([#2470](#2470)) ([ed8ad6a](ed8ad6a)) * **diagnostics:** handle Go zero time in DHT provide screen ([dc51cd4](dc51cd4)) * **files:** not found page ([#2455](#2455)) ([18b9b0d](18b9b0d)) * show proper error state in import notifications ([#2452](#2452)) ([391470e](391470e)), closes [#2448](#2448) ### Trivial Changes * **ci:** skip publishPreview for dependabot PRs ([17f675e](17f675e)) * pull new translations ([#2467](#2467)) ([cc569f4](cc569f4)) * pull transifex translations ([#2464](#2464)) ([8d7a17f](8d7a17f))
Collaborator
|
🎉 This PR is included in version 4.11.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This was referenced Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR fixes various papercuts around putting URIs and IPNS paths into webui/desktop app, and not getting useful error, just blank screen or infinite spinner.
Changes
/ipfs/and/ipns/paths to their final CID before opening IPLD Exploreripfs://andipns://protocol URLs (auto-converted to paths)ipfs://andipns://URLsipfs.resolvewithrecursive: truefor all paths on InspectTest
Good path
/ipns/cid.ipfs.tech/assetsand click Inspect - resolves to final CIDipfs://bafy...- validates and works with both buttonsError paths
/ipns/cid.ipfs.tech/404and click Browse → 404 error/ipns/google.comand click Browse → missing DNSLink errorImproved generic error for 404 and other error paths
Nothing was displayed on error paths before.
Added basic UI, PRs welcome to improve it, for now it looks like this: