diff --git a/VERSION b/VERSION
index f2254f4..daba2a9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.69
+1.2.70
diff --git a/management-ui/src/App.tsx b/management-ui/src/App.tsx
index f6d5b7e..7e2548f 100644
--- a/management-ui/src/App.tsx
+++ b/management-ui/src/App.tsx
@@ -1,5 +1,6 @@
import { Suspense, lazy, useEffect, type ReactNode } from 'react'
import { BrowserRouter, Navigate, Route, Routes, useLocation } from 'react-router-dom'
+import ErrorBoundary from './components/ErrorBoundary'
import { ConfigProvider, Spin } from 'antd'
import deDE from 'antd/locale/de_DE'
import enUS from 'antd/locale/en_US'
@@ -110,6 +111,7 @@ export default function App() {
+
}>
useAuthStore.getState().set(u)} />} />
@@ -148,9 +150,17 @@ export default function App() {
} />
+
)
}
+
+// Resets the ErrorBoundary on every route change so a render error on
+// one page never permanently blocks navigation to another page.
+function LocationKeyBoundary({ children }: { children: ReactNode }) {
+ const { pathname } = useLocation()
+ return {children}
+}