Return retryable event response for malformed Gitea activity feed payload #107

Closed
opened 2026-08-06 13:16:06 +00:00 by rockachopa · 0 comments
Member

Evidence: activity_events() currently iterates any truthy upstream payload. If Gitea returns an error object such as {"message":"upstream shape changed"}, the object keys are skipped and /api/v1/events incorrectly responds 200 [], presenting an upstream contract failure as no activity.

Acceptance: reject non-list, non-null activity feed payloads so the existing endpoint error boundary returns a retryable 503; preserve list and null handling. Add a behavioral regression test first.

Evidence: `activity_events()` currently iterates any truthy upstream payload. If Gitea returns an error object such as `{"message":"upstream shape changed"}`, the object keys are skipped and `/api/v1/events` incorrectly responds `200 []`, presenting an upstream contract failure as no activity. Acceptance: reject non-list, non-null activity feed payloads so the existing endpoint error boundary returns a retryable 503; preserve list and null handling. Add a behavioral regression test first.
timmy was assigned by rockachopa 2026-08-06 13:16:06 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#107
No description provided.