Skip to content

Apply ignore/whitelist list to hint notifications - #238

Merged
wrjones104 merged 1 commit into
mainfrom
fix/hint-notifications-respect-ignore-list
Aug 4, 2026
Merged

Apply ignore/whitelist list to hint notifications#238
wrjones104 merged 1 commit into
mainfrom
fix/hint-notifications-respect-ignore-list

Conversation

@wrjones104

Copy link
Copy Markdown
Owner

Summary

Follow-up to #233. A user reported still getting push notifications for
ignored items after the ignore/whitelist work merged. Investigated and found
a genuine gap: the poller's hint notification path never consulted the
ignore list.

The item-notification path and the history views (both item and hint) all
evaluate ignore/whitelist rules, but the hint notification loop only
checked snooze, finished-slot, hint-type prefs, and backfill. So a hint for
an ignored item was correctly hidden from the hint history view yet still
fired a push — exactly the reported symptom.

Fix

  • Evaluate each hint against the item owner's game/checksum (the hinted
    item belongs to the item owner), via the same evaluate_item_filter_status
    used by the item-notification and history paths. This keeps notifications
    consistent with the hint history view and resolves item-group rules against
    the correct datapackage version.
  • Broaden the poll batch's group-membership lookup to include hint
    item-owner checksums, not just received-item checksums.
  • Whitelist still takes precedence (a whitelisted item is never suppressed);
    this only adds suppression, it does not force-notify hints that prefs
    disabled.

Verification

Tested against live dev data (Autopelago room, "Special Rats" group ignored):

Pizza Rat  -> SUPPRESS hint  (Special Rats)
Chef Rat   -> SUPPRESS hint  (Special Rats)
Pack Rat   -> send hint      (not a member — correct)

Test plan

  • New test_group_ignore_is_reflected_in_hint_history covers the hint
    history isIgnored flag (the shared computation)
  • Existing test_history_ignore_filtering suite still passes (6 tests)
  • test_history_sync_cursor, test_threshold_reconciliation,
    test_whats_new pass
  • Live: restart poller, let a Special Rats hint arrive from an untracked
    slot, confirm no push

🤖 Generated with Claude Code

The hint notification path in the poller checked snooze, finished-slot,
hint-type prefs, and backfill, but never consulted the user's ignore list.
The hint *history* view (process_hints_for_user) does compute isIgnored, so
a hint for an ignored item was hidden in history yet still fired a push
notification — matching a user report of "still getting notified for ignored
items."

Evaluate each hint against the item owner's game/checksum (the hinted item
belongs to the item owner), using the same evaluate_item_filter_status the
item-notification and history paths use, so item-group rules resolve against
the correct datapackage version. Broaden the batch's group-membership lookup
to include hint item-owner checksums as well.

Verified against live dev data: hints for Special Rats members (Pizza Rat,
Chef Rat) now suppress; non-members (Pack Rat) still notify.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@wrjones104
wrjones104 merged commit 8a8584a into main Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant