Skip to content

fix: expand e2e coverage and docs for session sync compatibility#53

Merged
iHildy merged 3 commits intomainfrom
ian/fix-51-session-sync-sqlite
Apr 13, 2026
Merged

fix: expand e2e coverage and docs for session sync compatibility#53
iHildy merged 3 commits intomainfrom
ian/fix-51-session-sync-sqlite

Conversation

@iHildy
Copy link
Copy Markdown
Owner

@iHildy iHildy commented Apr 12, 2026

Summary

  • extend session sync planning to include both legacy storage paths and opencode.db
  • mark session sync items to preserve repo artifacts when the local source format is missing
  • update sync apply behavior to honor preserve-on-missing semantics and handle SQLite sidecar files with opencode.db
  • add regression tests for sync planning and apply behavior across missing/present session artifacts
  • expand E2E tooling/docs to run feature-specific variants (including sessions), review result artifacts directly, and validate session rename propagation
  • update README session docs to cover SQLite + legacy compatibility and restart expectations after pull

Testing

  • bun run check
  • bun test
  • bun run build

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for syncing the SQLite session database (opencode.db) and its associated sidecar files (-wal, -shm) while maintaining compatibility with legacy JSON session storage. Key changes include the implementation of a preserveWhenMissing flag in the sync logic to prevent accidental deletion of remote session data when local files are absent, and a new copySessionDbBundle utility to handle SQLite-specific file groups. The E2E testing framework has been significantly enhanced with new flags for secrets and sessions, retry logic for the sync-link command, and direct SQLite assertions to verify data integrity across synced instances. A bug was identified in the parse_jsonc helper function where a global regular expression could corrupt string values containing trailing comma patterns.

@jules-relay
Copy link
Copy Markdown

jules-relay bot commented Apr 12, 2026

🤖 Review Jules Relay

I found 1 Gemini suggestion so far.

Type /relay batch to send all suggestions to Jules.

@iHildy iHildy self-assigned this Apr 12, 2026
iHildy and others added 2 commits April 12, 2026 19:20
* feat: add Turso session backend with setup and migration commands

* fix: make sync-link repo selection deterministic for e2e (#55)

* fix: make sync-link repo selection deterministic for e2e

* fix: harden turso runtime session sync safety

* fix: harden repo reference parsing for PR feedback

* refactor: reduce turso sync io overhead

* fix: harden turso session sync transport and timeouts
@iHildy iHildy merged commit 78a4f88 into main Apr 13, 2026
3 checks passed
@iHildy iHildy deleted the ian/fix-51-session-sync-sqlite branch April 13, 2026 06:20
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