Apple App Store Rejection — iPadOS 26.4

QA Checklist: Login Button Fixes

All third-party login buttons were unresponsive on iPad Air 11-inch

17
Fixed
3
Manual Check
0
Bugs
20
Total

📌 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 checks
"Anmelden / Registrieren" button click firesFIXED

Tap the button — check console for: [VitalFlow] ✅ Sign-in button TAPPED

Fix: Added onTouchEnd fallback + console.log debug

"Als Gast erkunden" button click firesFIXED

Tap the guest button — check console for: [VitalFlow] ✅ Guest button TAPPED

Fix: Added onTouchEnd fallback + console.log debug

No pointerEvents:none blocking touchFIXED

Previously loading state set pointerEvents:none — blocks iOS touch

Fix: Changed to always pointerEvents:auto, guard via if(loading)return

No disabled attribute on login buttonFIXED

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 checks
No invisible overlay blocking buttonsFIXED

Welcome 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"

Buttons have z-index: 10 — above containerFIXED

Container zIndex:1, buttons zIndex:10

Fix: Explicit zIndex on all buttons

isolation: isolate on container and buttonsFIXED

Prevents stacking context bleed from parent elements

Fix: Applied on both wrapper div and buttons

iPad Layout (820px viewport)

4 checks
Buttons meet Apple 44×44pt HIG minimumFIXED

Sign-in button: minHeight:56px, Guest button: minHeight:52px

Fix: Inline styles on both buttons

WebkitTapHighlightColor: transparentFIXED

Removes gray flash on tap — required for clean Apple review

Fix: Applied on all interactive elements

touchAction: manipulation on buttonsFIXED

Disables double-tap zoom delay (300ms) on iOS/iPadOS

Fix: Applied on both buttons

Sidebar not too wide on iPad (820px)FIXED

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 checks
base44.auth.redirectToLogin() is calledFIXED

Login redirects to Base44 auth page where Apple/Google buttons live

Fix: Console log confirms call before redirect

Redirect returns to /dashboard after loginFIXED

createPageUrl("Dashboard") is passed as the return URL

Fix: No change needed — already correct

No infinite loading state after button tapFIXED

If redirect fails, loading was stuck forever

Fix: Added useEffect timeout: resets after 8 seconds automatically

Third-Party Login Buttons (on Auth Screen)

3 checks
Sign in with Apple button visible & tappableMANUAL CHECK

Rendered by Base44 auth system — outside this app's code

Fix: Verify in TestFlight: Base44 must have Apple Sign-In configured in app settings

Google login button visible & tappableMANUAL CHECK

Rendered by Base44 auth system — outside this app's code

Fix: Verify in TestFlight: Base44 must have Google OAuth configured in app settings

Auth screen buttons respond to touch on iPadOS 26.4MANUAL CHECK

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 checks
Touch media query uses (hover:none) and (pointer:coarse)FIXED

Old: max-width:768px missed iPad Air (820px). New: feature-based query covers all touch devices

Fix: Changed to @media (hover: none) and (pointer: coarse)

All inputs have font-size ≥ 16px on touch devicesFIXED

iOS/iPadOS auto-zooms if input font-size < 16px

Fix: font-size: 16px !important applied via CSS to all input types

Global button transition: 50ms (fast tap feedback)FIXED

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