fix(rendering): handle empty supabase array safely and speed up splash screen
This commit is contained in:
@ -44,22 +44,26 @@ onMounted(async () => {
|
||||
showLoading.value = true
|
||||
loadingVisible.value = true
|
||||
|
||||
// Short timeout for safety - app should be ready way before this
|
||||
const initTimeout = setTimeout(() => {
|
||||
// Timeout logic
|
||||
const initTimeout = setTimeout(async () => {
|
||||
console.warn('Initialization taking too long, forcing navigation...')
|
||||
statusMessage.value = 'Iniciando de todas formas...'
|
||||
navigate(null, true)
|
||||
}, 3000)
|
||||
try {
|
||||
const resp = await supabase.auth.getSession()
|
||||
navigate(resp.data.session)
|
||||
} catch {
|
||||
navigate()
|
||||
}
|
||||
}, 4000)
|
||||
|
||||
try {
|
||||
// Start all tasks in parallel: Session check + Data loading
|
||||
const [sessionData] = await Promise.all([
|
||||
supabase.auth.getSession(),
|
||||
performInitializationTasks()
|
||||
])
|
||||
// Start map background initialization without waiting
|
||||
performInitializationTasks()
|
||||
|
||||
const resp = await supabase.auth.getSession()
|
||||
|
||||
clearTimeout(initTimeout)
|
||||
navigate(sessionData.data.session)
|
||||
navigate(resp.data.session)
|
||||
} catch (error) {
|
||||
console.error('Initialization failed', error)
|
||||
clearTimeout(initTimeout)
|
||||
|
||||
Reference in New Issue
Block a user