← All changes
Library gestures
- Pull down to search. The Workouts list gets a search field that matches names and tags, case-insensitively.
- Swipe left to delete. The iOS convention for destructive actions. Deletion keeps its confirmation dialog — it also removes the workout’s JSON from iCloud, so it stays a two-step.
- Swipe right to pin. Pinned workouts sort to the top with a small pin glyph, Mail-style. Pinning survives template re-imports — updating a workout’s JSON never unpins it.
Session flow
- Resume banner. When a session is active (or the app was killed mid-workout), a coral-edged banner at the top of the list shows the workout, sets progress, and start time. One tap re-enters the runner.
- Session overview. Tap the runner’s progress bar for a sheet of all exercises with their done/total counts (or SKIPPED), the active one marked. Tap any row to jump — the rest timer keeps running.
- Duplicate workout. “Duplicate” in the card’s context menu creates a fresh copy at v1 and drops you straight into the editor. The usual reason to duplicate is to tweak.