Phone polish, and a dialog for pages left open across a deploy - #1
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
ChunkLoadErrorinside validation, swallowed.vector/stalePage.tsxturns the firstChunkLoadErrorinto 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 onestart9key inen_EN.json.Phone polish.
usePhoneLayout()guard inRoomHeader.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.interactive-widget=resizes-content, so Chromium shrinks the layout viewport when the keyboard opens. WebKit only shrinks the visual viewport, sovector/phoneViewport.tssizes the root to it while it is smaller than the window and not pinch-zoomed.viewport-fit=coverplusenv(safe-area-inset-*)padding on the app wrapper, the auth page, the right panel overlay and dialogs.Docs:
AGENTS.mdsays work lands through PRs and thatghaims 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.mdcovers the user-visible side.Unit tests, the
RoomHeadersuites, 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