mirror of
https://github.com/Donkie/Spoolman.git
synced 2026-10-22 01:52:17 -05:00
The relay debounced on (uid, reader_id) and time alone, so a scan whose match had changed looked like a duplicate of one that resolved to nothing. An agent that taps an unlinked tag, links it in its own UI, then re-reports the scan had its correction swallowed for the whole 3 s window, leaving every subscriber that trusts the broadcast still showing an unknown tag. The key now includes matched_spool_id, so a repeat is only a repeat while the scan still resolves to the same thing. Repeats of a still-unlinked tag keep collapsing on (uid, reader, None), which is the reason the debounce exists. should_broadcast takes the match as a required argument rather than an optional one so a future call site cannot quietly drop it again. Fixes #1115