fix(frontend): repair staging breakpoint and focus contracts
Independent Staging Quality Gate / validate (push) Failing after 12m24s
Independent Staging Quality Gate / publish (push) Skipped

Merge entry overflow rules into the existing 480px breakpoint, restore picker focus without scrolling, and sync composer and entry contracts without changing page logic. Add AST generation-state guard and both picker close-path regressions.

Validation: targeted 33/33; Chrome isolated components 145 checks; tsc and lint zero errors. Node22 full suite 3706 tests, no lost names or new failures; three target failures fixed, 88 baseline environment/contract failures unchanged. Windows build remains blocked by symlink EPERM. Changed-file privacy check: 11 files, no findings, not a full-repository pass. BUG-1011 remains separate.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
jesse-ux
2026-09-23 16:31:10 +08:00
co-authored by Claude Code
parent 93cd01dbf9
commit 36a737616c
11 changed files with 187 additions and 18 deletions
+2 -6
View File
@@ -2310,11 +2310,6 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
outline-offset: 2px;
}
@media (max-width: 375px) {
.starter-entry-row { max-width: 100%; }
.starter-entry { max-width: 100%; }
}
.starter-entry-hint,
.starter-entry-boundary {
max-width: 560px;
@@ -2364,7 +2359,8 @@ input:not([type="radio"]):not([type="checkbox"]):not([class^="ant-"]):not([class
}
@media (max-width: 480px) {
.starter-entry-row { max-width: 100%; }
.starter-entry { max-width: 100%; }
}
/* Session conversation */
@@ -46,7 +46,7 @@ export function ChatProfilePicker({
function closePicker() {
setOpen(false);
triggerRef.current?.focus();
triggerRef.current?.focus({ preventScroll: true });
}
async function choose(row: ChatProfilePickerRow) {
@@ -78,7 +78,7 @@ export function ChatProfilePicker({
open={open}
onOpenChange={(next) => {
setOpen(next);
if (!next) triggerRef.current?.focus();
if (!next) triggerRef.current?.focus({ preventScroll: true });
}}
>
<Popover.Trigger