mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
A create that carries a file's bytes retired its op, then cached the bytes and gave the tree the real uid. Nothing counted that window, so `pdfs status` read empty while it ran, which B119 promises means the file reads without the network. A delete in that window found the placeholder uid in the tree and trashed the node by its real uid. `queue_trash` asked the tree whether that uid was open, found no entry, and dropped the cached bytes the open handle reads. If the cache store ran at the same moment, its tag was written after the eviction and never removed. CI caught that as a stray .meta file. The create's landing is now counted like an upload's, from the op's retirement until the tree has the real uid. The delete and the replace pass whether they found the file open. Opening the cache removes a tag whose bytes are gone, which also covers a crash between an eviction's two removals. The simulations wait for `Daemon::drained`, which counts the landing, before they go offline. B255 and B256 move to fixed: the account run checked both.
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.