mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
feat(cli,core): trace the keys that open My Files in pdfs diagnose
When the session is stored and unlocked but the daemon does not answer, pdfs diagnose asks Proton for a key report and prints a Keys section: each account key, each address key and the account key its token is for, and the address key the My Files share is encrypted to. It holds key IDs only, so it can be posted in an issue. Refs #40
This commit is contained in:
1 parent
eb25c16fe6
commit
fd80c34152
7 files changed
+361
-4
No files matched your search
@@ -11,6 +11,12 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **`pdfs diagnose` names the key that keeps My Files closed.** When you are signed in and the
|
||||
service does not answer, a new **Keys** section asks Proton which account and address keys
|
||||
open, which account key each address key depends on, and which address key the My Files share
|
||||
is encrypted to. It shows key IDs only, no secrets (#40).
|
||||
|
||||
## [3.5.0] — 2026-10-16
|
||||
|
||||
Schema: **44**. Queued changes get an index by kind and name, and each synced file remembers the
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@ commands are for scripts and for cases where the mount is not available.
|
||||
|
||||
| Command | Description |
|
||||
|---|---|
|
||||
| `pdfs diagnose` | Check the installation and print a report. Works without the service. Exits non-zero if a check fails. |
|
||||
| `pdfs diagnose` | Check the installation and print a report. Works without the service. When the service does not answer, also asks Proton which of your keys open. Exits non-zero if a check fails. |
|
||||
| `pdfs diagnostics` | What a running service is doing now: worker threads, queues, requests in flight, memory. For a service that has stopped answering. |
|
||||
| `pdfs cache inspect [--deep]` | Database size, reclaimable space, row counts, cache use against the limit. `--deep` also runs SQLite's integrity check (slow). |
|
||||
| `pdfs cache vacuum` | Compact the database. Needs free space for a second copy of it while it runs. |
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ for l in $(cat po/LINGUAS); do msgfmt --check --statistics -o /dev/null po/$l.po
|
||||
| Tool | Use |
|
||||
|---|---|
|
||||
| `RUST_LOG` | Log filter for every binary, for example `RUST_LOG=pdfs_fuse::sync=trace,info` |
|
||||
| `pdfs diagnose` | Static checks: directories, FUSE, keyring, socket, database integrity. Works without the daemon |
|
||||
| `pdfs diagnose` | Static checks: directories, FUSE, keyring, socket, database integrity. Works without the daemon. When the daemon does not answer, also traces which account and address keys open (`pdfs_core::keycheck`) |
|
||||
| `pdfs diagnostics` | Live state of a running daemon: each worker's current job and its age, queue depth, control requests in flight, memory |
|
||||
| `pdfs cache inspect --deep` | Database size, row counts and SQLite `integrity_check` |
|
||||
| `pdfs --json …` | Raw protocol payloads for query commands |
|
||||
|
||||
@@ -20,6 +20,11 @@ information listed under [Reporting a problem](#reporting-a-problem).
|
||||
Checks the installation and prints a report. It does not need the service, because the state
|
||||
worth diagnosing is often the one where the service will not start.
|
||||
|
||||
When you are signed in but the service does not answer, it also asks Proton which of your keys
|
||||
open, under **Keys**: each account key, each address key, and the address key your My Files
|
||||
share is encrypted to. A key that does not open is named with the key it depends on. The section
|
||||
shows key IDs, which are not secret, so you can post it in an issue.
|
||||
|
||||
```console
|
||||
$ pdfs diagnose
|
||||
Paths
|
||||
@@ -125,7 +130,8 @@ systemctl --user restart proton-drive.service
|
||||
keys cannot open your Drive volume, which happens after a password reset. Proton locks the volume
|
||||
that was encrypted to the old keys. From 3.4.1 the client starts a new, empty My Files volume
|
||||
in that case. Your old files stay in the locked volume: open [drive.proton.me](https://drive.proton.me)
|
||||
and restore them there with your previous password.
|
||||
and restore them there with your previous password. If the volume is not locked and the error
|
||||
stays, run `pdfs diagnose` and post its **Keys** section in an issue.
|
||||
|
||||
**The folder is empty or missing** — check that the service runs and is signed in
|
||||
(`pdfs status`). The service waits for a stored session before it mounts.
|
||||
|
||||
Reference in new issue
Block a user