Skip to content

UI evidence for subagent model tooltip fix - #68

Closed
Bil0000 wants to merge 2589 commits into
mainfrom
fix-subagent-model-tooltip
Closed

Bil0000 wants to merge 2589 commits into
mainfrom
fix-subagent-model-tooltip

Conversation

@Bil0000

@Bil0000 Bil0000 commented Sep 18, 2026

Copy link
Copy Markdown
Owner

V2 sub-agent tooltips showed "Unknown" when the sub-agent record omitted its model, even when the child thread had a model selection.

Use the child thread as a fallback and resolve model aliases with the existing composer name helpers. Both Lineage and timeline tooltips open after 200 ms instead of the default 600 ms. The Lineage title shows the running sub-agent count across all pages and hides the count at zero.

If neither record provides a model, the tooltip says "Not reported" instead of guessing. This changes the shared web/desktop UI; mobile has no hover tooltip.

Verified with 56 focused tests, web typecheck, and lint. Reproduced the bug and checked the fix at 1280 px and 820 px in an isolated app; measured the tooltip opening at 226 ms.

Before:
Unknown model before the fix

After:
Model name and running count after the fix

Hover timing:
Hover timing

Model: GPT-6. Harness: Codex.

subagent-tooltip-before

subagent-tooltip-after

subagent-tooltip-hover.mp4

juliusmarminge and others added 30 commits September 18, 2026 01:55
Adapt grouped tool summaries and the floating working timer to V2 run, attempt, and queue state. Bring over the composer, keyboard, and disclosure transitions while retaining the V2 activity inspector and queue controls.

