Keyboard-driven scrollIntoView moves the list under a stationary cursor,
causing the browser to fire mouseenter and re-run setSelectedIndex. A
pointer flag now suppresses mouse handlers during keyboard scrolls and
re-enables them on real mouse movement. Also uses createSelector for
preActiveIdx to avoid O(n) reactivity updates across all rows.
Add troubleshooting tip explaining how to access and restore config
files (especially openclaw.json and openclaw.bak) via the KiloClaw
Dashboard. Also update the filesystem FAQ entry to reference the new
tip for consistency.
Fix tool titles overflowing and becoming unreadable at narrow widths by
adding CSS truncation with direction:rtl for front-ellipsis on filenames,
directory paths, URLs, and apply-patch accordion entries. Add native title
tooltips so full paths are visible on hover.
Closes#7339
* refactor(vscode): extract handler modules from KiloProvider god class
* fix(vscode): remove unused exports flagged by knip
- Remove kilo-provider/types.ts (HandlerContext unused)
- Make slimMeta file-local (only used internally by slimPart)
- Make MigrationExtensionContext file-local (only used by MigrationContext)
- Make QuestionContext file-local (only used by handler functions)
* feat(vscode): add keyboard shortcuts to permission prompt
* fix: also skip BUTTON targets in keyboard handler to avoid overriding focused controls
* fix: let Escape deny from any focused element, only guard Enter for buttons
The auto-approve toggle commit (#7347) referenced this.provider which
doesn't exist on AgentManagerProvider. Route through the SessionProvider
interface (this.panel.sessions) instead and add the missing
getSessionDirectories method to the interface and its vscode-host
implementation.
* feat(vscode): add toggle auto-approve shortcut (Ctrl+Alt+A)
* refactor: use runtime auto-accept pattern instead of config writes
Address review feedback:
- Read/respond to permission.asked SSE events at runtime (like desktop app)
- No longer writes to global config, avoiding merged-vs-global layer issues
- No hardcoded tool list needed — responds to any permission.asked event
- Drains pending permissions on enable, invalidates on disable
* Fic cycling
* fix(vscode): resolve auto-approve directory from both sidebar and Agent Manager providers
The directory resolver now queries both the sidebar KiloProvider and
AgentManagerProvider session maps, so worktree sessions get the correct
directory for permission replies and pending drains.
The architecture page was written as a proposal before implementation and
had drifted from the shipped feature. Key updates:
- Rename 'Auto: Open' to 'Auto: Balanced' (kilo-auto/balanced)
- Add mode-to-model mapping tables for Frontier and Balanced tiers
- Fix defaults: authenticated users default to balanced, not frontier
- Change tone from proposal to documentation of current system
- Add implementation architecture section (split client/server design)
- Update model picker, risks, and compliance sections accordingly
Update upstream merge scripts to use a generic x-opencode- → x-kilo- regex
that catches all current and future headers automatically. Apply the same
replacement to all source files so the codebase is ready for the next
upstream merge.