Conversation
The Android Sessions list card's meta row read "host · branch", leaving out the one fact that tells several open sessions apart — which repo each works. Both of Android's other session rows (queued, ended) and the web's own active card already lead with it. The row now reads "repo · host · branch", through a new core/Sessions.kt `sessionRepoLabel`: a repos-root session says "repos root" rather than the agent's "(root)" wire sentinel, and a record with no repo at all reads "?" like the queued and ended rows do. A root session also drops the branch it has no worktree to have — otherwise the row asserts a "detached" HEAD it was never given — matching the Dashboard's session card. The row became a FlowRow so a long repo or branch wraps instead of ellipsising away the parts after it on a narrow phone.
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.
What
The Android Sessions-tab session card's meta row read
host · branch. It now readsrepo · host · branch.The repo is the one fact that tells several open sessions apart, and it was the only session row in the app missing it — the queued card (
id · repo · device), the ended row (id · repo · device) and the web's own active card (id · repo · device) all lead with it.How
core/Sessions.kt→ newsessionRepoLabel(session)(pure, JVM-tested, per the parity convention of putting logic incore/and keeping the composable a thin renderer):"repos root"in words, rather than the agent's(root)wire sentinel — the same thing the Dashboard card and the web session header already say;"?", as the queued and ended rows do, so the row can never lose a separator to a blank.ui/SessionsScreen.kt→SessionListCard: repo leads the row; a root session drops the branch, since it has no worktree and the row would otherwise readrepos root · host · detached, asserting a HEAD it was never given (again matching the Dashboard card). The row became aFlowRowso a long repo or branch wraps rather than ellipsising away everything after it on a narrow phone.android/PARITY.md: gap recorded as closed.Scope kept to the ticket: the web card also carries the session id and the ticket key, which Android's live card still omits — not touched here.
Verification
gradle testDebugUnitTest— green, including the newSessionsTestcase covering all foursessionRepoLabelbranches (named repo / root by flag / root by(root)sentinel / nothing reported).gradle assembleDebug— green.android-buildtier — no emulator, no system image, no KVM — and the project has no Robolectric/Compose-JVM test harness, so the rendered card was not viewed running. The layout change is confined to the metaRow→FlowRowswap shown in the diff; the string logic behind it is what the unit test covers.