fix(view,panel): the composer clears the navbar and the keyboard, panel opens on the master
The inset only knew the desktop status bar, so on a phone the composer sat under the navbar - which paints over a leaf instead of shortening it - and the software keyboard hid it outright. Every bottom bar is measured now, and the keyboard is read off `visualViewport`: it shrinks the visible area without resizing the layout, so no workspace event fires and the panel had no way to know. Focus re-measures once iOS has finished animating the keys in. The panel asks the shell to fall back to the latest master, so opening it on a phone lands in the day's thread rather than on a prompt. The preview fixtures anchor at midday instead of the wall clock: spread over hours, a run just after midnight pushed half of them into yesterday and emptied the "Today" group the switcher smoke checks.
This commit is contained in:
@@ -191,6 +191,23 @@ check(
|
||||
text().includes("Xiaomi Mi Blaster")
|
||||
);
|
||||
|
||||
// Nothing picked - the panel just opened on a phone - lands on the master
|
||||
// rather than on a prompt to pick something.
|
||||
state.selected = null;
|
||||
flushSync();
|
||||
await settle();
|
||||
flushSync();
|
||||
check(
|
||||
"with nothing picked it falls back to the master",
|
||||
state.selected === MASTER,
|
||||
String(state.selected)
|
||||
);
|
||||
state.selected = BRANCH_BLASTER;
|
||||
flushSync();
|
||||
await settle();
|
||||
flushSync();
|
||||
check("an explicit pick still wins", state.selected === BRANCH_BLASTER);
|
||||
|
||||
const composer = target.querySelector("textarea");
|
||||
check("composer is there", composer !== null);
|
||||
if (composer) {
|
||||
|
||||
Reference in New Issue
Block a user