Today's 13:17 sweep (run 1151) failed in the signal step: TypeError: 'NoneType' object is not iterable. It was the first day a signal issue reached its 7-day measuring window, so the first time the sweep read an issue's reactions. Gitea answers an issue nobody reacted to with null, not [], and paged() did out += batch.
housekeeping.py: paged() takes a null page as empty.
test_housekeeping.py: the fake forge answers no reactions with null, as Gitea does. Without the fix test_signals fails exactly as production did; with it, all 6 pass.
CHANGELOG entry (placed so it doesn't cross #181's).
Branches and milestones were unaffected (9 branches pruned today). Tomorrow's sweep will close the signal issues past their window that have no signups.
Today's 13:17 sweep (run 1151) failed in the signal step: `TypeError: 'NoneType' object is not iterable`. It was the first day a signal issue reached its 7-day measuring window, so the first time the sweep read an issue's reactions. Gitea answers an issue nobody reacted to with `null`, not `[]`, and `paged()` did `out += batch`.
- `housekeeping.py`: `paged()` takes a null page as empty.
- `test_housekeeping.py`: the fake forge answers no reactions with `null`, as Gitea does. Without the fix `test_signals` fails exactly as production did; with it, all 6 pass.
- CHANGELOG entry (placed so it doesn't cross #181's).
Branches and milestones were unaffected (9 branches pruned today). Tomorrow's sweep will close the signal issues past their window that have no signups.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_017K4vyY3yUD3GsvoZaAtKkD
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Today's 13:17 sweep (run 1151) failed in the signal step:
TypeError: 'NoneType' object is not iterable. It was the first day a signal issue reached its 7-day measuring window, so the first time the sweep read an issue's reactions. Gitea answers an issue nobody reacted to withnull, not[], andpaged()didout += batch.housekeeping.py:paged()takes a null page as empty.test_housekeeping.py: the fake forge answers no reactions withnull, as Gitea does. Without the fixtest_signalsfails exactly as production did; with it, all 6 pass.Branches and milestones were unaffected (9 branches pruned today). Tomorrow's sweep will close the signal issues past their window that have no signups.
🤖 Generated with Claude Code
https://claude.ai/code/session_017K4vyY3yUD3GsvoZaAtKkD