Merged
Conversation
pablomendezroyo
requested changes
Feb 23, 2026
| dependencies: labels.dependencies || {}, | ||
| avatarUrl: labels.avatar ? multiaddressToIpfsGatewayUrl(labels.avatar) : "", | ||
| avatarUrl: labels.avatar | ||
| ? labels.avatar.startsWith("http") ? labels.avatar : multiaddressToIpfsGatewayUrl(labels.avatar) |
Contributor
There was a problem hiding this comment.
Does this mean that if the avatar is the mirror URL then use it otherwise behave as usual but for IPFS? if it is like that it sounds like a big assumption, is there other more generic workaround?
Otherwise leave a comment at least
gets avatars URL from mirror too
refactor repository
`DappnodeContentProvider` component
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 pull request introduces a new HTTP mirror provider for DAppNode package content, enabling faster and more efficient access to package files via a configurable mirror. It also updates environment configuration, improves avatar URL fallback logic throughout the codebase, and adds support for mirror-based package data retrieval. The changes are grouped below by theme:
Mirror Provider Integration
HttpMirrorProviderimplementation inmirrorProvider.tsto support fetching and streaming package files from a mirror, including progress tracking and error handling.types.ts, specifying methods for listing files, fetching files, streaming files, and building URLs.utils.tsfor CID normalization and progress rounding.Configuration and Environment
CONTENT_MIRROR_BASE_URL,CONTENT_MIRROR_TIMEOUT_MS,CONTENT_MIRROR_MAX_BYTES) toparams.tsand bothdocker-composefiles, allowing mirror provider configuration via environment. [1] [2] [3]Installer and Package Data Enhancements
DappnodeInstallerto accept mirror provider configuration and added a new methodgetPackageDataForListingfor fast mirror-based package data retrieval, bypassing IPFS and signature verification. [1] [2]downloadImages.tsto support writing files using mirror provider parameters.Avatar URL Fallback Improvements
fetchDirectory.ts,fetchRegistry.ts,fetchDnpRequest.ts,getOptimismConfig.ts,stakerComponent.ts) to ensure avatars are always available, using mirror URLs, manifest URLs, or empty string as needed. [1] [2] [3] [4] [5] [6] [7]Manifest Data Extension
packageGetData.tsto includeavatarUrlfor richer package metadata.These changes collectively enable mirror-based content retrieval, improve package listing performance, and ensure robust avatar handling throughout the DAppNode ecosystem.