fix: install/uninstall UI state, progress bar, auto-Tor hidden services

- Install progress bar replaces action buttons (no overlay)
- Hide status badge during install/uninstall
- Uninstall keeps progress state until container disappears from WebSocket
- Uninstall RPC timeout increased to 660s (Bitcoin UTXO flush)
- Installing apps appear in My Apps immediately as placeholders
- Auto-configure Tor hidden service for every app on install
- Widen Tor module visibility for install hooks
- Only clear stale install entries on error status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-04-08 09:20:18 +02:00
co-authored by Claude Opus 4.6
parent 5c117f5718
commit 8e094c7ce9
7 changed files with 82 additions and 32 deletions
+3 -2
View File
@@ -75,12 +75,13 @@ export function useAppsActions() {
try {
uninstallingApps.add(appId)
await store.uninstallPackage(appId)
// State update comes via WebSocket — no manual deletion needed
// Don't clear uninstallingApps here — let the WebSocket watcher clear it
// when the container actually disappears from backend data
} catch (err) {
if (import.meta.env.DEV) console.error('Failed to uninstall app:', err)
showActionError(`Failed to uninstall: ${err instanceof Error ? err.message : 'Unknown error'}`)
} finally {
uninstallingApps.delete(appId)
} finally {
uninstalling.value = false
}
}