Skip to content

refactor(mobile): group native chat message presentation - #34424

Merged
nwparker merged 1 commit into
mainfrom
nwparker/refactor-mobile-native-chat-messages-pr71
Oct 27, 2026
Merged

nwparker merged 1 commit into
mainfrom
nwparker/refactor-mobile-native-chat-messages-pr71

Conversation

@nwparker

@nwparker nwparker commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 32 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​343 $\color{#cf222e}{\Huge{\mathbf{−}}}$​199 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​144
Prod 27 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​103 $\color{#cf222e}{\Huge{\mathbf{−}}}$​94 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​9

Mobile native-chat message presentation is spread across the session directory. Group its 23 implementation and test files under the existing transcript owner, update callers and mocks, and import shared types from their concrete defining modules.

Preserve rendering, send timing, draft restoration, and native/web behavior. Move the seven existing reasoning-row cases into a focused sibling suite so the relocated test stays within the file-size limit. Update the existing send-test paths in reliability policy without changing counts or rules.

Validation: normal commit hooks; 301 mobile tests across 34 suites; mobile app and test typechecks; 32 mobile-web tests; flaky-test and reliability ratchets. Independent source audits, the complete changed-file checks, hosted CI, and merge preservation checks are required before merge.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b083053d-0e58-42c3-832b-cd92bef49d31
Commits

Reviewing files that changed from the base of the PR and between 89dea21 and 9d7b9a2.

Files selected for processing: 59
  • config/flaky-test-pattern-baseline.txt
  • config/reliability-gates.jsonc
  • mobile/src/session/MobileNativeChatAwaitingInputRow.tsx
  • mobile/src/session/MobileNativeChatFullContent.test.tsx
  • mobile/src/session/MobileNativeChatFullContent.tsx
  • mobile/src/session/MobileNativeChatLiveLine.android.test.ts
  • mobile/src/session/MobileNativeChatLiveLine.test.ts
  • mobile/src/session/MobileNativeChatNoticeRow.tsx
  • mobile/src/session/MobileNativeChatOverlay.tsx
  • mobile/src/session/MobileNativeChatReasoningRow.tsx
  • mobile/src/session/MobileNativeChatResolutionReceipt.tsx
  • mobile/src/session/MobileNativeChatRowItemSource.tsx
  • mobile/src/session/MobileNativeChatRowOverlaysHost.test.tsx
  • mobile/src/session/MobileNativeChatRowOverlaysHost.tsx
  • mobile/src/session/MobileNativeChatView.composer-lock.test.ts
  • mobile/src/session/MobileNativeChatView.failure-banner.test.ts
  • mobile/src/session/MobileNativeChatView.history-paging.test.ts
  • mobile/src/session/MobileNativeChatView.prompt-presentation.test.ts
  • mobile/src/session/MobileNativeChatView.rows.test.ts
  • mobile/src/session/MobileNativeChatView.stop.test.ts
  • mobile/src/session/MobileNativeChatView.streaming-rows.test.ts
  • mobile/src/session/MobileNativeChatView.tail-follow.test.ts
  • mobile/src/session/MobileNativeChatView.turn-status.test.ts
  • mobile/src/session/MobileNativeChatView.waiting-rows.test.ts
  • mobile/src/session/__mocks__/mobile-prompt-controller.ts
  • mobile/src/session/mobile-native-chat-item-read.ts
  • mobile/src/session/mobile-native-chat-merged-snapshot-parity-hooks.test.tsx
  • mobile/src/session/mobile-native-chat-scroll-ownership.test.tsx
  • mobile/src/session/mobile-native-chat-stopped-before-start.test.tsx
  • mobile/src/session/native-chat/composer/use-mobile-native-chat-message-send-draft-lifetime.test.ts
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.android.test.ts
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.copy.test.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.paced-reveal.test.ts
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.reasoning.test.ts
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.subagent-group.test.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.test.ts
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.tool-result-availability.test.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessage.work-run.test.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessageActionsSheet.test.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessageActionsSheet.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatMessageTime.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatPacedProse.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatProse.tsx
  • mobile/src/session/native-chat/transcript/MobileNativeChatUserMessageFold.tsx
  • mobile/src/session/native-chat/transcript/mobile-native-chat-message-plain-text.test.ts
  • mobile/src/session/native-chat/transcript/mobile-native-chat-message-plain-text.ts
  • mobile/src/session/native-chat/transcript/mobile-native-chat-message-styles.ts
  • mobile/src/session/native-chat/transcript/mobile-native-chat-message-text.ts
  • mobile/src/session/native-chat/transcript/mobile-native-chat-tool-styles.ts
  • mobile/src/session/native-chat/transcript/use-mobile-native-chat-message-detail.test.tsx
  • mobile/src/session/native-chat/transcript/use-mobile-native-chat-message-detail.ts
  • mobile/src/session/native-chat/transcript/use-mobile-native-chat-message-send.test.ts
  • mobile/src/session/native-chat/transcript/use-mobile-native-chat-message-send.ts
  • mobile/src/session/native-chat/transcript/use-mobile-native-chat-paced-text.ts
  • mobile/src/session/native-chat/visual/mobile-native-chat-message-visuals.test.ts
  • mobile/src/session/use-mobile-native-chat-controller.ts
  • mobile/src/session/use-mobile-native-chat-pinch-gesture.test.ts
  • mobile/src/session/use-mobile-native-chat-pinch-gesture.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

Walkthrough

The mobile native-chat transcript modules, session callers, test mocks, and reliability-gate entries now use the transcript paths. The change also adds a dedicated reasoning-row test suite and removes corresponding cases from the general message test. The reported runtime logic and existing test behavior remain unchanged.

Estimated code review effort

Priority: Low

Merge Risk: Minimal · up to 9d7b9

No actionable merge-blocking issue was established. The inspected session consumers and reliability check use the relocated paths.

Pre-merge checks: Passed 3 · Failed 1 · Inconclusive 1

Failed Failed checks: 1 warning · 1 inconclusive

Check name Status Explanation Resolution
Description check Warning The description explains the refactor and validation, but it does not follow the required template. It omits the required ELI5, What Changed, Why, Linked Issue, Visual Proof, AI Disclosure, Review, bo… Rewrite the description using all required template headings. Add a linked issue, explain why the approach was selected, provide visual proof or state N/A with a reason, complete the Testing and Checklist sections, address AI Disclosure as …
Docstring Coverage Inconclusive Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: grouping native chat message presentation files under the transcript owner.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the refactor and validation, but it does not follow the required template. It omits the required ELI5, What Changed, Why, Linked Issue, Visual Proof, AI Disclosure, Review, boundary, Notes, and Checklist sections.

Resolution

Rewrite the description using all required template headings. Add a linked issue, explain why the approach was selected, provide visual proof or state N/A with a reason, complete the Testing and Checklist sections, address AI Disclosure as applicable, and include the required review, boundary, and Notes information.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 50 files. (8 skipped: 2 unsupported, 6 over the file limit.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
  • 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.

@nwparker
nwparker merged commit 14c04fe into main Oct 27, 2026
36 checks passed
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.

1 participant