Skip to content

Gerätebibliothek: eigene Geräte hochladen, automatischer Abgleich, Katalog veröffentlichen - #150

Merged
larszu merged 1 commit into
mainfrom
feat/bibliothek-upload
Sep 27, 2026
Merged

larszu merged 1 commit into
mainfrom
feat/bibliothek-upload

Conversation

@larszu

@larszu larszu commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Was

Ziel: alle Kamera- und Objektivdaten stehen auch auf devices.zumpelars.de, und Updates kommen zurück.

  • Eigene Geräte hochladen: jede eigene Kamera/Optik, auch „modified“-Kopien eingebauter oder Bibliothekseinträge, geht über upload('multicam', …) im festgelegten Facet-Format hoch. Der Server ordnet über Hersteller + Modell zu (gleiches Gerät → nächste Version). Das Ergebnis je Eintrag (created / edit-proposed / pending-updated / approved / in-sync / blocked / error) wird mit Hash persistent gemerkt und unter der Auswahl angezeigt; geänderte Einträge gehen erneut hoch. „Upload…“ fragt den Datenblattlink ab, speichert ihn am Eintrag und lädt sofort hoch. Damit ist die Lücke „Einreichen einer geänderten Bibliothekskamera legt ein neues Gerät an“ geschlossen.
  • Automatisch: Einstellung „Upload own devices automatically“ (Vorgabe an): beim Start und entprellt (3 s) nach Anlegen/Ändern Upload + Abgleich. „Sync now“: erst hoch (alles), dann runter.
  • Eingebauter Katalog: npm run library:publish (DEVICE_LIBRARY_KEY, DEVICE_LIBRARY_URL, --dry-run); Einträge ohne Datenblattlink werden aufgelistet und ausgelassen (heute 42 von 1212). Workflow library-publish.yml (Push auf main mit Pfad-Filter + workflow_dispatch), ohne Secret grün mit Hinweis.
  • Offene Punkte behoben:
    • Benutzte Bibliothekseinträge reisen in .mcplan/.avplan mit (libraryCameras/libraryLenses) und rechnen auf Rechnern ohne Bibliothek; der Cache wird nie aus einer Datei beschrieben, bei gleicher Id gilt der Cache.
    • ci.yml: push-Trigger main statt master.
    • npm run katalog:cable-ids lief seit Gerätebibliothek: Anmeldung, Abgleich und Einreichen von Kameras/Objektiven (devices.zumpelars.de) #147 nicht mehr (Wert-Import ../library/registry ohne .ts unter Node-Type-Stripping) — behoben; CI fährt den Katalog-Upload jetzt als Trockenlauf und fängt so einen Rückfall.
  • Client unverändert aus av-device-library b79845c.

Prüfung

lint (0 Fehler), npm test 805 grün (neu: Upload-Protokoll/Hash, Upload vor Abgleich, Auto an/aus, 409/Richtlinien, Entprellung, Bibliothekseinträge im Projekt hin und zurück), alle *:check, build, library:publish --dry-run.

🤖 Generated with Claude Code

…effentlichen

- Upload eigener Kameras/Objektive (auch "modified"-Kopien) ueber
  upload('multicam', ...) im festgelegten Facet-Format; Ergebnis je Eintrag
  persistent (Hash), Stand unter der Auswahl, Hochladen-Dialog speichert den
  Datenblattlink am Eintrag
- "Eigene Geraete automatisch hochladen" (Vorgabe an): beim Start und
  entprellt nach Aenderungen; "Sync now" erst hoch, dann runter
- npm run library:publish (DEVICE_LIBRARY_KEY, DEVICE_LIBRARY_URL,
  --dry-run), Eintraege ohne Datenblattlink aufgelistet;
  library-publish.yml mit Pfad-Filter, ohne Secret gruen mit Hinweis
- Benutzte Bibliothekseintraege reisen in .mcplan/.avplan mit und rechnen
  auf Rechnern ohne sie, ohne den Cache zu ueberschreiben
- ci.yml: push-Trigger main statt master, Trockenlauf des Katalog-Uploads
- katalog:cable-ids lief seit #147 nicht mehr (Wert-Import ohne .ts-Endung)
- Client unveraendert aus av-device-library b79845c
@larszu
larszu merged commit 2295d7f into main Sep 27, 2026
1 check passed
@larszu
larszu deleted the feat/bibliothek-upload branch September 27, 2026 19:23
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.

1 participant