- Remove vite-plugin-pwa and all service worker code. The app no longer registers a service worker; legacy SWs are unregistered on load. - Move snapshot parsing (thousands of sync Path.exists() calls) into a thread pool via asyncio.to_thread() so the health check responds immediately on startup. - Wrap aiopathlib AsyncPath.iterdir() (sync os.scandir under the hood) in asyncio.to_thread() in scanner and scanning modules so directory walks do not monopolize the event loop.
24 lines
813 B
TypeScript
24 lines
813 B
TypeScript
import { createApp } from 'vue'
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
import './styles/main.css'
|
|
import { installKeyboardNavigation } from './composables/useKeyboardNavigation'
|
|
import { installGamepadNavigation } from './composables/useGamepadNavigation'
|
|
import { installInputModalityTracking } from './composables/useInputModality'
|
|
|
|
// Install global keyboard navigation handlers immediately
|
|
installInputModalityTracking()
|
|
installKeyboardNavigation()
|
|
installGamepadNavigation()
|
|
|
|
// Unregister any legacy service workers — MediaHive no longer uses a PWA/SW.
|
|
if ('serviceWorker' in navigator) {
|
|
navigator.serviceWorker.getRegistrations().then((registrations) => {
|
|
for (const registration of registrations) {
|
|
registration.unregister()
|
|
}
|
|
})
|
|
}
|
|
|
|
createApp(App).use(router).mount('#app')
|