Skip to content

Phone polish, and a dialog for pages left open across a deploy - #1

Merged
MattDHill merged 4 commits into
masterfrom
mobile-polish
Sep 6, 2026
Merged

Phone polish, and a dialog for pages left open across a deploy#1
MattDHill merged 4 commits into
masterfrom
mobile-polish

Conversation

@MattDHill

@MattDHill MattDHill commented Sep 6, 2026

Copy link
Copy Markdown
Member

Summary

Roadmap item 1 from AGENTS.md, verified by screenshot at 390px and 1280px against a scratch Synapse, plus a fix for the silent failure a customer hit today.

Stale pages. A deploy replaces the build's files, so a page opened before it fails the next time it loads a chunk on demand. On the register page that is the password strength check, so Register did nothing at all: ChunkLoadError inside validation, swallowed. vector/stalePage.tsx turns the first ChunkLoadError into a dialog: the page is out of date, a Reload button, and the hard-refresh keys for the platform (Ctrl or ⌘, Shift, R, matching the StartOS docs); on a phone it says to reload, or close and reopen the installed app. The same error during start-up now gets the same words on the error page instead of "unexpected error". Strings live under one start9 key in en_EN.json.

Phone polish.

  • Room header drops the call buttons (usePhoneLayout() guard in RoomHeader.tsx) and the member avatars (mobile.pcss), so the room name has its width back instead of truncating to one letter; threads and room info stay.
  • Keyboard. The viewport meta gains interactive-widget=resizes-content, so Chromium shrinks the layout viewport when the keyboard opens. WebKit only shrinks the visual viewport, so vector/phoneViewport.ts sizes the root to it while it is smaller than the window and not pinch-zoomed.
  • Safe areas. viewport-fit=cover plus env(safe-area-inset-*) padding on the app wrapper, the auth page, the right panel overlay and dialogs.
  • Search box hides its keyboard shortcut hint on phones.
  • Checked and left alone: room list rows are already 48px; tapping a message already brings up its action bar.

Docs: AGENTS.md says work lands through PRs and that gh aims a fork's PRs at element-hq unless told otherwise, lists the touched files, and describes the keyboard, safe-area and stale-page handling; docs/fork.md covers the user-visible side.

Unit tests, the RoomHeader suites, i18n lint and the type check pass. The keyboard and safe-area behaviour cannot be seen in headless Chromium and want a look on a phone against the test site once merged.

🤖 Generated with Claude Code

MattDHill and others added 4 commits September 5, 2026 22:25
On phones the room header drops the call buttons and member avatars so
the room name keeps its width, the search box hides its shortcut hint,
the viewport meta asks Chromium to resize the layout for the keyboard
and phoneViewport.ts does the same for WebKit, and safe-area padding
keeps an installed app clear of the notch and home indicator.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A deploy replaces the build's files, so a page opened before it fails
the next time it loads a chunk on demand; on the register page that was
the password strength check, and Register silently did nothing. The
first ChunkLoadError now opens a dialog that says the page is out of
date, offers Reload and shows the platform's hard-refresh keys; the same
error during start-up gets the same words on the error page.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@MattDHill MattDHill changed the title Phone polish: room header, keyboard, safe areas, search hint Phone polish, and a dialog for pages left open across a deploy Sep 6, 2026
@MattDHill
MattDHill merged commit 729b491 into master Sep 6, 2026
5 checks passed
@MattDHill
MattDHill deleted the mobile-polish branch September 6, 2026 05:00
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