Windows support: installer fix, sqlite_scanner elimination, CI, test fixes#66
Merged
Windows support: installer fix, sqlite_scanner elimination, CI, test fixes#66
Conversation
The release workflow produces .zip for Windows but install.ps1 was downloading .tar.gz and extracting with tar. Switch to .zip and use PowerShell's built-in Expand-Archive (available in PowerShell 5+, ships with Windows 10+) instead of requiring tar.exe. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
DuckDB's extension repository does not publish sqlite_scanner for MinGW builds, so INSTALL sqlite always fails on Windows. This was causing ugly warnings on TUI launch and preventing cache builds. Changes: - DuckDBEngine: skip sqlite_scanner on Windows, route ListAccounts and fetchLabelsForMessages through direct SQLite connection - build_cache: on Windows, export SQLite tables to temp CSVs and create DuckDB views (sqlite_db schema) so COPY-to-Parquet queries work unchanged - CI: add test-windows job that builds and runs full test suite Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…warnings - install.ps1: Add try/catch for Expand-Archive and PS version guard (#4552) - build_cache.go: Explicit TIMESTAMP types for sent_at/deleted_from_source_at in CSV views to prevent type inference failures (#4553-1) - .roborev.toml: Document \N sentinel as accepted design choice (#4553-2) - duckdb.go: Log warning when no label source available (#4553-3) - build_cache_test.go: Add TestCSVFallbackPath exercising the full SQLite→CSV→DuckDB views→Parquet pipeline (#4553-4) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- duckdb.go: sqlite_scanner now falls back gracefully on Linux/macOS instead of hard-failing (supports air-gapped/offline environments) - build_cache.go: setupSQLiteSource falls back to CSV path if sqlite extension unavailable on any platform - fs_helpers.go: validateRelativePath rejects rooted paths (\path, /path) that filepath.IsAbs misses on Windows - testutil_test.go: exclude "…." filename on Windows (trailing dots stripped) - Skip Unix permission checks (0600/0755) on Windows in 6 test files: export_attachment, manifest, attachments, sync, update tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
System temp dir can have restricted permissions on Windows for downloaded executables. Use the database's parent directory instead, which the user must already have write access to. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.ziparchives (matching release workflow) withExpand-Archive, including error handling and PS version guardtest-windowsonwindows-latest) with artifact uploadvalidateRelativePathfor rooted paths, exclude....filename on WindowsTest plan
make testpasses on macOSmake lintpassesmsgvault tuiworks on Windows with CSV fallback pathinstall.ps1downloads and extracts.zipcorrectly🤖 Generated with Claude Code