← Back to main article

The iterative QA cycle in action. 64 issues logged, 52 fix/feature commits resolving them across 3 days of testing on a real iPad 3 running iOS 9.


QA Commits (Chronological)

Date Commit Description
2026-01-08 06:47 2861da2 fix: Resolve Play Mode back button navigation issue (QA-004)
2026-01-08 06:59 df9419a feat: Add View All Recipes page (QA-005)
2026-01-08 07:26 9ea2625 fix: Resolve iOS 9 layout/spacing issues on recipe detail (QA-006)
2026-01-08 07:49 2ede2a8 fix: Resolve Safari button flexbox centering issue (QA-007)
2026-01-08 11:14 6dc3bfa feat: Add progressive image caching for search results (QA-009)
2026-01-08 11:49 75b45cd fix: Add missing dark mode input background color (QA-008)
2026-01-08 12:03 6703019 fix: Resolve Play Mode timer spacing on iOS 9 (QA-010)
2026-01-08 12:09 c70e118 fix: Auto-start timers when added in Play Mode (QA-011)
2026-01-08 12:37 e96b614 feat: Add timer completion audio alerts (QA-012, QA-013)
2026-01-08 13:16 1dc1dd5 fix: Improve Legacy timer sound with Web Audio API rewrite (QA-013)
2026-01-08 13:25 026e394 feat: Add View All link to Favorites section (QA-015)
2026-01-08 13:30 febce4c fix: Preserve search context when navigating back after import (QA-016)
2026-01-08 15:21 052a469 fix: Resolve test failures and add Docker testing rule (QA-017)
2026-01-08 15:41 c864122 feat: Add screen wake lock for Legacy Play Mode (QA-014)
2026-01-08 15:51 d4ae1cd feat: Add screen wake lock for Modern Play Mode (QA-019)
2026-01-08 15:59 ff4535f fix: Make profile avatar clickable to navigate to profile chooser (QA-020)
2026-01-08 19:03 3ff9ec2 fix: Resolve Recipe Remix data format and image issues (QA-021, QA-022, QA-024, QA-025)
2026-01-08 19:30 deb0717 feat: Add nutrition estimation for remixed recipes (QA-026)
2026-01-08 20:50 77d06cb fix: Validate AI model selection and fetch models from OpenRouter (QA-027)
2026-01-08 20:58 1dae280 fix: Redirect legacy browsers to /legacy/ frontend (QA-028)
2026-01-08 22:34 37c888b fix: Add missing nutrition_estimate to PROMPT_TYPES choices (QA-034)
2026-01-08 22:37 bceb37a fix: Clarify nutrition label to show values are per serving (QA-030)
2026-01-08 23:39 6d73fbc feat: Implement Scaling Service v2 with instructions and time adjustments (QA-031 + QA-032)
2026-01-09 07:11 c7e9166 fix: Configure SQLite for concurrent access with WAL mode (QA-035)
2026-01-09 07:16 6299355 feat: Add ingredient quantity tidying for scaled recipes (QA-029)
2026-01-09 09:50 b2c814b feat: Implement tips lazy loading for legacy frontend (QA-036)
2026-01-09 11:07 d578002 feat: Prioritize images in search ranking for better visual appeal (QA-043)
2026-01-09 11:32 2238b85 fix: Auto-generate AI tips for remix recipes (QA-044)
2026-01-09 11:40 0dbc9de fix: Auto-navigate to home after profile creation (QA-037)
2026-01-09 11:45 b1733c2 fix: Add spacing between source filter chips on legacy search (QA-042)
2026-01-09 12:12 50b534c fix: Handle indivisible items in recipe scaling (QA-039)
2026-01-09 12:57 9bf139e fix: Auto-generate tips when viewing Tips tab (QA-046)
2026-01-09 13:12 8f65350 fix: Only show "(was X min)" label when time actually changed (QA-045)
2026-01-09 14:28 ad99d2a feat: Link recipes to profiles for per-user isolation (QA-047, QA-049)
2026-01-09 14:28 c3a425a fix: Hide AI features when no API key configured (QA-050)
2026-01-09 14:54 35ad680 fix: Extract and display rating count in search results (QA-048)
2026-01-09 14:54 df98906 fix: Display rating count in Legacy search results JS (QA-051)
2026-01-09 14:54 3a24926 fix: Add image-first sorting fallback for search results (QA-052)
2026-01-09 15:01 89f2971 fix: Filter out search results without titles (QA-053)
2026-01-09 15:06 f8b63b2 fix: Filter article URLs from search results (QA-053)
2026-01-09 15:12 22c879a fix: Convert WebP images to JPEG for iOS 9 compatibility (QA-054)
2026-01-09 15:16 1ffc5e0 fix: Filter video/gallery URLs from search results (QA-053)
2026-01-09 15:18 047df99 fix: Filter index/listing pages from search results (QA-053)
2026-01-09 18:21 55803ce fix(tests): Correct test expectations for QA-055 and QA-056
2026-01-09 19:16 28c999a fix(ai): Strengthen search ranking prompt for image priority (QA-057)
2026-01-10 13:44 f10ddfa fix(tests): Remove redundant db fixture params from async tests (QA-061)
2026-01-10 15:12 198f593 feat(pages): Add GitHub Pages root landing page (QA-060)
2026-01-10 16:01 328532e feat(ci): Add legacy JS linting and duplication analysis (QA-061)
2026-01-10 16:10 9f007d2 feat(ci): Add Python backend linting with ruff (QA-061 Phase 3)
2026-01-10 16:18 895c7d5 feat(ci): Add Python backend duplication detection (QA-061 Phase 4)
2026-01-10 16:26 9e6cca0 feat(ci): Dashboard polish and report linking (QA-061 Phase 5)
2026-01-11 00:01 53419b9 fix(cd): QA-064 - Use native ARM64 runners instead of QEMU emulation

Summary

Metric Value
QA issues logged 64
Fix/feature commits 52
Testing days 3 (Jan 8-10)
Test device iPad 3 (iOS 9.3.5)

Most issues were iOS 9 Safari quirks - flexbox bugs, WebP incompatibility, missing -webkit prefixes - that only appeared on the real device.