mirror of
https://github.com/rommapp/romm.git
synced 2026-06-28 14:56:01 +00:00
- main.py: await the cancelled log-forwarder task (suppressing CancelledError) so its pubsub/lock cleanup finishes before shutdown. - forwarder: only heartbeat the Redis lock while we still own it; if a stall let another worker take it, relinquish forwarding to avoid duplicate lines (the outer loop re-contends). - endpoints/logs.py: derive MAX_LOG_LIMIT from LOG_BUFFER_SIZE so the REST backfill never drifts from the producer's ring buffer. - Logs.vue: append the download <a> to the DOM before click() (matches the Patcher pattern) for cross-browser reliability. - Add tests/endpoints/test_logs.py: non-admin 403, limit clamping to [1, MAX_LOG_LIMIT], oldest-first ordering, and malformed-entry skip. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>