662a240b05
A re-scan of an already-approved device created a fresh pending row each time (the upsert only matched status=pending), so one device could show several times in the inventory. Now the scanner keeps one non-hidden row per IP, refreshing it in place and preserving an approved status, and collapses any pre-existing duplicates at scan start. ha-relevant: maybe