fix(core,gui,cli): a blocked sign-in no longer asks to update the app (B209)

Proton answers a sign-in it blocks for abuse or rate limits with code
2028 and the text "This version of the app is no longer supported". The
SDK read 2028 as Unknown, so the app passed that text through and told
users to update a current release (issues #28, #39).

- deps: proton-sdk and proton-drive-rs 0.8.3, which name 2028 Blocked
- core: error::sign_in_blocked detects it
- gui: the login page says Proton is refusing sign-in for now and that
  waiting helps, translated in every catalog
- cli: pdfs login adds the same hint to the error
- cli: pdfs diagnose warns instead of failing when cache.db does not
  exist yet; the daemon creates it after the first sign-in
- docs: BUGS.md B209, changelog, troubleshooting entry
This commit is contained in:
nvrl committed 2026-10-13 20:29:23 +02:00
1 parent 2633b4ed72
commit 478a0e6cdd
17 files changed
+481 -310

No files matched your search

+28
View File
@@ -100,6 +100,7 @@ a live account since.
| Entry | Title |
|---|---|
| [B209](#b209--a-blocked-sign-in-says-the-app-version-is-no-longer-supported) | A blocked sign-in says the app version is no longer supported |
| [B208](#b208--a-file-landing-while-its-folder-is-pinned-is-kept-but-not-available-offline) | A file landing while its folder is pinned is kept but not available offline |
| [B207](#b207--a-move-between-locations-goes-ahead-under-a-file-opened-just-after-its-create-landed) | A move between locations goes ahead under a file opened just after its create landed |
| [B206](#b206--an-upgrade-leaves-the-old-daemon-running-and-nothing-says-so) | An upgrade leaves the old daemon running, and nothing says so |
@@ -311,6 +312,33 @@ a live account since.
Newest first.
### B209 — A blocked sign-in says the app version is no longer supported
**Status:** Fixed, not verified live
**Found:** 2026-10-13, issue #39: the first sign-in on a fresh 3.4.0 install showed "This version
of the app is no longer supported. Please update to continue using the app." Issue #28 showed the
same text on 3.0.0 to 3.1.2, and its debug log gave `path="/auth/v4" http_status=422 code=2028`.
Sign-in worked there after a day without attempts, with no change to the client.
**Where:** `login_error_message` in `crates/pdfs-gui/src/app/pages/login.rs`; `cmd_login` and
`cmd_diagnose` in `crates/pdfs-cli/src/main.rs`
**Repro:** Needs Proton to block the account or network, which cannot be triggered on purpose.
**Cause.** Proton answers a sign-in it blocks for abuse or rate limits with code 2028. Its `Error`
text claims the version is no longer supported. The SDK had no name for 2028, so it read as
`Unknown`, and the app passed Proton's text through. Users were told to update a current release.
`pdfs diagnose` also failed the `database` check on a fresh install, before the daemon had ever
started, which looked like part of the fault.
**Fix.** proton-sdk 0.8.3 names 2028 `ResponseCode::Blocked`. `error::sign_in_blocked` detects it,
and the app and `pdfs login` say that Proton is refusing sign-in for now and that waiting helps.
`pdfs diagnose` warns instead of failing when `cache.db` does not exist yet.
**Test:** `error::tests::only_code_2028_is_a_blocked_sign_in`,
`pages::login::tests::a_blocked_sign_in_does_not_ask_for_an_update`.
---
### B208 — A file landing while its folder is pinned is kept but not available offline
**Status:** Fixed, not verified live
+8
View File
@@ -11,6 +11,14 @@ scratch (user data in `staging/` and `recovery/` is never touched by this).
## [Unreleased]
### Fixed
- **A blocked sign-in said the app version was no longer supported.** Proton refuses sign-in for
a while after it suspects abuse, and its message then asks you to update. The app and
`pdfs login` now say that Proton is refusing sign-in for now and that waiting helps
(B209, [#39](https://github.com/narrrl/proton-drive-linux/issues/39)).
- **`pdfs diagnose` failed the `database` check on a fresh install.** The daemon creates the
database after the first sign-in, so a missing one is now a warning.
## [3.4.0] — 2026-10-12
Schema: **42**, unchanged.
+7
View File
@@ -88,6 +88,13 @@ Quit the app first, so this starts a new instance. The page then runs without We
so use this only for the sign-in. The stored session keeps working without it. Signing in from
your usual network, without a VPN, often avoids the CAPTCHA in the first place.
**"This version of the app is no longer supported"** or **"Proton is temporarily refusing
sign-in from this device"** — Proton blocks sign-in for a while after too many attempts or from a
network it distrusts, and sends the first message even when the release is current. Do not retry
for several hours, up to a day, then sign in once. If it still fails, run
`RUST_LOG=debug pdfs login` and look for `code=` in the `proton api request failed` line: 2028 is
this block, 5003 is a release Proton no longer accepts.
**Sign-in works but is forgotten after a restart** — no Secret Service provider is running, or its
keyring is locked. Install and unlock GNOME Keyring, KWallet or KeePassXC (with Secret Service
enabled). `pdfs diagnose` shows `keyring session` as failing in that case.