Notification pipeline hardening: watchdog coverage, grid re-attach,...
Facebook Messenger on your desktop, without the Facebook clutter
Brought to you by:
kristoffer-r
Originally created by: kristofferR
Four verified weaknesses in the notification pipeline (inject/src/messenger/features/notifications.ts, selector-health.ts):
'[role="navigation"] [role="grid"]' the scanner requires to start, so the scanner can be dead while the watchdog stays green — the silent "badge but no banner" mode. The aria-labels five other features key on are not watched at all.waitForGrid disconnects after the first match and never re-attaches if React replaces the grid element; the MutationObserver then watches a detached node forever. A cheap grid.isConnected check in the poll would self-heal.inspect() ignores characterData mutation targets (Text nodes — exactly how React applies in-place preview updates), starving the arrival tracker's row-change correlation.threadPath in the carrier:notify payload would let the native side route clicks after any reload.Ref [#80].
Originally posted by: kristofferR
Fixed in [#137]. The scanner re-attaches when React swaps out the conversation grid, observes childList/characterData mutations, keeps a backed-off safety poll as a watchdog, and routes notification clicks across reloads via the native route map.
Related
Tickets:
#137Ticket changed by: kristofferR