[✨] Added better error handling at boot
This commit is contained in:
parent
cb1fad676f
commit
9f3b53248f
1 changed files with 12 additions and 8 deletions
|
|
@ -31,6 +31,8 @@ class Flow {
|
||||||
window.fs.promises.readdir('/Applications').then((list) => {
|
window.fs.promises.readdir('/Applications').then((list) => {
|
||||||
list.forEach((file) => {
|
list.forEach((file) => {
|
||||||
window.fs.promises.readFile('/Applications/' + file).then(content => {
|
window.fs.promises.readFile('/Applications/' + file).then(content => {
|
||||||
|
if (!content.toString().endsWith('.js')) return
|
||||||
|
if (content.toString() === '') return
|
||||||
this.appList.push(`data:text/javascript;base64,${btoa(content.toString())}`)
|
this.appList.push(`data:text/javascript;base64,${btoa(content.toString())}`)
|
||||||
}).catch((e) => console.error(e))
|
}).catch((e) => console.error(e))
|
||||||
})
|
})
|
||||||
|
|
@ -55,16 +57,18 @@ class Flow {
|
||||||
for (const appPath of this.appList) {
|
for (const appPath of this.appList) {
|
||||||
window.preloader.setStatus(`importing appstore apps\n${appPath}`)
|
window.preloader.setStatus(`importing appstore apps\n${appPath}`)
|
||||||
|
|
||||||
const { default: ImportedApp } = await import(/* @vite-ignore */ appPath).catch(async (e: Error) => {
|
try {
|
||||||
|
const { default: ImportedApp } = await import(appPath)
|
||||||
|
const app = new ImportedApp()
|
||||||
|
app.builtin = false
|
||||||
|
app.meta.icon = app.meta.icon ?? nullIcon
|
||||||
|
|
||||||
|
this.addApp(app)
|
||||||
|
} catch (e: any) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
await window.preloader.setError('apps')
|
await window.preloader.setError('apps')
|
||||||
window.preloader.setStatus(`unable to import ${appPath}\n${e.name}: ${e.message}`)
|
window.preloader.setStatus(`unable to import ${appPath}\n${(e as Error).name}: ${(e as Error).message}`)
|
||||||
})
|
}
|
||||||
const app = new ImportedApp()
|
|
||||||
app.builtin = false
|
|
||||||
app.meta.icon = app.meta.icon ?? nullIcon
|
|
||||||
|
|
||||||
this.addApp(app)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue