Make mobile issue capture repository selection explicit and searchable #487

Closed
opened 2026-08-10 13:49:53 +00:00 by timmy · 0 comments
Owner

Problem

The New issue flow silently selects the first repository returned by Gitea and only exposes later repositories through repeated 50-item pagination. On a phone this risks filing into the wrong project and makes large repository sets impractical.

Evidence on current main: frontend/dashboard.js defaults the native repository select to the first option; frontend/index.html only offers that select plus Load more; src/gitea_proxy.py only exposes /user/repos pages. Historical #403 added pagination, not explicit selection or search.

Acceptance criteria

  • A fresh draft has an explicit “Choose repository” state; create actions cannot mutate Gitea until the operator selects one.
  • A bounded query finds an accessible repository beyond the currently loaded page and returns only minimal repository identity data.
  • Selecting a result loads existing labels/milestones and persists the exact repository in the draft.
  • Late search responses cannot replace newer query results; failures preserve all draft fields and allow retry.
  • Saved drafts restore their selected repository even when absent from page one.
  • At phone widths the search and result targets have no horizontal overflow and are at least 44px tall.
  • Existing repository browse/load-more and repository-optional Save for filing remain available.
  • Behavioral frontend/API tests and the full suite pass.
## Problem The New issue flow silently selects the first repository returned by Gitea and only exposes later repositories through repeated 50-item pagination. On a phone this risks filing into the wrong project and makes large repository sets impractical. Evidence on current main: `frontend/dashboard.js` defaults the native repository select to the first option; `frontend/index.html` only offers that select plus Load more; `src/gitea_proxy.py` only exposes `/user/repos` pages. Historical #403 added pagination, not explicit selection or search. ## Acceptance criteria - A fresh draft has an explicit “Choose repository” state; create actions cannot mutate Gitea until the operator selects one. - A bounded query finds an accessible repository beyond the currently loaded page and returns only minimal repository identity data. - Selecting a result loads existing labels/milestones and persists the exact repository in the draft. - Late search responses cannot replace newer query results; failures preserve all draft fields and allow retry. - Saved drafts restore their selected repository even when absent from page one. - At phone widths the search and result targets have no horizontal overflow and are at least 44px tall. - Existing repository browse/load-more and repository-optional Save for filing remain available. - Behavioral frontend/API tests and the full suite pass.
timmy self-assigned this 2026-08-10 13:49:53 +00:00
timmy closed this issue 2026-08-10 14:03:41 +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#487
No description provided.