feat(disk-delete): definitief verwijderen vanuit de prullenbak #86
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Media-Organizer!86
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/disk-delete"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Een bestand in de prullenbak werd alleen in de app verborgen. Deze wijziging voegt definitief verwijderen van schijf toe na expliciete browserbevestiging, per bestand of voor maximaal 100 geselecteerde bestanden.
De browser legt de bevestigde bestandsvingerafdruk vast. Een kortlevende delete-worker controleert die tegen de actuele index en het bestand op de geaccepteerde mount. Alleen deze worker krijgt tijdens zijn run schrijftoegang tot de mediamounts; web, scan-worker en video-worker houden hun read-only binds.
Gedrag en herstel
123nblijven behouden.Uservóór timeractivering.User=%iis vervangen door een verplicht in te vullen placeholder.Bronnen
Scrum4Me: sprint S-2026-09-21-2 (
cmubjcyuu0052zb17l6g7r731), story ST-050. De aanvullende race-/transportcorrecties en systemd-correctie zijn expliciet door JP goedgekeurd.Verificatie
Geteste bestandsinhoud vastgelegd in commit
6fc69521f8d31f64acc4717b8e88bd6c05d04b3f, Node 22.23.2 en een eigen PostgreSQL 17-wegwerpdatabase zonder echte mediamounts:npm test: 883 tests, 876 pass, 0 fail, 7 platformgebonden skips.npm run typecheck,npm run lint,npm run buildengit diff --check: geslaagd. Lint heeft uitsluitend 3 bestaande waarschuwingen inmedia-sort.ts.User. De effectieve-User-guard weglaten veroorzaakt de drie bedoelde testfouten.systemd-analyze verify-stappen slagen. Ontbrekende, root- en onbekende accounts worden vóór installatie geweigerd.systemctlwas hierbij gesimuleerd; deze proef heeft geen service gestart.Activering
De echte max2/NFS-operatorproef blijft nodig vóór brede activering: onder meer effectieve ro/rw-binds,
/proc/self/fd, lege-queuegedrag (AC-2b), NFS silly-rename en launcher/reaper-herstel. Merge, deployment, SOPS en systemd-activering blijven afzonderlijke JP-beslissingen.Verdict: REQUEST_CHANGES
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
deploy/systemd/media-organizer-delete.service:11: de unit zetUser=%i, maar het bestand is geen template-unit (media-organizer-delete.service) en de timer start explicietUnit=media-organizer-delete.service. Daardoor is er geen instance-naam om in%ite substitueren. In de meegeleverde installatie-instructie wordt ook alleenmedia-organizer-delete.timerenabled, niet bijvoorbeeld eenmedia-organizer-delete@<user>.timer. Het gevolg is dat de oneshot launcher niet betrouwbaar als deploy-gebruiker kan starten; de timer kan dus geen delete-worker runnen en definitief verwijderen blijft in productie steken op queued/running werk. Maak de service/timer óf echte template-units (media-organizer-delete@.servicemet bijpassende timer/enable-instructie), óf vervangUser=%idoor een concrete operator/deploy-gebruiker in het unitbestand of deploymentrecept.Samenvatting
De destructieve worker-kern en de bijbehorende race-afscherming ogen zorgvuldig opgezet en zijn breed getest in de diff. Deze PR kan echter niet worden goedgekeurd zolang de systemd-activatie van de enige rw-worker niet klopt, omdat dat de primaire runtime-route van de feature blokkeert.
APPROVED
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
Reviewnotities
web,scan-workerenvideo-workerread-only blijven en dat alleen de kortlevendedelete-workerrw-binds krijgt.