mirror of
https://github.com/NeuralNomadsAI/CodeNomad.git
synced 2026-10-21 05:06:37 +00:00
fix(timeline): stop adding an empty agent marker after every tool step In OpenCode V2 each agent step is its own assistant message, and most steps only call tools. The timeline's structural index for history knew an assistant message's tool and reasoning counts but not whether it had text, so the projection drew a tool marker followed by an agent marker for every step. For tool-only and reasoning-only steps that agent marker was empty: no hover preview, and clicking it reached a message showing nothing but its tools, or nothing when tools are hidden in Message content. Resident (loaded) messages already dropped such markers. The outline index now also counts an assistant message's non-blank text parts that are neither synthetic nor ignored, the same text the hover preview shows. The projection draws an assistant marker only when that count (or the resident segments) shows visible text, so a tool-only step keeps its tool marker alone and a reasoning-only step has none. The count is optional in the contract: an older plugin copy still loaded by the daemon reports no count, and its markers stay as before. Persisted indexes saved without the count display immediately and then revalidate every checkpoint once, like the representative tool names. The unused message-timeline-group-* classes, which no stylesheet or test referenced, are removed; the group spacing that still uses tool membership is kept. Validation: navigation.test covers text counts for text, tool-only and blank/synthetic/ignored/reasoning-only steps; session-outline-projection covers tool-only, reasoning-only, text, unknown-count, shell and resident cases; session-outline-persistence covers validation and the one-time refresh of indexes without counts; the native navigation script now asserts the counts on real native storage (CI). history-navigation, timeline-tool-filters, system-messages and render-cost browser tests, the session-outline tests and the UI typecheck pass. |
||
|---|---|---|
| .. | ||
| architecture.md | ||
| BROWSER_AUTOMATION.md | ||
| BROWSER_DEVICE_EMULATION.md | ||
| CACHE_REFRESH_CONVENTIONS.md | ||
| DESKTOP_DATA_PROFILES.md | ||
| DEVELOPER_MODE.md | ||
| FILES_PANEL.md | ||
| HOTKEYS.md | ||
| INDEX.md | ||
| MISSIONS.md | ||
| MISSIONS_AUTONOMOUS_PLUGIN_REQUIREMENTS.md | ||
| MISSIONS_CONTINUITY_CONTRACT.md | ||
| MISSIONS_ENVIRONMENT_ADMISSION.md | ||
| MISSIONS_FAMILY_AUTHORITY.md | ||
| MISSIONS_HUMAN_ANSWER_RECEIPTS.md | ||
| MISSIONS_NATIVE_PRODUCT_ACCEPTANCE.md | ||
| MISSIONS_RECURRING_SIMPLE.md | ||
| MISSIONS_RECURRING_SIMPLE_QUALIFICATION.md | ||
| MISSIONS_REFACTOR_VALIDATION.md | ||
| MISSIONS_SESSION_RECOVERY.md | ||
| MISSIONS_WATCHED_SOURCES.md | ||
| NATIVE_INTERRUPTION_UX.md | ||
| OPENCODE_V2_COMPATIBILITY.md | ||
| OPENCODE_V2_POST_BETA.md | ||
| PALETTE_SOURCES.md | ||
| PANEL_EXTENSIONS.md | ||
| PLUGIN_ACTIVATION_CONTROLS.md | ||
| PROVIDER_ACCOUNTS_UX_PLAN.md | ||
| REMOTE_CONTROL.md | ||
| RUNTIME_MAINTENANCE.md | ||
| SESSION_ENVIRONMENT.md | ||
| SESSION_HISTORY_NAVIGATION.md | ||
| SESSION_HISTORY_QUERIES.md | ||
| SESSION_PRUNING_RPC.md | ||
| SESSION_PRUNING_SAFETY.md | ||
| solidjs-llms.txt | ||
| TAURI_UPDATER.md | ||
| TAURI_WINDOWS_RUNNER_REFCOUNT.md | ||
| TEXT_DISPLAY_BOUNDS.md | ||
| USER_HELP.md | ||
| WORKTREE_SESSION_PLACEMENT.md | ||