All checks were successful
CI / Scraper / Test (pull_request) Successful in 14s
CI / UI / Build (pull_request) Successful in 17s
CI / UI / Docker Push (pull_request) Has been skipped
CI / Scraper / Lint (pull_request) Successful in 21s
CI / Scraper / Docker Push (pull_request) Has been skipped
iOS CI / Build (pull_request) Successful in 8m22s
iOS CI / Test (pull_request) Successful in 12m35s
The sed-based collection id and fields extraction was greedy and broke on collections with multiple fields (grabbed the last field id instead of the top-level collection id → PATCH to wrong URL → 404). Rewrite ensure_field to use python3 for reliable JSON parsing. Also adds the missing heartbeat_at (date) field to scraping_tasks and audio_jobs which was never applied on the initial deploy because the bug prevented the PATCH.