fix: Knoepfe rutschten aus der Zeile; verwaiste Audiodateien raeumen
1. Aufnahmenliste: bei schmaler Spalte schob ein langer Titel die Knoepfe aus der Zeile, der Papierkorb-Knopf war nicht mehr erreichbar. Flex-Kinder haben min-width: auto, der Textblock schrumpft also nie unter seine Inhaltsbreite. Mit der dritten Schaltflaeche (Stecknadel) reichte der Platz nicht mehr. 2. 23 sichtbare Aufnahmen = 46 Dateien, im Ordner lagen 152: 106 verwaiste mit 242 MB, Rueckstand des alten deleteRecording, das nur die DB-Zeile entfernte. Einmalig geraeumt (Gegenprobe: keine der 106 stand in einer Zeile, danach fehlt keine benoetigte Datei) und sweepOrphans haelt es sauber -- laeuft hinter sweepTrash beim Start und taeglich, mit 2-h-Altersgrenze, weil eine Aufnahme erst verschoben und dann in die DB geschrieben wird. Die Papierkorb-Kette selbst war korrekt, mit einer Wegwerf-Zeile nachgewiesen: loeschen -> Papierkorb (Dateien bleiben), endgueltig -> Zeile und beide Dateien weg. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d9554c590c
commit
aa0098ae01
@@ -460,6 +460,16 @@ export async function purgeRecording(id) {
|
||||
return files;
|
||||
}
|
||||
|
||||
// Jede Audiodatei, auf die noch eine Zeile zeigt — Papierkorb eingeschlossen,
|
||||
// dessen Dateien bleiben ja absichtlich liegen. Alles andere in REC_DIR ist
|
||||
// verwaist (siehe sweepOrphans in server.js).
|
||||
export async function allAudioFiles() {
|
||||
const [rows] = await pool.query(
|
||||
'SELECT mp3_file AS f FROM recordings WHERE mp3_file IS NOT NULL' +
|
||||
' UNION SELECT wav_file FROM recordings WHERE wav_file IS NOT NULL');
|
||||
return rows.map(r => r.f);
|
||||
}
|
||||
|
||||
// Ids whose retention window has run out. The caller purges them one by one so
|
||||
// a single bad row cannot abort the whole sweep.
|
||||
export async function expiredTrashIds() {
|
||||
|
||||
Reference in New Issue
Block a user