Repository navigation
fix(web-ui): make the kiro session picker load from metadata only - #413
Merged
Merged
Conversation
listSessions() parsed every .jsonl log under ~/.kiro/sessions/cli in full on each picker open, only to count prompts. On a 655-session / 3.7 GB store that took ~100 s; building the list from .json metadata takes ~0.09 s. - Drop messageCount from KiroSessionSummary and the picker / fork card - Read a log only when the stored title is empty, stopping at the first prompt - Make the picker dialog a height-capped flex column so "Show all" scrolls
Merged
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.
Summary
The Local-mode "Continue from a kiro session" picker parsed every
.jsonllog under~/.kiro/sessions/cliin full on each open, only to count prompts. On a real store(655 sessions, 3.7 GB, largest log 354 MB)
listSessions()took ~100 s; it now takes~0.09 s with identical
groups/recentresults..jsonmetadata only; dropmessageCountfromKiroSessionSummary, the picker row and the fork progress card (unused i18n keyssessionPicker.messages/forkProgress.sessionMetaremoved from en + ja)first prompt — listing no longer scales with log size, and depends far less on
kiro-cli's undocumented log format
DialogContentdefaults togrid,so the list's
flex-1 overflow-y-autonever applied and "Show all" was clipped)Testing
non-prompt lines and stops at the first prompt
npx eslint src/ --quiet,npx tsc --noEmit,npm test(359 passed),npm run build:cloudash scan --mode local --fail-on-findings(passed)npm run dev:local—/api/agent/sessions0.29 s warm,?all=10.21 s;"Show all" list scrolls