Skip to content

feat(ui): warn on shared default log dir; fix exit print and Up/Down scroll#107

Merged
hyldmo merged 1 commit into
mainfrom
hyldmo/log-dir-collision
May 4, 2026
Merged

feat(ui): warn on shared default log dir; fix exit print and Up/Down scroll#107
hyldmo merged 1 commit into
mainfrom
hyldmo/log-dir-collision

Conversation

@hyldmo
Copy link
Copy Markdown
Owner

@hyldmo hyldmo commented Apr 27, 2026

Summary

Three small UX fixes triggered by running multiple numux configs in the same project directory.

  • numux logs warning: when the resolved logDir comes from the default fallback (<tmpdir>/numux/<project-name>/) and a latest symlink is in use, print a stderr warning before the path. Different configs in the same project share the default base, so latest may point at a sibling session's logs. Set logDir per config or pass --log-dir to avoid the collision.
  • TUI exit print: 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 dir, never the symlink — so it always points to a guaranteed-unique location.
  • 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 (matching what's already documented). Left/Right and 1-9 still 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 new logs.test.ts coverage for warn / no-warn paths)
  • bun run typecheck
  • bun run lint
  • Manual: run two configs from the same project simultaneously, confirm numux logs warns
  • Manual: TUI session, exit via in-TUI Ctrl+C, confirm Logs saved to: prints
  • Manual: Up/Down in TUI scrolls active pane, never switches tab

🤖 Generated with Claude Code

…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>
@hyldmo hyldmo merged commit e26bd10 into main May 4, 2026
2 checks passed
@hyldmo hyldmo deleted the hyldmo/log-dir-collision branch May 4, 2026 10:42
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🎉 This PR is included in version 2.16.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant