Skip to content

Open Bookmarks v0.4.0

Choose a tag to compare

@emelpe78 emelpe78 released this 18 May 11:55
· 25 commits to main since this release

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 über GET /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.db in den gewählten Ordner kopiert (inkl. WAL/SHM) oder eine vorhandene Datei dort wird übernommen. Der neue Pfad wird in preferences.json im 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.db im Projekt — getrennt von der Desktop-Datenbank, damit Entwicklung die produktiven Lesezeichen nicht überschreibt.
  • Der Nitro-Child der Desktop-App setzt OPEN_BOOKMARK_DESKTOP=1 und einen absoluten DATABASE_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-Bridge window.openBookmarkDesktop (Finder, Pfadwahl, Backup-Speichern) funktioniert zuverlässig.
  • Dev-Start: npm run dev in desktop/ 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

  1. Vor dem Test: npm run dev in open-bookmark/ beenden.
  2. cd open-bookmark && npm run build, danach cd desktop && npm run dev.
  3. Bei Problemen nach Pfadwechsel: preferences.json in Application Support anpassen oder löschen (alte bookmarks.db dort 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.