fix(fuse,core,cli,gui): say when the keyring refuses the refreshed sign-in

A rotation the keyring refused was retried and kept in the kernel
keyring, but only the log said so, and a reboot before the keyring took
it still signed the user out.

`Response::Status` carries `tokens_unsaved` while one waits. The tray
says "Sign-in not saved — unlock your keyring" and needs attention, the
app's status says the same, `pdfs status` prints a Keyring line and
`pdfs diagnose` warns. New strings are translated in every catalog
(B61).
This commit is contained in:
nvrl committed 2026-10-09 12:22:02 +02:00
1 parent 3458e2e72d
commit 2b6c37f543
17 files changed
+616 -438

No files matched your search

+60 -48
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: proton-drive-linux 3.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
"POT-Creation-Date: 2026-10-09 11:21+0200\n"
"POT-Creation-Date: 2026-10-09 12:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -386,7 +386,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1662
#: crates/pdfs-gui/src/app/pages/albums.rs:85
#: crates/pdfs-gui/src/app/pages/places.rs:104
#: crates/pdfs-gui/src/app/pages/status.rs:1412
#: crates/pdfs-gui/src/app/pages/status.rs:1425
msgid "Not connected"
msgstr ""
@@ -397,7 +397,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/main.rs:1671
#: crates/pdfs-gui/src/app/pages/status.rs:336
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
#: crates/pdfs-gui/src/main.rs:481
#: crates/pdfs-gui/src/main.rs:486
msgid "Connecting…"
msgstr ""
@@ -1232,7 +1232,7 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/shared.rs:999
#: crates/pdfs-gui/src/app/pages/shared.rs:1115
#: crates/pdfs-gui/src/app/pages/status.rs:761
#: crates/pdfs-gui/src/app/pages/status.rs:1560
#: crates/pdfs-gui/src/app/pages/status.rs:1573
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
#: crates/pdfs-gui/src/app/pages/takeout.rs:617
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:449
@@ -1500,7 +1500,7 @@ msgid "Make available offline"
msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:347
#: crates/pdfs-gui/src/app/pages/status.rs:1536
#: crates/pdfs-gui/src/app/pages/status.rs:1549
msgid "Make online only"
msgstr ""
@@ -2641,7 +2641,7 @@ msgid "Sync paused until you resume"
msgstr ""
#: crates/pdfs-gui/src/app/pages/locations.rs:552
#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263
#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268
msgid "Sync paused"
msgstr ""
@@ -4618,125 +4618,133 @@ msgstr ""
msgid "{arrow} {name} — {done} of {total} ({speed}/s)"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1276
#: crates/pdfs-gui/src/app/pages/status.rs:1279
#, rust-format
msgid "{used} cached — no limit set"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1282
#: crates/pdfs-gui/src/app/pages/status.rs:1285
#, rust-format
msgid "{used} of {limit} used"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1351
#: crates/pdfs-gui/src/app/pages/status.rs:1357
msgid "Session expired"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1356
#: crates/pdfs-gui/src/app/pages/status.rs:1362
#, rust-format
msgid "{queued} · sign in again to sync"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1359
#: crates/pdfs-gui/src/app/pages/status.rs:1364
msgid "Sign in again to sync"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1370
msgid "Sign-in not saved"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1372
msgid "Unlock your keyring, or the next reboot signs you out"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1383
#, rust-format
msgid "{queued} · resumes {time}"
msgstr ""
#. Translators: {time} is when syncing resumes, such as "at 14:30"
#. or "Tue 09:00".
#: crates/pdfs-gui/src/app/pages/status.rs:1375
#: crates/pdfs-gui/src/app/pages/status.rs:1388
#, rust-format
msgid "Resumes {time}"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1377
#: crates/pdfs-gui/src/app/pages/status.rs:1390
msgid "Until you resume"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265
#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270
#, rust-format
msgid "{n} change needs attention"
msgid_plural "{n} changes need attention"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/app/pages/status.rs:1394
#: crates/pdfs-gui/src/app/pages/status.rs:1407
#: crates/pdfs-gui/src/app/widgets/details.rs:108
msgctxt "state"
msgid "Offline"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1395
#: crates/pdfs-gui/src/app/pages/status.rs:1408
msgid "Cached files only"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1400
#: crates/pdfs-gui/src/app/pages/status.rs:1413
msgctxt "state"
msgid "Syncing"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1406
#: crates/pdfs-gui/src/app/pages/status.rs:1419
msgid "Up to date"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1413
#: crates/pdfs-gui/src/app/pages/status.rs:1426
#: crates/pdfs-gui/src/hud/mod.rs:608 crates/pdfs-gui/src/hud/mod.rs:622
msgid "Proton Drive isn't running"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1418
#: crates/pdfs-gui/src/app/pages/status.rs:1431
msgid "Not responding"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1419
#: crates/pdfs-gui/src/app/pages/status.rs:1432
msgid "Proton Drive is taking too long to answer"
msgstr ""
#. Translators: stands in for a time that could not be read, as in
#. "Resumes later".
#: crates/pdfs-gui/src/app/pages/status.rs:1458
#: crates/pdfs-gui/src/app/pages/status.rs:1473
#: crates/pdfs-gui/src/app/pages/status.rs:1471
#: crates/pdfs-gui/src/app/pages/status.rs:1486
msgid "later"
msgstr ""
#. Translators: strftime format for a time later today, such as "at 14:30".
#: crates/pdfs-gui/src/app/pages/status.rs:1462
#: crates/pdfs-gui/src/app/pages/status.rs:1475
msgid "at %H:%M"
msgstr ""
#. Translators: strftime format for a time within the next week, such as
#. "Tue 09:00".
#: crates/pdfs-gui/src/app/pages/status.rs:1466
#: crates/pdfs-gui/src/app/pages/status.rs:1479
msgid "%a %H:%M"
msgstr ""
#. Translators: strftime format for a date further ahead, such as "23 Sep".
#: crates/pdfs-gui/src/app/pages/status.rs:1469
#: crates/pdfs-gui/src/app/pages/status.rs:1482
msgid "%e %b"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1499
#: crates/pdfs-gui/src/app/pages/status.rs:1512
msgid "No files kept offline"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1501
#: crates/pdfs-gui/src/app/pages/status.rs:1514
msgid "Right-click a file and choose “Make available offline”."
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1552
#: crates/pdfs-gui/src/app/pages/status.rs:1559
#: crates/pdfs-gui/src/app/pages/status.rs:1565
#: crates/pdfs-gui/src/app/pages/status.rs:1572
msgid "Couldn't make it online only"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1576
#: crates/pdfs-gui/src/app/pages/status.rs:1589
msgid "Show fewer"
msgstr ""
#: crates/pdfs-gui/src/app/pages/status.rs:1579
#: crates/pdfs-gui/src/app/pages/status.rs:1592
#, rust-format
msgid "Show all {n} file"
msgid_plural "Show all {n} files"
@@ -5782,25 +5790,29 @@ msgstr ""
msgid "Proton Drive sent an unexpected reply"
msgstr ""
#: crates/pdfs-gui/src/main.rs:262
#: crates/pdfs-gui/src/main.rs:265
msgid "Session expired — sign in again"
msgstr ""
#: crates/pdfs-gui/src/main.rs:272
#: crates/pdfs-gui/src/main.rs:267
msgid "Sign-in not saved — unlock your keyring"
msgstr ""
#: crates/pdfs-gui/src/main.rs:277
#, rust-format
msgid "Up to date in {mountpoint} ({n} pinned)"
msgid_plural "Up to date in {mountpoint} ({n} pinned)"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/main.rs:279
#: crates/pdfs-gui/src/main.rs:284
#, rust-format
msgid "Syncing — {queued} ({n} pinned)"
msgid_plural "Syncing — {queued} ({n} pinned)"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/main.rs:286
#: crates/pdfs-gui/src/main.rs:291
#, rust-format
msgid "Offline — cached files only ({n} pinned)"
msgid_plural "Offline — cached files only ({n} pinned)"
@@ -5808,56 +5820,56 @@ msgstr[0] ""
msgstr[1] ""
#. Translators: {queued} is a queue summary such as "3 uploads queued".
#: crates/pdfs-gui/src/main.rs:292
#: crates/pdfs-gui/src/main.rs:297
#, rust-format
msgid "Offline — {queued}"
msgstr ""
#. Translators: a menu item that opens the list of failing changes.
#: crates/pdfs-gui/src/main.rs:330
#: crates/pdfs-gui/src/main.rs:335
#, rust-format
msgid "{n} issue — View"
msgid_plural "{n} issues — View"
msgstr[0] ""
msgstr[1] ""
#: crates/pdfs-gui/src/main.rs:436
#: crates/pdfs-gui/src/main.rs:441
msgid "Sign In…"
msgstr ""
#: crates/pdfs-gui/src/main.rs:437
#: crates/pdfs-gui/src/main.rs:442
msgid "Sign In Again…"
msgstr ""
#: crates/pdfs-gui/src/main.rs:440
#: crates/pdfs-gui/src/main.rs:445
msgid "Open Proton Drive"
msgstr ""
#: crates/pdfs-gui/src/main.rs:446
#: crates/pdfs-gui/src/main.rs:451
msgid "Open Folder"
msgstr ""
#: crates/pdfs-gui/src/main.rs:458
#: crates/pdfs-gui/src/main.rs:463
msgid "Resume Sync"
msgstr ""
#: crates/pdfs-gui/src/main.rs:460
#: crates/pdfs-gui/src/main.rs:465
msgid "Pause Sync"
msgstr ""
#: crates/pdfs-gui/src/main.rs:479
#: crates/pdfs-gui/src/main.rs:484
msgid "Connect"
msgstr ""
#: crates/pdfs-gui/src/main.rs:486
#: crates/pdfs-gui/src/main.rs:491
msgid "Hide Tray Icon"
msgstr ""
#: crates/pdfs-gui/src/main.rs:490
#: crates/pdfs-gui/src/main.rs:495
msgid "Stop Proton Drive…"
msgstr ""
#: crates/pdfs-gui/src/main.rs:494
#: crates/pdfs-gui/src/main.rs:499
msgid "Quit"
msgstr ""