mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-14 01:27:03 +01:00
A remote change to a pinned file called `ContentCache::evict`, which does not check pins, and only the pin request itself ever downloaded anything. An edit from another device, or even a rename, left the file listed as kept offline with no copy, so the next read downloaded it or failed without a network. A file added to a pinned folder elsewhere was never downloaded, and a folder pin whose downloads failed while offline never retried them. A remote change no longer evicts a pinned file's copy. The copy is checked against the revision's (mtime, size), so a newer revision does not read it, and a rename keeps the mtime (B123), so the copy stays valid. A new pdfs-pin-keeper thread checks pins again and downloads files that are missing or stale: - the pins a batch of remote events changed, after the batch's listings are dropped, including a pinned folder that gets a new file; - every pin at startup, when the link returns, and after the event feed loses continuity; - a file whose version is restored. Failed downloads retry with a backoff of 30 s to 30 min. Pinning and the keeper settle a provisional size first: a copy stored under the ciphertext size never matched the plaintext it holds. Fixes B282.
Proton Drive for Linux documentation
Proton Drive for Linux is an unofficial Proton Drive client for the Linux desktop. Your Drive appears as a folder that downloads files when you open them, local folders are backed up and kept in sync, and a GTK app with a tray icon and a search launcher covers Photos, sharing and more. A command-line client does all of it from a terminal.
These pages are also published as the
wiki, generated from the
docs/ folder of the repository.
Where to start
- New here? Getting started takes you from installing to your first synced folder.
- Installing or updating? Installation covers Fedora (COPR), Arch (AUR), Debian and Ubuntu, NixOS, and building from source.
- Something not working? Troubleshooting starts with
pdfs diagnoseand goes through common problems. - New computer, or the old one is gone? Recovering on a new computer gets your synced folders back.
- Quick question? Try the FAQ.
Using it
| Page | What it covers |
|---|---|
| User guide | How the pieces fit together, the words the app uses, preferences |
| Files and offline access | The ~/ProtonDrive folder, keeping files available offline, the Trash, earlier versions |
| Synced folders | Backing up local folders, excluding files, changes waiting to upload, conflicts, pausing |
| Photos | Timeline, albums, places, duplicates, importing from Google Photos |
| Sharing | Invitations, public links, items shared with you |
| Computers | Other computers in your account, syncing several computers |
| Search launcher and tray | Finding files from a keyboard shortcut, the tray icon |
Reference
| Page | What it covers |
|---|---|
| Command-line reference | Every pdfs command, grouped by task, and scripting with --json |
| Configuration | config.json, environment variables, file locations, the systemd service |
| Security model | What protects your files, what is kept on this computer, what the client connects to |
| Changelog | What changed in each release |
Contributing
| Page | What it covers |
|---|---|
| Development guide | Building, running and debugging from source; common changes; releasing |
| Architecture | Crates, the local tree, read and write paths, the queue, the sync engine, the control protocol, threads, threat model |
| Testing | Unit tests, simulation runs and the FUSE acceptance suite |
| Translating | Adding and updating translations |
| Roadmap | Planned work and verification still owed |
| Bug ledger | Every tracked defect with its analysis and status |
Also see CONTRIBUTING.md, and SECURITY.md to report a vulnerability privately.