Enhance development workflow and deployment practices for Archipelago

- Updated the Development-Workflow documentation to clarify deployment strategy, emphasizing direct deployment to the live system for testing.
- Added detailed instructions for the deployment command, including syncing code, building frontend and backend, and restarting services.
- Improved SSH key management section to assist with authentication issues.
- Expanded the testing workflow to include steps for checking logs and syncing changes back to the ISO build.
- Updated the ISO build integration section to ensure system-level changes are captured for future builds.
- Refactored various sections for clarity and completeness, including deployment paths and system configuration files.
This commit is contained in:
Dorian
2026-02-01 13:24:03 +00:00
parent 00d1af12f0
commit 34fc06726e
28 changed files with 1248 additions and 285 deletions
+27
View File
@@ -74,6 +74,18 @@ export const useAppStore = defineStore('app', () => {
if (!isWsSubscribed) {
// Subscribe to updates BEFORE connecting (so we catch initial data)
isWsSubscribed = true
// Listen for connection state changes
wsClient.onConnectionStateChange((connected) => {
console.log('[Store] WebSocket connection state changed:', connected)
isConnected.value = connected
if (!connected) {
isReconnecting.value = true
} else {
isReconnecting.value = false
}
})
wsClient.subscribe((update: any) => {
// Handle mock backend format: {type: 'initial', data: {...}}
if (update?.type === 'initial' && update?.data) {
@@ -107,14 +119,29 @@ export const useAppStore = defineStore('app', () => {
}
// Now connect (or reconnect if already connected)
// Only attempt to connect if not already connected
if (wsClient.isConnected()) {
console.log('[Store] WebSocket already connected')
isConnected.value = true
isReconnecting.value = false
return
}
await wsClient.connect()
console.log('[Store] WebSocket connected')
// Connection state will be updated via the callback
if (wsClient.isConnected()) {
isConnected.value = true
isReconnecting.value = false
}
} catch (err) {
console.error('[Store] WebSocket connection failed:', err)
// Don't mark as disconnected immediately - let reconnection logic handle it
// The WebSocket client will retry automatically
isReconnecting.value = true
isConnected.value = false
// Don't throw - allow app to work without real-time updates
// The WebSocket will reconnect in the background
}