* fix(vscode): render streaming assistant rows outside virtualizer to prevent layout jumps
Replace the `keepMounted` index-based approach with a direct rendering
suffix for active assistant turns. Rows belonging to the streaming turn
are partitioned out of the virtualizer and rendered as plain DOM elements,
eliminating measurement instability caused by rapidly growing content
while preserving virtualized history for completed turns.
* Update packages/kilo-vscode/webview-ui/src/components/chat/MessageList.tsx
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
* fix(vscode): complete direct row ID rename
* refactor(transcript-rows): restrict direct partition to only the latest visible turn
Simplify partitionRows so that older streaming turns are no longer
retained in the direct (non-virtualized) output once a newer turn
becomes visible. The lookup now checks only the final row's turn
against the direct set, ensuring completed assistant turns move back
into the virtualizer immediately when the conversation advances.
---------
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
On Windows, PowerShell commands with non-ASCII characters (e.g., Chinese, Japanese, Cyrillic) produce garbled output (mojibake) because the console encoding defaults to the system OEM code page rather than UTF-8.
Switch from `-Command` to `-EncodedCommand` with a Base64-encoded UTF-16LE payload that explicitly sets `[Console]::InputEncoding`, `[Console]::OutputEncoding`, and `$OutputEncoding` to UTF-8 before executing the original command. This ensures both input and output are properly encoded as UTF-8 regardless of the system locale.
Fixes#4138Fixes#2422Fixes#2939
When `kilo console --port 4321` reuses an already-running daemon on a
different port (e.g. 4097), the new options were silently ignored. Now
`kilo console` checks if the running daemon matches the requested
host/port, and restarts if they differ.
The restart only occurs when explicit `--port` or `--hostname` options
are provided via CLI, not when using default values.
Print a yellow non-fatal warning when kilo console or kilo daemon
start/restart is invoked with an explicit --port outside 4097-4116.
Auto-discovery only scans that window, so an out-of-range port can
silently break later manual or auto-connect attempts.
Implementation stays entirely in Kilo-owned files to avoid touching
upstream shared code:
- Added packages/opencode/src/kilocode/cli/port-warning.ts helper
exporting warnPort(port), which skips port 0 (auto-pick) and emits
a yellow console.warn when the explicit port is outside
Daemon.PortRange.
- Hooks the helper from console.ts and daemon.ts (start/restart)
The command still succeeds; the warning is informational only.
Reads terminal.integrated.fontFamily and terminal.integrated.fontSize (with
editor font fallback) instead of the editor font CSS var. A config watcher
broadcasts fontChanged messages so live terminals update without a reload.
Nerd Font glyphs now render correctly in Agent Manager terminal tabs.