Skip to content

feat: add show_all_sessions option, session stability tracking, ci#22

Open
dbachelder wants to merge 4 commits intoliam-mackie:mainfrom
dbachelder:show_all_sessions
Open

feat: add show_all_sessions option, session stability tracking, ci#22
dbachelder wants to merge 4 commits intoliam-mackie:mainfrom
dbachelder:show_all_sessions

Conversation

@dbachelder
Copy link

Add show_all_sessions config option to display all active sessions,
not just those matching zoxide directories. Useful for seeing sessions
created outside of zsm.

Add stability tracking to prevent UI flickering from Zellij's
inconsistent session updates. Sessions must be missing for 3
consecutive updates before removal, and new sessions appear
immediately.

Changes:

  • Add show_all_sessions config option (default: false)
  • Add update_sessions_stable() with missing-count tracking
  • Add find_matching_zoxide_dir() helper to reduce code duplication
  • Add unit tests for stability tracking logic
  • Add GitHub Actions CI workflow (test, build-wasm, clippy, fmt)
  • Fix all clippy warnings and formatting issues

  Add show_all_sessions config option to display all active sessions,
  not just those matching zoxide directories. Useful for seeing sessions
  created outside of zsm.

  Add stability tracking to prevent UI flickering from Zellij's
  inconsistent session updates. Sessions must be missing for 3
  consecutive updates before removal, and new sessions appear
  immediately.

  Changes:
  - Add show_all_sessions config option (default: false)
  - Add update_sessions_stable() with missing-count tracking
  - Add find_matching_zoxide_dir() helper to reduce code duplication
  - Add unit tests for stability tracking logic
  - Add GitHub Actions CI workflow (test, build-wasm, clippy, fmt)
  - Fix all clippy warnings and formatting issues
@dbachelder
Copy link
Author

I'm not a rust dev.. so lmk if this is too much.. I asked claude to add some tests which led to it adding cargo fmt and clippy.. so I fixed all the warnings from those. which made this PR bigger..

@liam-mackie
Copy link
Owner

Hi! Thanks for the contribution! I'm actually mid-way through a re-write, based on some features and maintainability that I wanted to fix up. There are two ways I think we can do this:

  1. I merge this in, and then include it as part of the re-write
  2. I merge in the re-write and incorporate this change (either you or I can do this)

Happy to discuss based on what you'd like to do!

@dbachelder
Copy link
Author

Either way is fine with me! I'll use my branch in the meantime as I needed to transition to the new workflow over time and not lose all my existing sessions. If you could maybe pull in the fmt and clippy changes to your rewrite, that will make merging this in easier.. but also feel free to merge this or take what you want from it. I'm not precious about any of it! thanks for putting this out there in the first place!

dbachelder and others added 3 commits January 7, 2026 16:28
The .cargo/config.toml sets wasm32-wasip1 as the default target,
but tests must run on a native target. Explicitly specify
x86_64-unknown-linux-gnu for the test job.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants