5c50db670483e4806cab537bcffa8de8ac20467e
Realtime em ambiente self-hosted às vezes perde eventos (WebSocket desconecta silenciosamente, JWT expira, sleep do SO, etc). Sem fallback, system_alert chega no DB mas toast nunca dispara — usuário só vê ao relogar ou recarregar. Três caminhos complementares agora: 1. Realtime (instantâneo, quando funciona) 2. visibilitychange — ao voltar pro foco da aba, recarrega notificações e dispara toast pras system_alert não-lidas ainda não exibidas 3. Polling a cada 60s como redundância Set alertedIds (in-memory por sessão) evita toast duplicado quando dois caminhos entregam a mesma notif. Seed inicial marca notifs já lidas/ arquivadas no mount pra não disparar retroativamente. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sakai is an application template for Vue based on the create-vue, the recommended way to start a Vite-powered Vue projects.
Visit the documentation to get started.
Description
Languages
Vue
61.3%
PLpgSQL
17.4%
JavaScript
16%
HTML
2.7%
TypeScript
2.3%
Other
0.3%