Open Bookmarks v0.4.0
Neu: Datenbank in den Einstellungen
Unter Einstellungen → Allgemein gibt es einen Bereich Datenbank:
| Funktion | Desktop-App | Web-Entwicklung (npm run dev) |
|---|---|---|
| Speicherort anzeigen | Ja | Ja |
| Im Finder anzeigen | Ja | — |
| Pfad ändern (Ordnerdialog) | Ja | — (nur über .env / Neustart) |
| SQL-Backup erstellen | Ja | Ja (Download) |
- Backup: Export als
.sql-Datei überGET /api/database/backup(Schema + Daten). - Import: Button „SQL importieren“ — ersetzt die gesamte Datenbank durch ein Open-Bookmark-SQL-Backup (mit Bestätigungsdialog; Desktop stoppt den Dienst kurz).
- Pfad ändern: Datenbank wird als
bookmarks.dbin den gewählten Ordner kopiert (inkl. WAL/SHM) oder eine vorhandene Datei dort wird übernommen. Der neue Pfad wird inpreferences.jsonim App-Datenordner gespeichert; der lokale Dienst startet neu. - Hinweis Cloud-Ordner: Nur eine App-Instanz gleichzeitig; WAL-Dateien können Sync-Dienste stören.
- Kein SQL-Restore in der UI (nur manuell, z. B. mit
sqlite3).
Datenbank: eine produktive Quelle
- Desktop-App: Standardpfad
~/Library/Application Support/Open Bookmark/bookmarks.db
(optional abweichend über Einstellungen /preferences.json). - Web-Dev: immer
./data/bookmarks.dbim Projekt — getrennt von der Desktop-Datenbank, damit Entwicklung die produktiven Lesezeichen nicht überschreibt. - Der Nitro-Child der Desktop-App setzt
OPEN_BOOKMARK_DESKTOP=1und einen absolutenDATABASE_PATH; die Web-Dev-Umgebung nutzt diesen Pfad nicht.
Wichtig: npm run dev in open-bookmark/ und die Desktop-App teilen sich Port 3777 nicht. Läuft der Dev-Server, meldet die Desktop-App einen klaren Fehler statt die falsche Datenbank zu verwenden.
Desktop: Stabilität & Branding
- Preload als CommonJS (
preload.cjs) — die Shell-Bridgewindow.openBookmarkDesktop(Finder, Pfadwahl, Backup-Speichern) funktioniert zuverlässig. - Dev-Start:
npm run devindesktop/startet Open Bookmark.app (Dock-Name „Open Bookmark“, nicht „Electron“). - Health-Check prüft, ob auf Port 3777 wirklich der Desktop-Nitro-Dienst läuft (
isDesktop).
API (ergänzt)
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /api/database |
Pfad, Dateigröße, Lesezeichen-Anzahl, isDesktop |
| GET | /api/database/backup |
SQL-Dump (Attachment) |
Upgrade / Rollback
- Vor dem Test:
npm run devinopen-bookmark/beenden. cd open-bookmark && npm run build, danachcd desktop && npm run dev.- Bei Problemen nach Pfadwechsel:
preferences.jsonin Application Support anpassen oder löschen (altebookmarks.dbdort bleibt als Kopie erhalten).
Technik (kurz)
Neu u. a.: SettingsDatabaseSection, useDatabaseSettings, databaseInfo.ts, databaseDump.ts, desktop/src/preferences.ts, desktop/src/database/relocateDatabase.ts, IPC pickDatabaseDirectory / relocateDatabase / saveBackupFile.