notes/src-tauri/tauri.conf.json
enzotar 0d26e63c9a v1.0.0: security fixes, code review cleanup, release prep
Security:
- Add path traversal protection (safe_vault_path) for all file operations
- Sanitize markdown preview with DOMPurify to prevent XSS
- Fix encryption: decrypted content no longer written back to disk
- Harden CSP for Tauri v2 production mode

Code quality:
- Remove dead code (cache.rs, NoteView, unused tabs/activeTab state)
- Fix stale closure in debounced save using refs
- Fix image paste to use domToMarkdown instead of innerText
- Single-pass widget rendering (was 3 sequential innerHTML clobbers)
- Move snapshot logic into save callback
- Remove no-op updateWikilinks in drag-and-drop
- Wire CSS editor to Cmd+U shortcut
- Replace hardcoded vault path with portable fallback

Performance:
- LazyLock static regexes for WIKILINK_RE and TAG_RE
- Fix duplicate dirs_config_path, update CSS commands

Release:
- Bump version to 1.0.0
- Rewrite README with project documentation
- Update CHANGELOG with 1.0.0 entry
- Update .gitignore for build artifacts and vault data
- Update canvas dependency path
- Fix canvas API compatibility (onSelectionChange, removed props)
2026-03-09 18:15:39 -07:00

44 lines
No EOL
1.3 KiB
JSON

{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Graph Notes",
"version": "1.0.0",
"identifier": "com.graphnotes.app",
"build": {
"beforeDevCommand": "npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm run build",
"frontendDist": "../dist"
},
"app": {
"windows": [
{
"title": "Graph Notes",
"width": 1400,
"height": 900,
"minWidth": 900,
"minHeight": 600,
"decorations": true,
"resizable": true
}
],
"security": {
"csp": "default-src 'self' tauri: https://tauri.localhost; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com data:; img-src 'self' asset: https://asset.localhost http://asset.localhost blob: data: tauri: https://tauri.localhost; connect-src 'self' ipc: http://ipc.localhost tauri: https://tauri.localhost"
}
},
"plugins": {
"fs": {
"requireLiteralLeadingDot": false
}
},
"bundle": {
"active": true,
"targets": "all",
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
]
}
}