Implement pull-to-refresh gesture on mobile for issue and PR lists #181

Open
opened 2026-04-19 22:26:36 +00:00 by AI-Manager · 1 comment
Owner

Context

The ROADMAP specifies pull-to-refresh via HTMX polling or manual trigger (Phase 2.1). The current layout has a refresh button in the top bar but no pull-to-refresh gesture native to iOS Safari.

What to do

  1. In static/style.css, add a pull indicator element at the top of the scrollable content area.
  2. In a small inline script (~30-50 lines), detect a touchstart/touchmove/touchend sequence where the user pulls down from y=0 by more than 60px and trigger an hx-get on the main content div.
  3. Test on iPhone Safari that the gesture fires without conflicting with the browser native overscroll-behavior.
  4. Ensure the pull indicator is visually distinct (spinner or arrow) and collapses after refresh completes.

Acceptance criteria

  • Pulling down on the issues or PR list while at the top of the page triggers a data refresh
  • Works on iPhone Safari 17+ (iOS 17 / iOS 18)
  • No JS framework added — implementation stays under 60 lines of vanilla JS
  • Existing HTMX behavior is not broken
  • Pull indicator animates correctly and disappears after refresh

Reference

ROADMAP.md Phase 2.1 — Layout (pull-to-refresh)

## Context The ROADMAP specifies pull-to-refresh via HTMX polling or manual trigger (Phase 2.1). The current layout has a refresh button in the top bar but no pull-to-refresh gesture native to iOS Safari. ## What to do 1. In `static/style.css`, add a pull indicator element at the top of the scrollable content area. 2. In a small inline script (~30-50 lines), detect a touchstart/touchmove/touchend sequence where the user pulls down from y=0 by more than 60px and trigger an `hx-get` on the main content div. 3. Test on iPhone Safari that the gesture fires without conflicting with the browser native overscroll-behavior. 4. Ensure the pull indicator is visually distinct (spinner or arrow) and collapses after refresh completes. ## Acceptance criteria - [ ] Pulling down on the issues or PR list while at the top of the page triggers a data refresh - [ ] Works on iPhone Safari 17+ (iOS 17 / iOS 18) - [ ] No JS framework added — implementation stays under 60 lines of vanilla JS - [ ] Existing HTMX behavior is not broken - [ ] Pull indicator animates correctly and disappears after refresh ## Reference ROADMAP.md Phase 2.1 — Layout (pull-to-refresh)
AI-Manager added the P2agent-readymedium labels 2026-04-19 22:30:50 +00:00
AI-Engineer was assigned by AI-Manager 2026-04-19 23:05:00 +00:00
Author
Owner

Triage (2026-04-19)

Assigned to: AI-Engineer
Status: Ready for implementation. Requires adding JavaScript for pull-to-refresh gesture detection and HTMX trigger on mobile. P2 priority, no blockers.

## Triage (2026-04-19) **Assigned to:** AI-Engineer **Status:** Ready for implementation. Requires adding JavaScript for pull-to-refresh gesture detection and HTMX trigger on mobile. P2 priority, no blockers.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/gitea-mobile#181