feat(ui): warn on shared default log dir; fix exit print and Up/Down scroll#107
Merged
Conversation
…scroll Three small UX fixes triggered by running multiple numux configs in the same project directory. - numux logs: when the resolved logDir comes from the default fallback and a `latest` symlink is in use, print a stderr warning before the path. Different configs in the same project share `/tmp/numux/<name>`, so `latest` may point at a sibling session's logs. - TUI exit: hoist the "Logs saved to: <session-dir>" print into a shared, idempotent finalizeShutdown() so the in-TUI Ctrl+C path prints it too — previously only signal-based shutdowns did. The printed dir is the timestamped session, never the symlink. - Up/Down keys: stop focusing the tab bar so its built-in arrow-key navigation no longer steals Up/Down from the global keypress handler. Up/Down now reliably scrolls the active pane; Left/Right and 1-9 still cycle tabs and mouse clicks still work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
🎉 This PR is included in version 2.16.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
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
Three small UX fixes triggered by running multiple numux configs in the same project directory.
numux logswarning: when the resolved logDir comes from the default fallback (<tmpdir>/numux/<project-name>/) and alatestsymlink is in use, print a stderr warning before the path. Different configs in the same project share the default base, solatestmay point at a sibling session's logs. SetlogDirper config or pass--log-dirto avoid the collision.Logs saved to: <session-dir>print into a shared, idempotentfinalizeShutdown()so the in-TUICtrl+Cpath prints it too. Previously only signal-based shutdowns did. The printed dir is the timestamped session dir, never the symlink — so it always points to a guaranteed-unique location.Up/Downfrom the global keypress handler.Up/Downnow reliably scrolls the active pane (matching what's already documented).Left/Rightand1-9still cycle tabs; mouse clicks still work.README updated to describe the default log directory location and the cross-config collision behavior.
Test plan
bun test(668 passing, including newlogs.test.tscoverage for warn / no-warn paths)bun run typecheckbun run lintnumux logswarnsCtrl+C, confirmLogs saved to:printsUp/Downin TUI scrolls active pane, never switches tab🤖 Generated with Claude Code