From 63767a3a9784ba9bbda355acd753e60037c156cf Mon Sep 17 00:00:00 2001 From: qwist1233-cpu Date: Mon, 19 Oct 2026 11:38:02 +0300 Subject: [PATCH 1/3] fix(settings): give provider model rows their own scroll viewport MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A fetched catalog of a few hundred models rendered one page row each, so the settings page itself became hundreds of rows tall: the model filter scrolled out of view while browsing, and the advanced request settings below sat under the whole list. The rows now scroll inside `min(32rem, 60vh)` of their own, with the filter, the count and the section buttons left outside. `max-height` rather than `height`, so a small or filtered-down catalog stands at its own height; a second `.settingsRows` rather than a bare div, so the rows keep the `.settingsRows > …` track, hover wash and container query inside the viewport; `overscroll-behavior` left at `auto`, so a wheel reaching the end of the list carries on down the page. Covered by play-function geometry assertions on the 444-model story, a new 480x800 short-window story, and the two-model story, all of which fail without this change. Fixes #6164 Generated-by: Claude Code Co-Authored-By: Claude Opus 5 --- .../settings/provider-connection-detail.tsx | 59 ++++++--- .../styles/settings/provider-editor.css | 21 ++++ .../settings/provider-settings.stories.tsx | 118 ++++++++++++++++-- scripts/storybook-visual-smoke.mjs | 7 ++ scripts/storybook-visual-smoke.test.mjs | 17 +++ 5 files changed, 193 insertions(+), 29 deletions(-) diff --git a/apps/desktop/src/renderer/settings/provider-connection-detail.tsx b/apps/desktop/src/renderer/settings/provider-connection-detail.tsx index c033a477dcd..3cc79e0b531 100644 --- a/apps/desktop/src/renderer/settings/provider-connection-detail.tsx +++ b/apps/desktop/src/renderer/settings/provider-connection-detail.tsx @@ -693,27 +693,46 @@ function ConnectionDetailInner(props: ConnectionDetailProps) { label={copy.noModelsMatch} end={