Qa
QA Checklist: Login Button Fixes
All third-party login buttons were unresponsive on iPad Air 11-inch
📌 Key Finding
The Welcome page in this app contains only one button that calls base44.auth.redirectToLogin(). The actual Apple/Google buttons live on the Base44-hosted auth screen, not in this app's code. Fixes applied here address: touch events, stuck loading states, z-index, and iPad layout. For the auth screen buttons themselves, verify Base44 settings or contact Base44 support.
Touch Event Registration
4 checksTap the button — check console for: [VitalFlow] ✅ Sign-in button TAPPED
Fix: Added onTouchEnd fallback + console.log debug
Tap the guest button — check console for: [VitalFlow] ✅ Guest button TAPPED
Fix: Added onTouchEnd fallback + console.log debug
Previously loading state set pointerEvents:none — blocks iOS touch
Fix: Changed to always pointerEvents:auto, guard via if(loading)return
HTML disabled attr removes all pointer events including touch on iOS WebKit
Fix: Removed disabled={loading} — use opacity+cursor instead
Overlay / Z-Index Audit
3 checksWelcome page uses no backdrop-blur (known iOS touch-swallowing bug)
Fix: Comment in code: "NO backdrop-filter — it can swallow touch events on iPadOS Safari"
Container zIndex:1, buttons zIndex:10
Fix: Explicit zIndex on all buttons
Prevents stacking context bleed from parent elements
Fix: Applied on both wrapper div and buttons
iPad Layout (820px viewport)
4 checksSign-in button: minHeight:56px, Guest button: minHeight:52px
Fix: Inline styles on both buttons
Removes gray flash on tap — required for clean Apple review
Fix: Applied on all interactive elements
Disables double-tap zoom delay (300ms) on iOS/iPadOS
Fix: Applied on both buttons
iPad Air only has ~560px for content if sidebar is 16rem
Fix: Sidebar now 13rem on md, 16rem on lg (1024px+)
OAuth / Login Flow
3 checksLogin redirects to Base44 auth page where Apple/Google buttons live
Fix: Console log confirms call before redirect
createPageUrl("Dashboard") is passed as the return URL
Fix: No change needed — already correct
If redirect fails, loading was stuck forever
Fix: Added useEffect timeout: resets after 8 seconds automatically
Third-Party Login Buttons (on Auth Screen)
3 checksRendered by Base44 auth system — outside this app's code
Fix: Verify in TestFlight: Base44 must have Apple Sign-In configured in app settings
Rendered by Base44 auth system — outside this app's code
Fix: Verify in TestFlight: Base44 must have Google OAuth configured in app settings
The Base44-hosted auth page must also be touch-compatible
Fix: Contact Base44 support if auth screen buttons are unresponsive — not fixable here
Global CSS Fixes (index.css)
3 checksOld: max-width:768px missed iPad Air (820px). New: feature-based query covers all touch devices
Fix: Changed to @media (hover: none) and (pointer: coarse)
iOS/iPadOS auto-zooms if input font-size < 16px
Fix: font-size: 16px !important applied via CSS to all input types
Slow transitions feel unresponsive on iOS
Fix: transition-duration: 50ms !important in index.css
How to verify button taps in TestFlight / Safari DevTools
Expected console output on button tap:
[VitalFlow] ✅ Sign-in button TAPPED — event type: touchend | timestamp: 17...
[VitalFlow] Calling base44.auth.redirectToLogin...
If you see NEITHER line → overlay is blocking touch
If you see TAPPED but not the second line → exception in redirectToLogin
If loading is stuck >8s → timeout auto-resets (check for WARN in console)
Generated: 18.10.2026 · VitlFlow QA — Apple App Store Review