T23b round 2 fix

- the gallery binds its passage's range before the vec, as clippy asks
- AGENTS: anything pressable is a Tab stop; text in a row gives way to fixed parts
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 06:22:15 -04:00
1 parent 4c9695a85f
commit 61085ef7a5
3 files changed
+5 -1

No files matched your search

+2
View File
@@ -115,6 +115,8 @@ Ely GPUI Component. A component library for GPUI, in light and dark.
- Taffy 0.9 hands negative free space to auto margins and centering alike, so a centered child wider than its scroll box starts past the scroll's reach. Center only what fits the measured box (`documents::DocumentViewer`).
- A mode that leaves on Escape holds its own focus through `primitives::hold_focus`: turned on while focus is elsewhere, it takes focus so Escape reaches it, and `hand_back` returns it (`documents::ZenMode`, `collab::FollowMode`).
- A chat holds at its newest message through gpui's `list` with `ListAlignment::Bottom`: it sticks while scrolled to the end, and `scroll_to` one past the last item sticks it again; that call sends no scroll event, so the owner clears its own away state (`chat::MessageList`).
- Anything pressable is a Tab stop: a row, card or toggle takes `tab_index(0)` and `focus_ring`, with a 1px border that stays transparent where it shows none; gpui presses it on the release of Enter or Space.
- A row that holds text beside fixed parts lets the text give way: the text takes `flex_1().min_w_0()` and an `Ellipsis`; counts, icons, dates and chevrons take `flex_none`.
- A mark over a text field reads the field at paint time, from a canvas laid over it (`collab::RemoteCursor`): by then `TextInput::bounds_for` holds this frame's layout, and a still page never renders again to catch up.
- A callback field holds a named `type` alias; clippy's type_complexity rejects `Option<Rc<dyn Fn(..)>>`. A chapter shares one alias per shape.
- A component that fills its container says `w_full` on its root. As a window's root, or in a flex row, it would shrink to its text's narrowest width.
+1
View File
@@ -259,3 +259,4 @@ Per-component lines live in `tasks/`. Tags there:
| T23a | 1 | FAIL | a long message of yours overflowed a narrow column; pictures and video sized to the theme, not their column; a finished stream kept revealing; avatar pictures from the web were read as files; the list stayed away after it fit again; the reasoning toggle had no Tab stop; a link's thumbnail lost its corners |
| T23a | 2 | PASS | |
| T23b | 1 | FAIL | source cards and web results with a handler were no Tab stops; in a narrow column the sources row and a passage's header ran past their edge |
| T23b | 2 | FAIL | the gallery's narrow passage built a vec of one range, which clippy refuses, so the checks failed |
+2 -1
View File
@@ -86,6 +86,7 @@ pub fn search(_: &mut Window, cx: &mut App) -> impl IntoElement + use<> {
let more = PASSAGE
.find("more lift")
.expect("the passage holds its match");
let lifted = more..more + "more lift".len();
section(
"SearchProgress / WebResultCard / DocumentChunkPreview",
"A search as it runs, step by step; a result as the web gives it; and a passage found in a document, the words that matched washed.",
@@ -131,7 +132,7 @@ pub fn search(_: &mut Window, cx: &mut App) -> impl IntoElement + use<> {
"a-long-name-for-the-lift-notes.pdf",
"Page 1 · Dark is not inverted",
PASSAGE,
vec![more..more + "more lift".len()],
vec![lifted],
)
.score(0.86),
),