Journal v1.9.2: update documentation for rich sections
Details
Updates PLUGIN_CONTEXT.md and DetailedDescription to document all new
section types (text, photos, audio, maps), progressive loading, and
section schema. Covers photo layouts, audio recording + transcription,
map geocoding, and backward compatibility with legacy plain-text entries.
Add cloud module test coverage: credential manager, envelope, sharing, error
Details
New test files and expanded existing ones for privstack-cloud:
- cred_manager_integration_tests.rs: 8 tests covering CredentialManager
lifecycle (caching, refresh, clear, expiry-driven refresh, error propagation)
- envelope_manager_tests.rs: 12 tests covering EnvelopeManager (keypair
state, open_dek roundtrip, seal_dek_for_user via wiremock, create_and_store,
retrieve_and_open)
- sharing_tests.rs: 8 tests covering ShareManager (create, accept, revoke,
get shares, error cases) via wiremock
- error_behavior_tests.rs: expanded from 24 to 37 tests, adding Display
coverage for all CloudError variants and Http variant testing via real
reqwest errors (connect failure, timeout)
- types_tests.rs: added RateLimitConfig, SyncProgress, StsCredentials
optional fields, BatchMeta int deserialization, QuotaInfo string parsing
- compaction_tests.rs: added recovery_key_s3_key format test
Coverage improvements: credential_manager 0%→98%, sharing 0%→72%,
envelope 0%→61%, error 78%→91%. Overall cloud coverage 45%→53%.
Add comprehensive test suite for privstack-datasets (73 tests)
Details
Covers all DatasetStore operations from 0% to near-full coverage:
- CRUD: create_empty, list, get, delete, rename, set_category
- Mutations: insert_row, update_cell, delete_rows, add_column,
drop_column, rename_column, alter_column_type, duplicate,
import_csv_content, execute_mutation (committed + dry-run)
- Queries: query_dataset (pagination, sort, filter), get_columns,
execute_raw_query, aggregate_query, aggregate_query_grouped,
execute_sql_v2 (with source: alias resolution)
- Relations: create, list, delete
- Row-page linking: link, get_page_for_row, get_row_for_page, unlink
- Saved queries: create, update, delete, list, is_view flag
- Views: create, update, delete, list, config roundtrip
- Types: DatasetId format, DatasetColumnType mapping, serde roundtrips,
RelationType, StatementType, FilterOperator, SortDirection
Fix 3 bugs in privstack-datasets found during test coverage work
Details
1. DatasetColumnType::from_duckdb("DATETIME") mapped to Date instead of
Timestamp — the DATE branch matched before the TIMESTAMP/DATETIME
branch. Reorder match arms so Timestamp is checked first.
2. DatasetStore::delete() violated FK constraints by deleting the
_datasets_meta row before the _dataset_relations, _dataset_row_pages,
and _dataset_views rows that reference it. Reorder to delete
dependent rows first.
3. query_mutation_preview() panicked on DuckDB 1.4.4 because
column_count()/column_name() crash on un-executed prepared
statements. Use DESCRIBE to get column info instead.
Fix batch_ordering_by_list test prefix + auto-kill port conflicts in build.sh
Details
- cross_verify_integration.rs: list prefix was missing `users/` and
`workspaces/` path segments, so it matched 0 keys instead of 3
- build.sh: before starting test containers, kill any process already
bound to ports 9000 (MinIO) or 3307 (MySQL) to prevent docker
compose bind failures
Get notified about new releases