Symptom. Each session row in DeviceDetailsScreen's "Sessions from this device" list renders only the title and a status pill (Live/Idle/etc.). It does NOT show the "N approval" tag or unread-dot that the exact same session gets in SessionDrawer's row.
Why it matters. A user reviewing a device's session history has no way to tell, at a glance, that one of its sessions needs an approval decision right now — the single most time-sensitive piece of state in the whole app is silently dropped on this screen.
Source. mobile/src/ui/screens/DeviceDetailsScreen.tsx (device-session-row — renders only session.meta.title + derived.label/tone); mobile/src/ui/sessions/SessionDrawer.tsx (renderRow — pending > 0 alert tag + unread-dot, not reused on the device-details list).
Direction. Reuse the same pending-approval tag + unread-indicator markup/logic already implemented for SessionDrawer's rows.
Symptom. Each session row in
DeviceDetailsScreen's "Sessions from this device" list renders only the title and a status pill (Live/Idle/etc.). It does NOT show the "N approval" tag or unread-dot that the exact same session gets inSessionDrawer's row.Why it matters. A user reviewing a device's session history has no way to tell, at a glance, that one of its sessions needs an approval decision right now — the single most time-sensitive piece of state in the whole app is silently dropped on this screen.
Source.
mobile/src/ui/screens/DeviceDetailsScreen.tsx(device-session-row— renders onlysession.meta.title+derived.label/tone);mobile/src/ui/sessions/SessionDrawer.tsx(renderRow—pending > 0alert tag +unread-dot, not reused on the device-details list).Direction. Reuse the same pending-approval tag + unread-indicator markup/logic already implemented for
SessionDrawer's rows.