Keep OV2 web composer and grouping behavior intact; share only the existing command label parser with mobile.
Restores main features dropped by the policy replay: pingdotgg#8569 theme wiring,
settings search rework, pingdotgg#8803 workspace-mutation refresh (v2-adapted),
video + image previews (web and mobile, v2-adapted), pingdotgg#8862 Expo glass,
and the round's docs. Timeline thinking rows (pingdotgg#8984) stay on the v2
work-live system.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The v2 equivalents of main's pingdotgg#8984 and pingdotgg#8922: a "Working for ..." header
anchors the active run, the trailing live tool row survives between
actions in past tense instead of vanishing, and a shimmering Thinking
row marks reasoning gaps. During workspace preparation the header shows
"Setting up worktree..." (driven by the local dispatch flag or the v2
run's preparing status, so remote viewers see it too), the composer
footer span is gone, and draft promotion waits until the run starts or
startup fails instead of navigating mid-preparation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopts the round's main features into the v2 architecture: the pingdotgg#9023
media rework (streamed videos, media-file assets, protocol-relative
links), pingdotgg#9098 shared live-activity row folded into the v2 working and
thinking rows, the pingdotgg#9084/pingdotgg#9078 Claude model catalog for v2 consumers,
a native pingdotgg#9005 OpenCode child-session abort in the v2 adapter, pingdotgg#9013's
landed LegendList patch, and per-environment sidebar provider entries.
For pingdotgg#8600 the server-side pieces land, but auto-settle evaluation stays
client-side (reading the new server-owned settings) until the v2
orchestrator grows its own settlement reactor; main's v1-only reactor
and coalescer additions are dropped with the rest of the v1 path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ator

Ports pingdotgg#8600's server-owned settlement to orchestration v2 instead of
keeping client-side evaluation. A ThreadSettlementService sweep runs at
startup, on auto-settle settings changes, and once per minute: it
evaluates inactivity and merged or closed pull requests over v2 thread
shells and dispatches the new guarded thread.auto-settle command, which
rejects threads that changed after the sweep's snapshot or carry any
explicit override, then reuses the orchestrator's settle lifecycle.
With the server deciding, the clients drop their effectiveSettled
evaluation and partition on the persisted settledOverride like main.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopts main's round-19 features into the v2 stack: payload-budgeted
orchestration replay (pingdotgg#8992), sidebar row subscription leases (pingdotgg#9052),
tool group virtualization and scroll anchoring (pingdotgg#9106), repeated-command
and browser-group presentation, inline assistant citations (pingdotgg#9146),
per-cwd provider skills discovery (pingdotgg#8778), Claude composer skill
dispatch (pingdotgg#9128), grok health probe and model negotiation (pingdotgg#9154), and
the failed-tool thinking fallback (pingdotgg#9165).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Round 17 adopted main's pingdotgg#8850 ComposerBanner.Attachment (mx-auto plus the
standalone drawer-inset width) without main's matching mounts, so the
stash tab's ml-auto lost to the attachment's auto right margin and the
tab centered over the composer. Column now spans its attachments like
main does, the stash tab zeroes the right margin, and the stash menu
keeps the full dock width.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The branch had drifted from main's composer and work-log design in ways
unrelated to orchestration v2: a pre-revert "Working for" shoulder tab
on the composer (main reverted pingdotgg#8693 and re-landed pingdotgg#8734 without it),
an inline stash variant plus in-flow stash menu, expanded tool rows that
hid their icons, an unmounted woke-thread banner, a composer scroll
observer main never had, and a right-panel toggle that lost its
showRightPanelControl gate so it rendered twice with the panel open.

ChatComposer and its satellites now start from main's files with only
the v2 delta re-applied (dispatch modes, queued-message editing, runtime
request ids, response capability). Background tasks surface as a
ChatView banner in main's backgroundLiveness shape instead of a
composer tab. SimpleWorkEntryRow takes main's PlainWorkEntryRow body
with the V2ItemInspector kept behind the expander.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Renumbers the v2 migrations 044-052 to 045-053 behind main's
044_ClearAutomaticProjectModelDefaults, and adopts main's sticky
new-thread selection (pingdotgg#9164), local-only worktree bases in the v2 launch
path (pingdotgg#8751), the PR summary read for settlement (pingdotgg#9176), Claude per-cwd
skills (pingdotgg#9210), the provider editor redesign with the branch's dedicated
environment fields re-grafted (pingdotgg#8508), and the client half of
continue-threads-across-restart (pingdotgg#9167). The server-side continuation
markers stay unported: they live in the v1 session directory, and v2
recovery terminalizes running runs on restart, so the capability is
withheld until the v2 runtime carries them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Index event sequence lookups, recover only threads with pending work, and page projection verification and rebuilds. Bound provider event logging and omit turn histories when resuming Codex threads.

Allow delegated thread identifiers through relay routes. Add focused regression coverage and document the performance constraints.
Retain main's composer, work-log, settings, mobile and performance changes through c8f77e0 while preserving v2 runs, queued messages, provider handoffs and durable history.

Port native compaction and logout, asynchronous Codex questions, provider usage accounting, automatic settlement and PR refresh into the v2 services. Bound live event retention during replay and delivery, measure thread replay before decoding, and read checkpoint metadata without loading transcripts or patches.

Keep main migrations through 047 and move the v2 migrations to 048–058. Preserve the existing branch history and the pre-rebase backup.

Model: GPT-6. Harness: Codex.
- Preserve Codex turn identity while suppressing duplicate diff notifications
- Optimize settlement projections and isolate thread visit handling
- Add concurrency and regression coverage across server and mobile
Restore the completed work timer divider and text size from main. Keep todo-list progress in the composer and omit it from web and mobile timeline entries, including completed task lists.

Verified pending, running, and completed task projection; 187 focused web tests and 35 mobile tests pass. Web and mobile typechecks pass.
Show Send when a running thread has draft content. Separate submission follow
from first-message anchoring so later sends do not reserve extra blank space.
Restore Android initial composer insets and iOS focus-aware dictation insets.

Keep opening and final assistant replies visible around completed folds,
anchoring Worked for at the first hidden item while preserving v2 relationship
cards and execution-attempt behavior.

Validation: 107 focused tests and the mobile typecheck pass. Formatting passes;
scoped lint and React Doctor report warnings but no errors. No simulator run.
…rk (pingdotgg#4793)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
juliusmarminge and others added 28 commits September 18, 2026 01:56
…g#12174)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Sep 18, 2026
@Bil0000 Bil0000 closed this Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

7 participants