Root-caused directory-picker's directory-row-frontend failure: all four
in-app @gorhom/bottom-sheet sheets (DirectoryBrowserSheet, DirectorySwitcher,
ModelPicker, VariantPicker) provide static percentage snapPoints but rely on
v5's enableDynamicSizing default (true), which never resolves without content
wrapped in a size-reporting component — so useAnimatedDetents() permanently
early-exits and the sheets can never actually open. Set
enableDynamicSizing={false} on all four (they already have explicit
snapPoints, so dynamic sizing was never needed).
variant-picker's chip failure was a stale test assumption: src/lib/
model-selection.ts's chooseModelSelection() deliberately returns null for a
fresh session (issue #37/#35 — the provider registry default is unreliable),
so a brand-new session has no model selected and the reasoning-effort chip
has nothing to key off of. Added testIDs (model-chip, model-option-*) and
updated the flow to explicitly pick a model first, matching real usage.
diff-scroll's missing markdown text: switched src/components/markdown/
Markdown.tsx from react-native-marked's FlatList-based default export to its
useMarkdown() hook rendered into a plain View. The chat screen already nests
this inside its own *inverted* FlatList (one row per message) — a nested
VirtualizedList inside an inverted outer list is a known RN footgun where the
inner content can render at zero height instead of just warning. We already
forced scrollEnabled:false + a large initialNumToRender, defeating
virtualization anyway, so rendering the parsed blocks directly loses nothing.
Extended the existing react-native-marked .d.ts shim (added for a React
18/19 ReactNode mismatch) to also declare useMarkdown/useMarkdownHookOptions.
Added diagnostic screenshots to directory-picker.yaml and diff-scroll.yaml
at the previously-failing steps for faster triage if these regress again.
Closes #104.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -80,8 +80,17 @@ name: "DiffView + CodeBlock horizontal scroll - wide diff/code line reachable by
|
||||
# render both the tool card and the markdown code block.
|
||||
- assertVisible:
|
||||
text: "Edit wide_diff_target.ts"
|
||||
- assertVisible:
|
||||
text: "Here is a wide code sample"
|
||||
# Diagnostic screenshot (issue #104): the tool-card title above renders via
|
||||
# plain Text, while the paragraph below renders via react-native-marked's
|
||||
# nested FlatList inside this screen's own *inverted* FlatList. If this ever
|
||||
# regresses again, check whether this frame shows blank space between the
|
||||
# message header and the tool card (nested-FlatList-in-inverted-list content
|
||||
# not laying out) vs. genuinely missing/incorrect text.
|
||||
- takeScreenshot: diffscroll-S1b_before_markdown_text_check
|
||||
- extendedWaitUntil:
|
||||
visible:
|
||||
text: "Here is a wide code sample"
|
||||
timeout: 20000
|
||||
- takeScreenshot: diffscroll-S2_history_loaded
|
||||
|
||||
# --- CodeBlock: the wide fenced code block is already expanded (no tap
|
||||
|
||||
Reference in New Issue
Block a user