Plan and focus mobile My Work by milestone #203

Closed
opened 2026-08-07 14:50:26 +00:00 by timmy · 0 comments
Owner

Product problem

My Work preserves labels and due dates but drops Gitea milestones from initial context, pagination, issue detail, cards, filters, and the assigned-issue editor. On a phone, an operator cannot focus a release queue or assign an issue to a release without leaving the dashboard.

Evidence on origin/main 09b2898: src/models.py has no milestone field; src/main.py drops milestone in both issue normalization paths; src/gitea_proxy.py::issue_detail omits it; frontend/my-work.js filters only by item type; the issue sheet has labels and due date but no milestone workflow. All 105 historical issue titles and recent commits were checked; none implements milestone planning.

Acceptance

  • Normalize a bounded {id,title} milestone in initial/paged issues and issue detail.
  • List open milestones only for repositories accessible to the service user.
  • Revalidate that milestone mutations target an open, non-PR issue assigned to the current user and a valid open milestone in that repository; confirm upstream state before returning.
  • Add a touch-safe issue-sheet milestone editor with a scoped retry-safe draft and single-flight mutation.
  • Show milestone on issue cards and compose an All/Unplanned/specific milestone lane with existing type filters.
  • Start/reconcile mobile work sessions inside the selected milestone lane.
  • Keep new API routes subpath-safe and Cache-Control: no-store.
  • Strict TDD; focused and full suite green.
## Product problem My Work preserves labels and due dates but drops Gitea milestones from initial context, pagination, issue detail, cards, filters, and the assigned-issue editor. On a phone, an operator cannot focus a release queue or assign an issue to a release without leaving the dashboard. Evidence on origin/main `09b2898`: `src/models.py` has no milestone field; `src/main.py` drops milestone in both issue normalization paths; `src/gitea_proxy.py::issue_detail` omits it; `frontend/my-work.js` filters only by item type; the issue sheet has labels and due date but no milestone workflow. All 105 historical issue titles and recent commits were checked; none implements milestone planning. ## Acceptance - Normalize a bounded `{id,title}` milestone in initial/paged issues and issue detail. - List open milestones only for repositories accessible to the service user. - Revalidate that milestone mutations target an open, non-PR issue assigned to the current user and a valid open milestone in that repository; confirm upstream state before returning. - Add a touch-safe issue-sheet milestone editor with a scoped retry-safe draft and single-flight mutation. - Show milestone on issue cards and compose an All/Unplanned/specific milestone lane with existing type filters. - Start/reconcile mobile work sessions inside the selected milestone lane. - Keep new API routes subpath-safe and `Cache-Control: no-store`. - Strict TDD; focused and full suite green.
timmy self-assigned this 2026-08-07 14:50:26 +00:00
timmy closed this issue 2026-08-07 15:01:57 +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#203
No description provided.