* feat: add conversations, desktop (Tauri), and offline sync Major new features: - conversations module: Slack-like channels, threads, reactions, pins - Tauri desktop app with local SQLite for offline-first operation - Hybrid logical clock sync engine with conflict resolution - DB provider abstraction (D1/Tauri/memory) with React context Conversations: - Text/voice/announcement channels with categories - Message threads, reactions, attachments, pinning - Real-time presence and typing indicators - Full-text search across messages Desktop (Tauri): - Local SQLite database with sync to cloud D1 - Offline mutation queue with automatic replay - Window management and keyboard shortcuts - Desktop shell with offline banner Sync infrastructure: - Vector clock implementation for causality tracking - Last-write-wins with semantic conflict resolution - Delta sync via checkpoints for bandwidth efficiency - Comprehensive test coverage Also adds e2e test setup with Playwright and CI workflows for desktop releases. * fix(tests): sync engine test schema and checkpoint logic - Add missing process_after column and sync_tombstone table to test schemas - Fix checkpoint update to save cursor even when records array is empty - Revert claude-code-review.yml workflow changes to match main --------- Co-authored-by: Nicholai <nicholaivogelfilms@gmail.com>
66 lines
1.6 KiB
JSON
66 lines
1.6 KiB
JSON
{
|
|
"$schema": "../gen/schemas/desktop-schema.json",
|
|
"identifier": "default",
|
|
"windows": ["main"],
|
|
"permissions": [
|
|
"core:default",
|
|
"core:app:default",
|
|
"core:window:default",
|
|
"core:webview:default",
|
|
"shell:allow-open",
|
|
"sql:default",
|
|
"sql:allow-load",
|
|
"sql:allow-execute",
|
|
"sql:allow-select",
|
|
"sql:allow-close",
|
|
{
|
|
"identifier": "http:default",
|
|
"allow": [
|
|
{ "url": "http://localhost:*" },
|
|
{ "url": "http://127.0.0.1:*" },
|
|
{ "url": "https://compass.work/**" },
|
|
{ "url": "https://*.cloudflare.com/**" },
|
|
{ "url": "https://api.openrouter.ai/**" },
|
|
{ "url": "https://api.workos.com/**" }
|
|
]
|
|
},
|
|
"http:allow-fetch",
|
|
"http:allow-fetch-cancel",
|
|
"http:allow-fetch-read-body",
|
|
"http:allow-fetch-send",
|
|
"window-state:default",
|
|
"window-state:allow-restore-state",
|
|
"window-state:allow-save-window-state",
|
|
"updater:default",
|
|
"updater:allow-check",
|
|
"updater:allow-download",
|
|
"updater:allow-install",
|
|
{
|
|
"identifier": "fs:default",
|
|
"allow": [
|
|
{
|
|
"path": "$APPDATA/**"
|
|
},
|
|
{
|
|
"path": "$APPCONFIG/**"
|
|
},
|
|
{
|
|
"path": "$LOCALDATA/**"
|
|
}
|
|
]
|
|
},
|
|
"fs:allow-read-text-file",
|
|
"fs:allow-write-text-file",
|
|
"fs:allow-exists",
|
|
"fs:allow-mkdir",
|
|
"fs:allow-remove",
|
|
"fs:allow-read-dir",
|
|
"dialog:default",
|
|
"dialog:allow-open",
|
|
"dialog:allow-save",
|
|
"dialog:allow-message",
|
|
"dialog:allow-ask",
|
|
"dialog:allow-confirm"
|
|
]
|
|
}
|