Repository navigation
feat(mobile): show the device driver once per workspace row - #1563
Merged
janicduplessis merged 1 commit intoSep 26, 2026
Merged
Conversation
janicduplessis
added this pull request to stack #1566
September 26, 2026 18:30
janicduplessis
commented
Sep 26, 2026
janicduplessis
left a comment
Collaborator
Author
There was a problem hiding this comment.
Fresh review of the diff against feat/1562 (the stack parent).
No blocking bugs found.
Checked:
- Dedupe and most recent start.
driversSummarydedupes tools through aSetin device order and takesMath.maxover the parseablesincevalues. A driven device with nosincestill contributes its tool name. The tests cover both cases. - Offline frozen time.
activityAt = offline ? (lastSeenAt ?? now) : nowmatches thefrozenAtthe remainingActivityChips receive, so the driver pill and the row label freeze the same way the per-device chip did. The row'snowcomes fromuseNow(30_000)inhome.tsx, so the pill ticks at the same rate asActivityChip. - Accessibility label. The row's
Touchis one accessible element.[title, lastSeen, ...drivenLabels].filter(Boolean).join(', ')gives the composition shown in the test plan, anddrivenLabelreusesplatformName, so the slot suffix matches the visible pill. - Pill tones. A driven platform pill is accent with a dot online and neutral with a dot offline. The summary pill follows the same rule, and a device that is not driven keeps success/neutral plus its idle or unknown chip.
Minor, non-blocking:
apps/mobile/src/lib/format.ts(driversSummary): a driver with notoolshows the visible pill text "an unknown tool · 5m". That fallback reads well after "Driven by" but awkwardly on its own. Something like "unknown tool" in the summary would read better. This is rare, sinceactivity.driver.toolis normally set.
janicduplessis
force-pushed
the
feat/1555-mobile-driver-pill
branch
from
September 26, 2026 18:42
74fa33b to
fb77913
Compare
janicduplessis
marked this pull request as ready for review
September 26, 2026 18:45
This was referenced Sep 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Stacked on #1562 (screens on the design tokens); this diff is against that branch.
The home workspace row showed a "Driven by · " pill after each driven device's platform pill. With two driven devices the row wrapped to three lines.
Solution
driversSummaryinlib/format.ts.drivenLabel).Before (left) and after (right):
The screenshots use a local mock-fixture edit with two driven devices, which is not in this diff.
Test plan
driversSummarynames a tool once with the most recent start, lists distinct tools, and ignores devices that are not driven.drivenLabelspells out minutes and hours.pnpm run format:check,pnpm run lint,pnpm run typecheckandpnpm testpass.Workspace vince/polish-chatting-experience on Mock Mac, iOS, driven by agent-device for 55 minutes, iOS · ios18, driven by agent-device for 8 minutes.Fixes #1555