mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 07:15:47 +00:00
feat(app): top-level error boundary so a render error no longer blanks the app (#1194)
* feat(app): add a top-level error boundary so a render error no longer blanks the app Until now any thrown error during render took the whole window down with no recovery (issue #382). A class ErrorBoundary around the authenticated shell catches it and shows a recoverable fallback (Try again / Reload app) while playback keeps going. Hook-free + English-only with literal CSS var() fallbacks so it renders even when i18n/theme/state is what broke. * docs(changelog): error boundary prevents the app blanking on a render error (PR #1194)
This commit is contained in:
+6
-3
@@ -32,6 +32,7 @@ import { useMigrationOrchestrator } from '../hooks/useMigrationOrchestrator';
|
||||
import { IS_WINDOWS } from '../utils/platform';
|
||||
import TauriEventBridge from './TauriEventBridge';
|
||||
import AppShell from './AppShell';
|
||||
import ErrorBoundary from '../components/ErrorBoundary';
|
||||
import BlockingMigrationGate from './BlockingMigrationGate';
|
||||
import RequireAuth from './RequireAuth';
|
||||
import { useMigrationStore } from '../store/migrationStore';
|
||||
@@ -191,9 +192,11 @@ export default function MainApp() {
|
||||
path="/*"
|
||||
element={
|
||||
<RequireAuth>
|
||||
<DragDropProvider>
|
||||
<AppShell />
|
||||
</DragDropProvider>
|
||||
<ErrorBoundary>
|
||||
<DragDropProvider>
|
||||
<AppShell />
|
||||
</DragDropProvider>
|
||||
</ErrorBoundary>
|
||||
</RequireAuth>
|
||||
}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user