Skip to content

fix: link app dependencies to their community app store - #2195

Open
ryanwaits wants to merge 1 commit into
getumbrel:masterfrom
ryanwaits:fix/community-store-dependency-links
Open

fix: link app dependencies to their community app store#2195
ryanwaits wants to merge 1 commit into
getumbrel:masterfrom
ryanwaits:fix/community-store-dependency-links

Conversation

@ryanwaits

Copy link
Copy Markdown

Problem

On a community app store's app page, the Requires section links every dependency to /app-store/<id>. When the dependency lives in that community store, the route has no app and lands on the error boundary. The Install button in the dependency selection dialog has the same hardcoded path. There's an existing TODO acknowledging it, but it points at getAppStoreAppFromInstalledApp, which was removed in 4cf8ec3.

Fixes #2194

Fix

Add a getAppStoreLink helper to app-store/utils.ts that routes community store apps to /community-app-store/<storeId>/<appId> and everything else to the official route, using the appStoreId the registry already hydrates onto every app. It's the same branch the desktop context menu's "go to store page" already does in app-icon.tsx. Both dependency surfaces now use it. The dialog falls back to the official route when the app isn't present in any store anymore (e.g. a removed community app store), which preserves current behavior. Official-store dependencies produce identical paths, so nothing changes there.

dep-links-dialog-community

Testing

Manually in umbrel-dev with a local community app store containing two apps where one depends on the other:

  • Community app page: Requires links now point to /community-app-store/example-store/example-store-service and open a working app page. Before the fix they pointed to /app-store/example-store-service and landed on "Something went wrong".
  • Dependency dialog: the Install button for the community dependency routes the same way.
  • No change for official store apps: Lightning Node's Requires links and dialog Install button still point to /app-store/bitcoin and work. Selecting an alternative in the dialog (Bitcoin Knots) links to /app-store/bitcoin-knots correctly.

Caveat

Tested in the umbrel-dev VM (Docker/macOS), not on real umbrelOS hardware.

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.

Community app dependency links use the official store route

1 participant