Skip to content

Fix cache to store full session list, filter post-cache#342

Merged
joshmedeski merged 1 commit intomainfrom
cache-layers
Feb 21, 2026
Merged

Fix cache to store full session list, filter post-cache#342
joshmedeski merged 1 commit intomainfrom
cache-layers

Conversation

@joshmedeski
Copy link
Owner

@joshmedeski joshmedeski commented Feb 21, 2026

Summary

  • The CachingLister was passing source filters (--tmux, --zoxide, etc.) and HideDuplicates through to the inner lister, causing the cache to store partial results. Subsequent calls with different filters returned incorrect data from cache (e.g. sesh list --tmux then sesh list --zoxide would return tmux sessions for both).
  • Now the inner lister always fetches all sources without dedup, and source filtering, HideDuplicates, and HideAttached are all applied as post-cache filters in applyFilters.
  • Added tests for source filtering from cache, sequential calls with different filters, and post-cache dedup.

Test plan

  • just test — all existing + new tests pass
  • Manual: enable cache = true in config, run sesh list --tmux then sesh list --zoxide and confirm each returns the correct source

🤖 Generated with Claude Code

The CachingLister was passing source filters and HideDuplicates through
to the inner lister, causing the cache to store partial results.
Subsequent calls with different filters (e.g. --tmux then --zoxide)
would return incorrect data from cache. Now the inner lister always
fetches all sources without dedup, and source filtering, HideDuplicates,
and HideAttached are all applied as post-cache filters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@joshmedeski joshmedeski merged commit 2ad444f into main Feb 21, 2026
4 checks passed
@joshmedeski joshmedeski deleted the cache-layers branch February 21, 2026 21:49
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.

1 participant