Make mobile pull review loading bounded, concurrent, and retryable #127

Closed
opened 2026-08-06 18:21:42 +00:00 by timmy · 0 comments
Owner

Problem

Opening a requested review currently performs authorization and detail retrieval in serialized waves, can consume two separate five-second budgets, and leaves mobile users with no in-place recovery action when Gitea is slow.

Scope

  • authorize with the dedicated review-request search instead of loading assigned pull requests too
  • fetch files, status, reviews, and bounded diff concurrently after loading the pull head
  • enforce one five-second endpoint deadline with retryable 503 and Retry-After
  • add an inline mobile Retry action that reloads the same review while preserving commit-keyed progress

Acceptance

  • independent post-head requests overlap under a deterministic async test
  • unauthorized pulls remain 404
  • the complete endpoint times out once, returns no-store 503 plus Retry-After, and cancels pending work
  • retry reloads the selected review in place and existing progress remains available
  • focused and full test suites pass

This is distinct from #121/#123/#125, which delivered read-only inspection, diff preview, and resumable progress but not load concurrency, a single latency budget, or retry UX.

## Problem Opening a requested review currently performs authorization and detail retrieval in serialized waves, can consume two separate five-second budgets, and leaves mobile users with no in-place recovery action when Gitea is slow. ## Scope - authorize with the dedicated review-request search instead of loading assigned pull requests too - fetch files, status, reviews, and bounded diff concurrently after loading the pull head - enforce one five-second endpoint deadline with retryable `503` and `Retry-After` - add an inline mobile Retry action that reloads the same review while preserving commit-keyed progress ## Acceptance - independent post-head requests overlap under a deterministic async test - unauthorized pulls remain `404` - the complete endpoint times out once, returns no-store `503` plus `Retry-After`, and cancels pending work - retry reloads the selected review in place and existing progress remains available - focused and full test suites pass This is distinct from #121/#123/#125, which delivered read-only inspection, diff preview, and resumable progress but not load concurrency, a single latency budget, or retry UX.
timmy self-assigned this 2026-08-06 18:21:42 +00:00
timmy closed this issue 2026-08-06 18:25:54 +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#127
No description provided.