Skip to content

fix(events): stop iOS Safari zoom by wrapping long user content (Issue 1131) - #1136

Merged
leahpeker merged 3 commits into
mainfrom
fix-mobile-zoom-1131
Jul 24, 2026
Merged

fix(events): stop iOS Safari zoom by wrapping long user content (Issue 1131)#1136
leahpeker merged 3 commits into
mainfrom
fix-mobile-zoom-1131

Conversation

@leahpeker

@leahpeker leahpeker commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes Issue 1131 — on iOS Safari the event detail page always loads zoomed in (not on focus), and re-zooms in whenever you submit a form (e.g. an RSVP or a comment). You have to pinch back out each time.

Root cause (corrected)

This is horizontal overflow, the same bug class as Issue 611 — not the input-focus auto-zoom that the first commit on this branch targeted.

When a user-entered field holds a long unbroken token (a pasted URL, a spaceless location, a zelle handle), it has no break opportunity and pushes the layout wider than the phone viewport. iOS Safari then renders the whole page at a zoomed-in scale, and resets to that scale on any re-layout — which is exactly why it "zooms back in" right after you submit a form and the list re-renders.

Issue 611 added break-words [overflow-wrap:anywhere] to the title and description only. The sibling fields that render free-form user text were missed:

  • location link
  • "other" link label (a stripped URL, the most likely culprit)
  • cost lines — price and zelle: …
  • comment and reply bodies (whitespace-pre-wrap alone does not break a long token; this is the field most likely to overflow immediately after a submit)

This PR adds the same wrap treatment to all of them, with regression tests mirroring the 611 test.

Note on the earlier font-size change

The first commit raised text inputs from 14px → 16px (text-base + md:text-sm) to stop iOS Safari's focus auto-zoom. That's a real, separate iOS annoyance and is harmless, so it's kept — but it is not what fixes Issue 1131. The overflow fix above is the actual fix.

Test plan

  • make agent-frontend-typecheck — passes
  • ESLint + Prettier clean on all changed files
  • New regression tests: long location / other-link / zelle / comment body all assert break-words [overflow-wrap:anywhere] (40+ event tests pass)
  • Manual iOS Safari check on the deployed preview with an event that has a long pasted URL in a link or comment (recommended before merge)

…om (Issue 1131)

iOS Safari auto-zooms the viewport when a focused input, textarea, or
select computes font-size below 16px, and the viewport meta tag does not
disable user-scalable, so the user is left zoomed in with no way to zoom
back out without manually pinching. text-sm (14px) was used on the shared
TextField, Textarea, and Select components plus a few call sites
duplicating the same classes (CommentComposer, LocationField,
DateTimePicker time input, EmailBlastDialog textarea). Bumped the base to
text-base (16px) with an md:text-sm override to keep the compact desktop
look.
…overflow (Issue 1131)

The reported symptom — the event page always loads zoomed in on iOS
Safari and re-zooms in whenever you submit a form — is horizontal
overflow, the same bug class as Issue 611. When a user-entered field
holds a long unbroken token (a pasted url, a spaceless location, a zelle
handle), it has no break opportunity and pushes the layout wider than the
phone viewport; iOS Safari then renders the whole page at a zoomed-in
scale and resets to it on re-layout (e.g. after a submit). It is not the
input-focus auto-zoom the earlier font-size change targeted.

Issue 611 only covered the title + description. This adds
break-words [overflow-wrap:anywhere] to the fields it missed: the
location link, the "other" link label, the price/zelle cost lines, and
comment + reply bodies (the field most likely to overflow right after a
submit). Adds regression tests mirroring the 611 test.
@leahpeker leahpeker changed the title fix(mobile): raise text input font-size to 16px to stop ios safari zoom fix(events): stop iOS Safari zoom by wrapping long user content (Issue 1131) Jul 24, 2026
@leahpeker
leahpeker marked this pull request as ready for review July 24, 2026 22:10
@leahpeker
leahpeker merged commit 84fe0bf into main Jul 24, 2026
3 checks passed
@leahpeker
leahpeker deleted the fix-mobile-zoom-1131 branch July 24, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant