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:
hh
2026-09-05 00:20:33 +02:00
parent a76ee29255
commit cc46abc34f
4 changed files with 76 additions and 10 deletions
+6 -1
View File
@@ -8,7 +8,12 @@ import type {
const MINUTE = 60_000;
const HOUR = 60 * MINUTE;
const now = Date.now();
// Anchored inside the day rather than at the wall clock: the fixtures are
// spread over hours, and a run just after midnight would push half of them
// into yesterday and empty the "Today" group the rail is checked against.
const wall = new Date();
const now =
wall.getHours() < 12 ? new Date(wall).setHours(12, 0, 0, 0) : wall.getTime();
const ago = (ms: number) => new Date(now - ms).toISOString();
export const MASTER = "c1master0000";