Curated catalog apps could be installed, stopped, and force-reinstalled, but never removed — the only path off a device was manual docker + DB surgery. Custom apps already had delete; this adds the equivalent for curated apps. POST /api/system/services/uninstall stops and removes the app's container (optionally its image, same best-effort semantics as custom app delete) and flips the record back to not-installed so the card returns to the available catalog. Host bind-mount data is deliberately left on disk, so a later reinstall picks the app back up where it left off — unlike force-reinstall, which clears volumes. Guards: custom apps are rejected (use delete), dependency services are rejected, and uninstalling a not-installed app is a 409. UI: installed curated cards get an Uninstall action in the card menu, with a confirm modal that explains data is preserved and offers the same remove-image checkbox as custom app delete. |
||
|---|---|---|
| .. | ||
| docs | ||
| easy-setup | ||
| errors | ||
| settings | ||
| about.tsx | ||
| chat.tsx | ||
| home.tsx | ||
| maps.tsx | ||
| supply-depot.tsx | ||