Skip to content

refactor(mobile): share settings action rows - #18529

Merged
juliusmarminge merged 1 commit into
mainfrom
t3/mobile-ds-action-rows
Oct 15, 2026
Merged

juliusmarminge merged 1 commit into
mainfrom
t3/mobile-ds-action-rows

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Design-system progress

API adoption and Pen rendering are tracked separately. This is cumulative through this PR, not a claim that all native renderers are finished.

Pen component After this PR
Host / native theme Later in stack
List / Section / Row Shared RN rows; native Form / ListItems left
Toggle Later in stack
Segmented Later in stack
Menu Later in stack
Sheet Later in stack
Dialog Later in stack
SearchField Later in stack
Button / IconButton Later in stack
Chip Later in stack
Toast Later in stack
FAB Later in stack
Toolbar Later in stack
AppBar Later in stack
Picker / Slider / Stepper Later in stack
Progress / EmptyState Later in stack
Typography / shapes / motion Later in stack
Split / list-detail / rail Deferred broader layout work

Custom Appearance cards stay. Segmented controls stay native. Composer, thread-row and task-tray redesigns remain deferred.

Problem

Settings action rows used separate spacing and text sizes from navigation, toggle, and choice rows.

Change

Move them onto ListActionRow and the shared layout, including destructive colors, loading feedback, disabled state, and accessibility hints. Existing settings actions adopt it through their adapter.

Scope and approval

Maintainer-authored work requested by Julius as part of the mobile design-system stack. This layer only standardizes existing settings action rows; it adds no new settings or actions. Based on main after the earlier layers merged.

Verification

Mobile typecheck, targeted lint, and 53 dependency/theme tests pass. Inspected the microphone action on real iOS and Android clients. Action handlers are unchanged; destructive cache actions were not executed.

Before is on the left; after is on the right.

action-ios-before-after.jpg

action-android-before-after.jpg

Model: GPT-6.1. Harness: Codex.


Devin Review

@juliusmarminge juliusmarminge changed the title t3/mobile ds action rows refactor(mobile): share settings action rows Oct 12, 2026
@juliusmarminge
juliusmarminge marked this pull request as ready for review October 12, 2026 05:33
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 12, 2026
@juliusmarminge
juliusmarminge force-pushed the t3/mobile-ds-action-rows branch from 551ba8d to ee3c64c Compare October 12, 2026 05:33
@github-actions github-actions Bot added the size:L 100-499 changed lines (additions + deletions). label Oct 12, 2026
@juliusmarminge
juliusmarminge added this pull request to stack #18531 October 12, 2026 05:35
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Oct 12, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at ee3c64c

Macroscope's review found this PR approvable — This is a small, localized refactor that standardizes existing settings action rows on shared mobile list components. Its runtime effects are limited to presentation, interaction feedback, and accessibility state, with no new workflow or sensitive-system impact.

Notes:

  • Diff unchanged. Approvability was decided on eligibility alone.

No code changes detected at 2303735. Prior analysis still applies.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 3503b3a2-7230-42d6-9d20-72eff175d2fa
📥 Commits

Reviewing files that changed from the base of the PR and between 7369836 and 2303735.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 4a21aa06-1d97-4f24-99f7-caf0dec8bf3f
📥 Commits

Reviewing files that changed from the base of the PR and between 48595c7 and ee3c64c.

📒 Files selected for processing (3)
  • apps/mobile/src/components/ListActionRow.tsx
  • apps/mobile/src/components/ListRowLayout.tsx
  • apps/mobile/src/features/settings/components/SettingsActionRow.tsx

Limit details: You’ve used all 10 included reviews currently available.

📝 Walkthrough
📝 Walkthrough

Walkthrough

The pull request adds a shared mobile action row with accessibility states, Android-specific press behavior, loading feedback, and default or danger styling. The settings action row now re-exports this shared component.

Changes

Mobile action row

Layer / File(s) Summary
Shared action row
apps/mobile/src/components/ListRowLayout.tsx, apps/mobile/src/components/ListActionRow.tsx
ListRowLayout accepts default and danger tones. ListActionRow renders an accessible pressable row, disables interaction when disabled or loading, and shows a tone-dependent loading indicator.
Settings row reuse
apps/mobile/src/features/settings/components/SettingsActionRow.tsx
SettingsActionRow now re-exports ListActionRow instead of defining platform-specific rendering paths.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Merge Risk: ⚪ Minimal · up to ee3c6

The shared settings rows appear ready to merge after normal checks.

Pre-merge checks: Passed 4
Check name Status Explanation
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.
Title check Passed The title clearly describes the primary change: sharing settings action rows through a mobile refactor.
Description check Passed The description includes the required Problem, Change, Scope and approval, and Verification sections. It explains the shared-row migration, states the scope, lists focused verification results, and pr…
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@juliusmarminge juliusmarminge added the macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews label Oct 12, 2026 — with ChatGPT Codex Connector
@macroscopeapp
macroscopeapp Bot dismissed their stale review October 12, 2026 05:36

Dismissing prior approval to re-evaluate ee3c64c

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 4.9 KiB −23 B (−0.5%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −23 B (−1.9%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.8 KiB −41 B (−0.2%) 29.3 KiB ✅
Codex Live turn messages 2 1 −1 (−50.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 17e1087 · PR result: 2303735 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@juliusmarminge
juliusmarminge removed this pull request from stack #18531 October 12, 2026 06:07
@juliusmarminge
juliusmarminge added this pull request to stack #18542 October 12, 2026 06:09
@juliusmarminge
juliusmarminge removed this pull request from stack #18542 October 12, 2026 07:39
@juliusmarminge
juliusmarminge added this pull request to stack #18569 October 12, 2026 07:50
@juliusmarminge
juliusmarminge removed this pull request from stack #18569 October 14, 2026 02:06
@juliusmarminge
juliusmarminge added this pull request to stack #19216 October 14, 2026 02:08
@juliusmarminge
juliusmarminge removed this pull request from stack #19216 October 14, 2026 02:08
@juliusmarminge
juliusmarminge added this pull request to stack #19218 October 14, 2026 02:14
@juliusmarminge
juliusmarminge force-pushed the t3/mobile-ds-action-rows branch from ee3c64c to 7369836 Compare October 14, 2026 02:17
@juliusmarminge
juliusmarminge removed this pull request from stack #19218 October 14, 2026 05:53
@juliusmarminge
juliusmarminge added this pull request to stack #19267 October 14, 2026 05:58
@juliusmarminge
juliusmarminge removed this pull request from stack #19267 October 15, 2026 20:15
@juliusmarminge
juliusmarminge added this pull request to stack #20021 October 15, 2026 20:16
@juliusmarminge
juliusmarminge removed this pull request from stack #20021 October 15, 2026 20:55
@juliusmarminge
juliusmarminge added this pull request to stack #20030 October 15, 2026 20:55
@juliusmarminge
juliusmarminge force-pushed the t3/mobile-ds-action-rows branch from 7369836 to 2303735 Compare October 15, 2026 22:24
@juliusmarminge
juliusmarminge merged commit b089f95 into main Oct 15, 2026
28 checks passed
@juliusmarminge
juliusmarminge deleted the t3/mobile-ds-action-rows branch October 15, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

macroscope-review Opt PRs made by unvouched contributors in for Macroscope review. Vouched contributors auto-reviews size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant