mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
170c3f01ff | ||
|
|
976ad2aa04 | ||
|
|
b73cd087aa |
No files matched your search
Generated
+4
-4
@@ -3474,7 +3474,7 @@ checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-cli"
|
name = "pdfs-cli"
|
||||||
version = "3.2.0"
|
version = "3.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
@@ -3490,7 +3490,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-core"
|
name = "pdfs-core"
|
||||||
version = "3.2.0"
|
version = "3.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
@@ -3516,7 +3516,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-fuse"
|
name = "pdfs-fuse"
|
||||||
version = "3.2.0"
|
version = "3.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"base64 0.23.1",
|
"base64 0.23.1",
|
||||||
@@ -3538,7 +3538,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pdfs-gui"
|
name = "pdfs-gui"
|
||||||
version = "3.2.0"
|
version = "3.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-channel",
|
"async-channel",
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ resolver = "2"
|
|||||||
members = ["crates/pdfs-core", "crates/pdfs-fuse", "crates/pdfs-cli", "crates/pdfs-gui"]
|
members = ["crates/pdfs-core", "crates/pdfs-fuse", "crates/pdfs-cli", "crates/pdfs-gui"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "3.2.0"
|
version = "3.2.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
authors = ["Nils Pukropp <contact@narl.io>"]
|
authors = ["Nils Pukropp <contact@narl.io>"]
|
||||||
|
|||||||
@@ -1689,9 +1689,16 @@ fn writing_nodes_does_not_scale_with_the_size_of_the_index() {
|
|||||||
.collect();
|
.collect();
|
||||||
db.upsert_nodes(&batch).unwrap();
|
db.upsert_nodes(&batch).unwrap();
|
||||||
|
|
||||||
|
// The fastest of a few runs: the rest of the suite runs alongside, and
|
||||||
|
// one run that lost the CPU to it read as the regression.
|
||||||
|
(0..5)
|
||||||
|
.map(|_| {
|
||||||
let t = Instant::now();
|
let t = Instant::now();
|
||||||
db.upsert_nodes(&batch).unwrap();
|
db.upsert_nodes(&batch).unwrap();
|
||||||
t.elapsed()
|
t.elapsed()
|
||||||
|
})
|
||||||
|
.min()
|
||||||
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
let small = cost_against_index_of(200);
|
let small = cost_against_index_of(200);
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [3.2.1] — 2026-10-11
|
||||||
|
|
||||||
|
Schema: **42**, unchanged.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- **Writing to a file again soon after a partial write could fail with an I/O error.** When the
|
- **Writing to a file again soon after a partial write could fail with an I/O error.** When the
|
||||||
first write changed only part of a file this client had not read, a second write, or saving
|
first write changed only part of a file this client had not read, a second write, or saving
|
||||||
@@ -20,6 +24,22 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
|
|||||||
the app, as on secureblue, the app now offers it in your browser and continues the sign-in
|
the app, as on secureblue, the app now offers it in your browser and continues the sign-in
|
||||||
once you are done. `pdfs login` now handles a CAPTCHA the same way instead of failing.
|
once you are done. `pdfs login` now handles a CAPTCHA the same way instead of failing.
|
||||||
([#29](https://github.com/narrrl/proton-drive-linux/issues/29))
|
([#29](https://github.com/narrrl/proton-drive-linux/issues/29))
|
||||||
|
- **The daemon kept several CPU cores busy while offline with changes queued.** Its upload
|
||||||
|
workers checked the queue in a tight loop for as long as the outage lasted. They now sleep
|
||||||
|
until the connection comes back. ([#35](https://github.com/narrrl/proton-drive-linux/issues/35))
|
||||||
|
- **An expired sign-in was shown as "offline" for good.** When Proton refuses the session, the
|
||||||
|
tray now says "Session expired — sign in again" with a Sign In Again… item, the app shows the
|
||||||
|
same with a button, and `pdfs status` and `pdfs diagnose` tell you to run `pdfs login`. Cached
|
||||||
|
files stay readable and changes stay queued until you sign in.
|
||||||
|
([#35](https://github.com/narrrl/proton-drive-linux/issues/35))
|
||||||
|
- **The sign-in could be lost after `pdfs login`, `pdfs unlock` or a slow network.** The old
|
||||||
|
daemon wrote its spent tokens over a new sign-in when it stopped, a timeout could drop a token
|
||||||
|
refresh halfway, and a refresh was retried with a token Proton had already used. Each process
|
||||||
|
now writes only into its own session, a refresh always finishes, and it is never repeated.
|
||||||
|
([#35](https://github.com/narrrl/proton-drive-linux/issues/35))
|
||||||
|
- **A sign-in refreshed while the keyring was locked was lost on the next restart.** The client
|
||||||
|
now keeps retrying, holds the new tokens in the kernel keyring meanwhile, and the tray says
|
||||||
|
"Sign-in not saved — unlock your keyring" until it is written.
|
||||||
|
|
||||||
## [3.2.0] — 2026-10-08
|
## [3.2.0] — 2026-10-08
|
||||||
|
|
||||||
@@ -1716,6 +1736,8 @@ First stable release: FUSE files-on-demand mount, sync daemon under `proton-driv
|
|||||||
- The outstanding FUSE defects tracked in `docs/BUGS.md`, plus a truncate defect, validated
|
- The outstanding FUSE defects tracked in `docs/BUGS.md`, plus a truncate defect, validated
|
||||||
by a new POSIX compliance suite for the filesystem.
|
by a new POSIX compliance suite for the filesystem.
|
||||||
|
|
||||||
|
[3.2.1]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.2.1
|
||||||
|
|
||||||
[3.2.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.2.0
|
[3.2.0]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.2.0
|
||||||
|
|
||||||
[3.1.2]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.1.2
|
[3.1.2]: https://github.com/narrrl/proton-drive-linux/releases/tag/v3.1.2
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@
|
|||||||
# Build + install: cd packaging && makepkg -fi
|
# Build + install: cd packaging && makepkg -fi
|
||||||
|
|
||||||
pkgname=proton-drive-linux
|
pkgname=proton-drive-linux
|
||||||
pkgver=3.2.0
|
pkgver=3.2.1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray"
|
pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: proton-drive-linux 3.2.0\n"
|
"Project-Id-Version: proton-drive-linux 3.2.1\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
|
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
|
||||||
"POT-Creation-Date: 2026-10-09 12:17+0200\n"
|
"POT-Creation-Date: 2026-10-09 12:17+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
|||||||
Reference in new issue
Block a user