mirror of
https://github.com/narrrl/narl-workspace.git
synced 2026-11-03 16:41:27 +01:00
fix: keep the mirror out of the device root
Proton refuses a file directly in a device's root folder — 422 "Cannot create file at the root of a device" — so the first real backup died on RESTORE.txt, before it had written anything. The mirror now lives in a `data/` folder on the device, which is both what Proton permits and the honest name for what it holds: the contents of DIARY_DATA_DIR. Every remote path changed with it, so the bookkeeping describing the old layout is dropped and rebuilt on the next run. A device root that already collected an empty `uploads/` folder from the failed attempt keeps it; it is not ours to guess about, and deleting it is one click. Also quiet rPGP's packet-header warnings by default. They fire on every key Proton wrote slightly differently to how rPGP re-serialises it — cosmetic, once per unlock, and loud enough to bury the backup's own log. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D5Gk8FPkRXu1e6Nj2BCRE1
This commit is contained in:
1 parent
ca0039400e
commit
7646ecc397
5 files changed
+62
-24
No files matched your search
@@ -114,16 +114,17 @@ it has been quiet for `DIARY_BACKUP_DEBOUNCE_SEC` the mirror runs, with
|
||||
sixty. The device folder ends up as a copy of the data directory:
|
||||
|
||||
```text
|
||||
narl-diary/
|
||||
RESTORE.txt what this is, and how to put it back
|
||||
diary.db a VACUUM INTO snapshot — consistent, no write-ahead log
|
||||
uploads/<uuid> every uploaded file, under the name the database knows
|
||||
narl-diary/ the device — Proton allows only folders in a device root
|
||||
data/ the diary's data directory, copied
|
||||
RESTORE.txt what this is, and how to put it back
|
||||
diary.db a VACUUM INTO snapshot — consistent, no write-ahead log
|
||||
uploads/<uuid> every uploaded file, under the name the database knows
|
||||
```
|
||||
|
||||
`diary.db` becomes a new revision each time, so Proton Drive keeps the older
|
||||
ones and a mistake that was mirrored can still be undone. Uploads are written
|
||||
once and never rewritten. Restoring is copying both back into an empty data
|
||||
directory — no tool in between, which is the point.
|
||||
once and never rewritten. Restoring is copying the contents of `data/`
|
||||
back into an empty data directory — no tool in between, which is the point.
|
||||
|
||||
| command | what it does |
|
||||
| --- | --- |
|
||||
|
||||
Reference in new issue
Block a user