mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
A write open copies the queued revision's blob into its scratch file. When the upload landed between the sample and the copy, the drain had already deleted the blob, and the open failed with EIO (B274, seen once in CI). The drain drops the pending entry before the blob, so a failed copy whose entry moved on now goes around again, as the re-check after the copy already does. Two simulations raced the daemon rather than it: - a_file_deleted_after_a_restart_leaves_drive_with_what_its_create_sent let the create's reply through before the kernel's release attached the second bytes. That attach resets the attempts, so the retry landed before the test could see the failure. It now waits for the bytes to be attached. - a_file_deleted_offline_while_open_still_reads_and_takes_writes read the cache as the queue emptied, which is a moment before the eviction. It now waits for the cache to empty.
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.