Log/lock erven de identiteit van de eerste aanmaker; na de service-user-wissel
(naar eddy) crashte de import-time logging met PermissionError op
/tmp/dashcam-transfer.log (2x failed start, 2026-10-15). ExecStartPre (root)
touch + chmod 666 beide bestanden vóór elke run: robuust bij elke
identiteitswissel, zonder run-historie te verliezen.
Root was bad practice (oude staat); aiaiaiaiagent (uid 1001) kon geen
chmod/utime op de exfat-mount (uid=1000) -> elke copy2-kopie faalde met
EPERM (10-15, 0/68). Correcte laag is de identity-laag, niet de kopieer-
primitive: User=eddy (mount-eigenaar). copy2 behouden (timestamps op
doel). Matrix-secrets sherpa-token/eddy-report-room -> mode 640 group
eddy + traverse op /home/aiaiaiaiagent zodat de notificatie werkt.
Revert eerdere copyfile-workaround (dd46ad6/69d08ba): die maskeerde de
mismatch in plaats van de principal te aligneren.
copy doet na copyfile ook copymode (os.chmod); op exfat met mountuid=1000
zijn alle bestanden eigendom van uid 1000 en wordt chmod/utime voor de
niet-eigenaar service-gebruiker geweigerd (EPERM op elke kopie, ook na de
copy2-fix). copyfile schrijft alleen data; verificatie gebeurt op grootte
en mode/opnametijd voegen op exfat niets toe.
copy2 preserveert timestamps via os.utime; de exfat-SSD draait met
uid=1000,allow_utime=0022, waardoor een niet-eigenaar (service-gebruiker
aiaiaiaiagent sinds 2026-10-13, voorheen root) geen willekeurige
tijdsstempels mag zetten -> EPERM op elke kopie. Mode is op exfat altijd
0777 en het opnamemoment staat al in de bestandsnaam.
wwebjs-api is vervangen door wuzapi; notificatiekanaal is nu Matrix:
- send_matrix_notification() POST -> sherpa compat-token uit
~/whatsed-new/secrets/sherpa-token naar eddy-report-room
- zelfde patronen als watchdog-report/WAN IP Guard
- tests: SendWhatsappTest -> SendMatrixTest (+2 asserts)
dashcam-transfer-mount.sh mountte altijd /dev/disk/by-uuid/00D3-7715.
Een geherformatteerde of andere kaart heeft een ander filesystem UUID,
waardoor de mount faalde (TRIGGER ERROR) en de transfer nooit startte.
De udev rule geeft nu het kernel device (%k) door; de helper mount dat
device dynamisch. Werkt ongeacht het FS-UUID van de kaart.
- WHATSAPP_API gebruikte 100.97.199.84:3000 (Mac Mini Tailscale IP, verkeerde poort)
- Gewijzigd naar localhost:3001 (wwebjs-api container op nextcloud zelf)
- Comment toegevoegd om verwarring te voorkomen
- README herschreven met WhatsApp notificatie sectie en correcte architectuur
- Verouderd plan geüpdatet met juiste URL