Skip to content

Version history#34

Merged
hugotiburtino merged 3 commits intocardsboardfrom
version-history
Dec 3, 2025
Merged

Version history#34
hugotiburtino merged 3 commits intocardsboardfrom
version-history

Conversation

@johappel
Copy link
Copy Markdown
Collaborator

@johappel johappel commented Dec 3, 2025

📸 Board Snapshots / Versionshistorie

Zusammenfassung

Dieses Feature ermöglicht Benutzern, manuelle Snapshots ihrer Kanban-Boards zu erstellen und bei Bedarf zu früheren Versionen zurückzukehren.

✨ Neue Features

  • Manuelles Speichern von Versionen - Button "Versionen" in der Topbar
  • Versionshistorie anzeigen - Liste aller Snapshots mit Metadaten (Datum, Spalten, Karten)
  • Wiederherstellen - Zurückkehren zu einem früheren Board-Zustand
  • Automatisches Backup vor jeder Wiederherstellung

🔧 Technische Details

  • Snapshots werden als Kind 30303 Nostr Events gespeichert (non-replaceable)
  • Event-Tags: a (Board-Referenz), v (Label), r (Grund), t (Timestamp)
  • Vollständiges Board-JSON im Event-Content
  • Speicherung auf privaten Relays für Draft-Boards
  • Explizites Laden von Snapshots über NDKRelaySet

📁 Geänderte Dateien

Datei Änderung
src/lib/utils/nostrEvents.ts EVENT_KINDS.SNAPSHOT (30303)
src/routes/cardsboard/types.ts BoardSnapshot Types
src/lib/stores/boardstore/nostr.ts publishSnapshot(), loadSnapshots(), parseSnapshotEvents()
src/lib/stores/kanbanStore.svelte.ts createManualSnapshot(), rollbackToSnapshot(), loadSnapshots()
src/lib/components/board/VersionHistory.svelte Neue Dialog-Komponente
src/routes/cardsboard/Topbar.svelte VersionHistory Integration
src/routes/+layout.svelte NDK mit privaten + öffentlichen Relays
docker-relay-config.toml Kind 30303 zur Allowlist hinzugefügt

📚 Dokumentation

  • docs/FEATURE/BOARD-SNAPSHOTS.md - Feature-Dokumentation aktualisiert
  • docs/COLLABORATION/ROADMAP.md - v3.4, Meilenstein 1.5C: DONE
  • CHANGELOG.md - Version 4.7.0 Entry
  • .github/copilot-instructions.md - Status aktualisiert

✅ Tests

  • svelte-check: 0 errors, 1 warning (unrelated a11y)
  • Manuell getestet: Snapshot erstellen, laden, wiederherstellen ✅

🖼️ Screenshots

VersionHistory Dialog:

  • Zeigt Liste aller gespeicherten Snapshots
  • NDK-Status Warnung wenn nicht verbunden
  • Automatisches Default-Label (YYYYMMDD-HHMM)
  • Bestätigungsdialog vor Wiederherstellung

- Added methods for creating, loading, and restoring snapshots in BoardStore.
- Introduced BoardSnapshot and related types for snapshot data structure.
- Enhanced SyncManager to ensure relays are connected before publishing.
- Updated layout to dynamically load relay URLs from settingsStore.
- Integrated VersionHistory component in Topbar for managing snapshots.
- Created VersionHistory dialog for saving and restoring board versions.
- Documented the new feature in BOARD-SNAPSHOTS.md.
@hugotiburtino hugotiburtino merged commit 747f61d into cardsboard Dec 3, 2025
4 checks passed
@hugotiburtino hugotiburtino deleted the version-history branch December 3, 2025 18:21
@johappel johappel self-assigned this Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants