Menu ▾ ▴

#45 Selector health checks + gated debug logging for injected scripts

closed
nobody
2026-07-04
2026-07-03
Anonymous
No

Originally created by: kristofferR

Everything user-facing (badge, notifications, blur, shortcuts) rests on ~71 querySelector/aria-label call sites plus geometry heuristics in `inject/messenger.js`, mostly wrapped in `.catch(() => {})` — when Facebook ships new markup, features die silently.

  • Centralize FB DOM selectors into one registry with per-feature "did this match anything?" health counters.
  • Add a gated `CARRIER_DEBUG` logger (off by default).
  • Surface a one-time toast when a core selector stays dry for N minutes ("a Messenger update may have broken X — check for updates").

This creates the fix-fast loop: a user report maps directly to the selector that died.

Related

Tickets: #59
Tickets: #62

Discussion

  • Anonymous

    Anonymous - 2026-07-04

    Originally posted by: kristofferR

    Done in [#62]: selector-health watch over the core selectors with a one-time user-facing toast, plus the rate-limited diag() reporter feeding the native log. Full migration of every selector call site to the registry rides with the inject toolchain (#48).

     

    Related

    Tickets: #62

  • Anonymous

    Anonymous - 2026-07-04

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.