Add vim-style keyboard navigation to the Forensic Timeline#33
Merged
Conversation
j/k moves a focused-row highlight through the current page of timeline rows; f stars/unstars it; i prefills the manual IOC form from its dstIp/srcIp/asset; p pins/unpins its finding when exactly one is cited; n opens a comment on it; ? shows a shortcut cheat sheet; Esc closes the cheat sheet or clears focus. All ignored while typing in any field or with a modifier held, and toggleable in Settings -> General (default on).
…t sheet The global shortcut handler skips INPUT targets by design, so Esc did nothing once focus landed in the prefilled IOC value field after pressing i — there was no way to back out. Add a field-scoped Escape handler (matching the existing #globalSearch pattern) that clears the value, blurs it, and re-collapses the manual-add form if the i shortcut is what opened it (left alone if the analyst had it open already via the section's own + toggle).
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
j/kmove a focused-row highlight through the current page of events,fstars/unstars the focused event,iprefills the manual IOC form from its dstIp/srcIp/asset,ppins/unpins its finding (only when exactly one is cited),nopens a comment on it,?shows a shortcut cheat sheet, andEsccloses the cheat sheet, cancels theifield, or clears focus.iflow: since the global handler skips INPUT targets by design, a field-scoped Escape handler was added on the IOC value input (mirroring the existing#globalSearchpattern).Test plan
fairhaven-rdp-gtground-truth benchmark case (18,573 events) and drove every shortcut via the browser: j/k focus movement + clamping, f star toggle + focus restore after re-render, i field prefill + type selection, n comment modal scoping, p pin/no-op behavior, ?/Esc cheat sheet, Esc-cancel of the i field (both auto-opened and already-open cases), input-guard blocking shortcuts while typing, and the Settings toggle disabling/re-enabling the listener./global-search shortcut.