mirror of
https://github.com/soxoj/maigret.git
synced 2026-08-17 19:25:41 +02:00
extract_ids_from_page() has the same bug #2907 fixed in checking.py::parse_usernames(). "username" is itself in SUPPORTED_IDS, so the `if k in SUPPORTED_IDS` loop stores a bare `username` value directly, bypassing the is_plausible_username() guard that extract_usernames() applies in its own separate pass. A URL or email returned by socid_extractor under a bare `username` key therefore becomes a recursive search target via `maigret --parse-url`, reproducing the #1403 false-error cascade. Skip keys containing "username" in the SUPPORTED_IDS loop; those are already owned (and validated) by extract_usernames(). Every other SUPPORTED_ID (gaia_id, vk_id, orcid, ...) is unaffected since none of those keys contain "username". Add regression tests for the bare `username` key with a URL value and for the unchanged handling of other supported IDs. Closes #2911