Skip to content

fix: surface app start/stop/restart failures in the ui#2188

Closed
ryanwaits wants to merge 1 commit into
getumbrel:masterfrom
ryanwaits:fix/surface-app-action-errors
Closed

fix: surface app start/stop/restart failures in the ui#2188
ryanwaits wants to merge 1 commit into
getumbrel:masterfrom
ryanwaits:fix/surface-app-action-errors

Conversation

@ryanwaits

Copy link
Copy Markdown

Problem

When an app fails to start, stop or restart, the tRPC mutation rejects but nothing in the UI listens for it: the mutations in use-app-install.ts have no onError handlers and there's no global mutation error toast. The failure is completely silent. The user just sees the app sitting in whatever state it landed in, with no idea anything went wrong or why (#2175 shows how confusing that gets).

Fix

Show an error toast with the underlying message when start/stop/restart fails, following the existing error toast patterns (factory reset, files uploads). Three new strings in en.json only, assuming the translation workflow picks up the other locales. Happy to adjust if not.

The toast surfaces the failing command rather than a user-level explanation (e.g. "your compose file has invalid YAML"). Getting to that would need error shaping on the umbreld side, which felt out of scope for this change.

toast-failed-3

Testing

Manually in umbrel-dev: broke an installed app's compose file, clicked the app, got "Failed to restart app" with the failing command as the description. The toast is selectable for copying, which the toaster's styling already anticipates.

Caveat

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

Pairs with #2187, which makes the app land in a recoverable state when this happens. The two are independent; either stands alone.

Failed app lifecycle mutations were silently swallowed: the tRPC
mutation rejects but no onError handler existed, so users got no
feedback when an app failed to start, stop or restart (e.g. after
editing its compose file by hand). Show an error toast with the
underlying message, following the existing error toast patterns.
@lukechilds

lukechilds commented Jul 10, 2026

Copy link
Copy Markdown
Member

Merged, same as #2187 (comment). Thanks!

@lukechilds lukechilds closed this Jul 10, 2026
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.

2 participants