feat(robin): M1 System Presence — journald/kmsg/inotify watcher, pattern classifier, tray badge, chat panel #2
1 changed files with 8 additions and 5 deletions
|
|
@ -46,13 +46,16 @@ const messagesEl = ref<HTMLElement | null>(null)
|
|||
let unlisten: UnlistenFn | null = null
|
||||
|
||||
onMounted(async () => {
|
||||
// Drain any events that fired while the panel was closed
|
||||
const pending = await invoke<RobinEvent[]>('get_pending_events')
|
||||
for (const e of pending) {
|
||||
pushRobinEvent(e)
|
||||
try {
|
||||
const pending = await invoke<RobinEvent[]>('get_pending_events')
|
||||
for (const e of pending) {
|
||||
pushRobinEvent(e)
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('Robin: failed to drain pending events:', err)
|
||||
}
|
||||
|
||||
// Listen for live events while panel is open
|
||||
// Always set up the live listener, even if drain failed
|
||||
unlisten = await listen<RobinEvent>('robin:event', ({ payload }) => {
|
||||
pushRobinEvent(payload)
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in a new issue