Skip to content

fix: handle Copilot session-state without SQLite DB - #29

Merged
dezgit2025 merged 3 commits into
dezgit2025:mainfrom
erSpell:fix/copilot-session-state-health-fallback
Sep 30, 2026
Merged

dezgit2025 merged 3 commits into
dezgit2025:mainfrom
erSpell:fix/copilot-session-state-health-fallback

Conversation

@erSpell

@erSpell erSpell commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Preserve POSIX/WSL-style Copilot CLI workspace labels on Windows instead of rewriting leading slashes.
Add regression coverage for health discovery when Copilot CLI session-state events exist without the legacy SQLite session-store.db.
Relevant regression/provider tests and lint successful. The local suite excluding symlink-creation tests passed. The excluded symlink tests require Windows symlink privileges in this environment and are unrelated to the session-state fallback fix.

Tests

. .venv/Scripts/activate && python -m pytest src/session_recall/tests/test_provider_backends.py src/session_recall/tests/test_health_schema_multistorage.py -q
. .venv/Scripts/activate && python -m compileall -q src/session_recall && python -m ruff check src
. .venv/Scripts/activate && python -m pytest src/session_recall/tests -q -k 'not symlink'
. .Full Windows local testing excludes symlink tests
. .Closes [Bug] database not found. Copilot changed storage format from session-store.db to session-state folder #19

dezgit2025 added a commit that referenced this pull request Sep 30, 2026
Run e2e subprocesses from the system temp dir instead of /tmp, skip the
POSIX-only Codex reader on Windows, and mark the two Copilot CLI WSL-path
tests as strict expected failures on Windows until #29 lands.
Use Path's own rendering for non-POSIX workspace labels so relative paths
keep forward slashes on macOS and Linux. Remove the Windows expected-failure
markers now that POSIX/WSL paths are preserved.
@dezgit2025
dezgit2025 merged commit 4376c97 into dezgit2025:main Sep 30, 2026
15 of 16 checks passed
@dezgit2025

Copy link
Copy Markdown
Owner

Thanks @erSpell — solid fix, and the regression test for #19 is a great addition.

Before merging I pushed two small commits on top:

  • Merged current main, which now runs CI on Windows and adds workspace-label tests.
  • Rendered non-POSIX labels with Path(...) instead of ntpath.normpath(...), which was turning relative paths like projects/app into projects\app on macOS/Linux. Your POSIX/WSL handling is unchanged — and the new Windows job confirms it fixes the WSL path cases there.

All checks pass on Linux (Python 3.10–3.14), macOS and Windows. You'll be credited in the README Contributors list. Thanks again!

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