Skip to content

prototype(mobile): native header probe for the chat list (do not merge) - #2345

Closed
DoodleBears wants to merge 3 commits into
mainfrom
claude/project-thread-uyblx2
Closed

DoodleBears wants to merge 3 commits into
mainfrom
claude/project-thread-uyblx2

Conversation

@DoodleBears

Copy link
Copy Markdown
Contributor

Requested by Vain · project thread

Why the change

DESIGN.md → Chat hides the native header on the chat screen because, on iOS 26, a transparent native header dims the whole inverted message list. t3code's Expo 58 app keeps a transparent native header with the automatic scroll edge effect over a non-inverted chat list and shows no dimming. This throwaway screen checks whether the dimming comes from the inverted list. If it does, the chat can move to a native header and a floating glass composer.

Refs: t3code comparison in the project files (t3code-design-ref/README.md).

Special things to note

  • Not for merge. This adds one dev-only route, app/dev/header-probe.tsx, and touches nothing else. Close the PR once the probe has answered the question.
  • Verification so far:
    • Mobile tsc --noEmit passes.
    • Root pnpm lint passes (oxlint, source policy, CLI parity).
    • Not run yet: a native capture. The simulator run is queued in the batched simulator thread.
  • CI test plan: whatever plan tests picks. No config or test files were added.

Change outline

Open deepseekbot-dev://dev/header-probe (Metro reload, JS only, no native rebuild). It has a transparent native header, scrollEdgeEffects.top: 'automatic' and contentInsetAdjustmentBehavior="automatic". Two toggles at the list's far end:

  • Normal list / Inverted list
  • Header bg undefined / Header bg clear ('transparent')

Capture all four combinations, light and dark, with messages scrolled under the header.


Generated by Claude Code

…at lists

Throwaway screen at deepseekbot-dev://dev/header-probe. It toggles a
normal vs inverted list and the header background (unset vs clear)
under a transparent native header with the iOS 26 top scroll edge
effect, to check whether the dimming recorded in DESIGN.md comes from
the inverted list. Not for merge.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKYLDBQTuzUEQLpS6qmBhc
@DoodleBears DoodleBears self-assigned this Oct 19, 2026
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

claude and others added 2 commits October 19, 2026 19:36
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKYLDBQTuzUEQLpS6qmBhc
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Copy link
Copy Markdown
Contributor Author

Probe answered (iOS 26 Simulator, head 5ab8fbd, captures in .github/pr-screenshots/2345-header-probe/ @2fe783da):

Normal list Inverted list
Header bg unset ✅ System scroll edge blur under the status bar and title; list sharp below (light and dark) ❌ No edge effect; bubbles run sharp under the clock and the title overlaps text
Header bg 'transparent' ⚠️ Blurs, but light mode shows a taller grey band ❌ Same as above

No combination dimmed the whole list. The inverted list is what breaks the header: iOS tracks its visual bottom as "top". The implementation lives in #2344 (normal list, headerStyle without backgroundColor). Closing this throwaway PR.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants