Wiederverwendbarer UI.noteMediaAttacher für beide Notiz-Stellen (UI.noteModal
+ Notizblock-Seite). note_media-Tabelle + POST/DELETE /api/notes/{id}/media
(vor der gierigen /{parent_type}/{parent_id}-Route). Audio per MediaRecorder,
serverseitig nach m4a/AAC transkodiert (ffmpeg) — iOS spielt Chrome-Opus-webm
nicht ab. UI.lightbox global eingeführt. Mikrofon-Policy microphone=(self) +
CSP media-src 'self' blob:, Datenschutz v6. Disk-Cleanup für note_media bei
Notiz-, Account- und Admin-User-Delete. Reine Medien-Notiz ohne Text erlaubt.
noteModal-Bug gefixt: notes.get() liefert Array -> existing[0] statt
existing?.id (verhinderte Bearbeiten, erzeugte Duplikate). 12 neue Tests.
admin.py enthält außerdem KI-Vision-Statusfelder aus paralleler Arbeit
(nicht sauber trennbar ohne interaktives Staging).
|
||
|---|---|---|
| .. | ||
| css | ||
| icons | ||
| img | ||
| js | ||
| sounds | ||
| agb.html | ||
| datenschutz.html | ||
| impressum.html | ||
| index.html | ||
| landing.html | ||
| leaflet-vector-test.html | ||
| llms.txt | ||
| manifest.json | ||
| maplibre-markers-test.html | ||
| maplibre-perf-test.html | ||
| maplibre-test.html | ||
| presse.html | ||
| robots.txt | ||
| sitemap.xml | ||
| sw.js | ||
| ui-vector-test.html | ||
| zuechter.html | ||