experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(schema): add schema codegen system with comprehensive test coverage

Summary:
- Canonical schema definition (schema/v1.json) as single source of truth
- Code generator producing SQLite, TypeScript, Rust from schema
- 26 fidelity tests verifying all backends match canonical schema
- Runtime validation integrated into Server and Electron backends
- Build integration (yarn build runs codegen automatically)
- Mobile schema drift documented as priority TODO in README

Test coverage verified (411 tests):
- Unit: 79 | Schema: 26 | Extension: 114 | Server: 110
- Sync: 9 | Version compat: 15 | Three-way: 8 | Mobile: 6
- Tauri Rust: 16 | Sync E2E: 13 | Version E2E: 15

Fixes applied:
- Schema path corrected for compiled JS (dist/backend/electron/)
- TypeScript type annotation for PRAGMA result
- Server Node engine aligned to v22 (matches Electron/repo policy)
- Mobile yarn.lock added for workspace isolation

Deferred: Interactive full e2e (requires mobile build env in release-builder workspace)

+4 -4
backend/tauri-mobile/yarn.lock

This is a binary file and will not be displayed.

+1 -1
schema/generated/sqlite-full.sql
··· 1 1 -- Generated by schema/codegen.js 2 2 -- Schema version: 1 3 - -- Generated: 2026-01-29T19:55:59.961Z 3 + -- Generated: 2026-01-29T20:54:01.895Z 4 4 -- DO NOT EDIT - regenerate with: yarn schema:codegen 5 5 6 6 -- Unified content storage - URLs, text notes, tagsets, and images
+1 -1
schema/generated/sqlite-sync.sql
··· 1 1 -- Generated by schema/codegen.js 2 2 -- Schema version: 1 3 - -- Generated: 2026-01-29T19:55:59.962Z 3 + -- Generated: 2026-01-29T20:54:01.896Z 4 4 -- DO NOT EDIT - regenerate with: yarn schema:codegen 5 5 6 6 -- Unified content storage - URLs, text notes, tagsets, and images
+1 -1
schema/generated/types.rs
··· 1 1 // Generated by schema/codegen.js 2 2 // Schema version: 1 3 - // Generated: 2026-01-29T19:55:59.963Z 3 + // Generated: 2026-01-29T20:54:01.896Z 4 4 // DO NOT EDIT - regenerate with: yarn schema:codegen 5 5 6 6 use serde::{Deserialize, Serialize};
+1 -1
schema/generated/types.ts
··· 1 1 /** 2 2 * Generated by schema/codegen.js 3 3 * Schema version: 1 4 - * Generated: 2026-01-29T19:55:59.962Z 4 + * Generated: 2026-01-29T20:54:01.896Z 5 5 * DO NOT EDIT - regenerate with: yarn schema:codegen 6 6 */ 7 7