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:
co-authored by
Claude Opus 4.6
parent
5c117f5718
commit
8e094c7ce9
@@ -57,16 +57,21 @@ export const useServerStore = defineStore('server', () => {
|
||||
}
|
||||
}
|
||||
// Clear installingApps entries for apps that vanished from backend data
|
||||
// (container was removed, install failed and was cleaned up, etc.)
|
||||
// Only clean up entries that have errored — active installs may take minutes to pull images
|
||||
for (const [appId] of installingApps.value) {
|
||||
if (packages && !(appId in packages)) {
|
||||
const entry = installingApps.value.get(appId)
|
||||
if (entry && entry.attempt > 30) {
|
||||
// App has been "installing" for 30+ seconds but backend doesn't know about it — failed
|
||||
if (entry && entry.status === 'error') {
|
||||
installingApps.value.delete(appId)
|
||||
}
|
||||
}
|
||||
}
|
||||
// Clear uninstallingApps when the container disappears from backend data
|
||||
for (const appId of uninstallingApps.value) {
|
||||
if (packages && !(appId in packages)) {
|
||||
uninstallingApps.value.delete(appId)
|
||||
}
|
||||
}
|
||||
}, { deep: true })
|
||||
|
||||
function setInstallProgress(appId: string, progress: Partial<InstallProgress> & { id: string; title: string }) {
|
||||
|
||||
Reference in New Issue
Block a user