mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 00:47:00 +01:00
fix(sync,gui,cli): get a synced folder unstuck when its local copy is gone (#46)
A mirror folder whose files were all gone from this computer stayed in error for good. The wipe guard rightly refuses to trash the whole folder on Drive, but nothing got the folder out of that state: a queued switch to on-demand waits for a pass that ends idle, and its push pass hit the same guard. Only removing the folder from sync cleared the baseline that made the empty folder read as "delete everything". - The push pass for a switch to on-demand forgets the baseline rows of a local copy that is gone in full instead of trashing them, so the switch goes ahead and the mount shows what Drive has. - New Request::ResetSyncFolder, `pdfs sync reset ID` and "Sync From Scratch…" in a synced folder's menu clear a mirror folder's baseline (and a queued switch to on-demand, whose push pass would upload a duplicate of every file). The next pass compares both sides as on the first sync: one-sided files are copied across, files that differ keep both versions, nothing is deleted. - The wipe guards' messages name the reset; restore logs why it skipped a folder. Two simulations cover it. The on-demand one failed in exactly the reported state (mirror, pending ondemand, error) before the fix. All 8 catalogs translated.
This commit is contained in:
1 parent
ea10a43216
commit
a5acae41b3
23 files changed
+832
-238
No files matched your search
@@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: proton-drive-linux 2.1.0\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
|
||||
"POT-Creation-Date: 2026-10-25 22:10+0100\n"
|
||||
"POT-Creation-Date: 2026-10-26 17:16+0100\n"
|
||||
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
|
||||
"Last-Translator: Proton Drive for Linux contributors\n"
|
||||
"Language-Team: German\n"
|
||||
@@ -64,7 +64,7 @@ msgstr "%A, %-d. %B %Y, %H:%M"
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1249
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:2167
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:2246
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1667
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1717
|
||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
|
||||
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
|
||||
msgid "My files"
|
||||
@@ -258,8 +258,9 @@ msgstr ""
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:1186
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:850
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1054
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1531
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1537
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1581
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1631
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:594
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:640
|
||||
@@ -1285,8 +1286,9 @@ msgstr "Alben konnten nicht geladen werden"
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:881
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:904
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1123
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1623
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1643
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1566
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1673
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1693
|
||||
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1504
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:1421
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2141
|
||||
@@ -2324,7 +2326,8 @@ msgid "Add Folder to Sync"
|
||||
msgstr "Ordner zur Synchronisierung hinzufügen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:691
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1636
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1559
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1686
|
||||
msgid "Syncing folder…"
|
||||
msgstr "Ordner wird synchronisiert …"
|
||||
|
||||
@@ -3249,16 +3252,41 @@ msgstr "Synchronisierung fortsetzen"
|
||||
msgid "Pause Syncing"
|
||||
msgstr "Synchronisierung pausieren"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1518
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1513
|
||||
msgid "Sync From Scratch…"
|
||||
msgstr "Neu synchronisieren …"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1523
|
||||
msgid "Stop Syncing…"
|
||||
msgstr "Synchronisierung beenden …"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1527
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1533
|
||||
msgid "Sync From Scratch?"
|
||||
msgstr "Neu synchronisieren?"
|
||||
|
||||
#. Translators: {path} is a local folder path.
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1535
|
||||
#, rust-format
|
||||
msgid ""
|
||||
"This computer forgets what it synced in {path} before and compares the "
|
||||
"folder with Proton Drive again. Nothing is deleted: a file on one side only "
|
||||
"is copied to the other, and a file that differs keeps both versions."
|
||||
msgstr "Dieser Computer vergisst, was er in {path} bisher synchronisiert hat, und vergleicht den Ordner erneut mit Proton Drive. Es wird nichts gelöscht: Eine Datei, die nur auf einer Seite liegt, wird auf die andere kopiert, und von einer Datei, die sich unterscheidet, bleiben beide Versionen erhalten."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||
msgid "Sync From Scratch"
|
||||
msgstr "Neu synchronisieren"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1557
|
||||
msgid "Couldn't sync the folder from scratch"
|
||||
msgstr "Der Ordner konnte nicht neu synchronisiert werden"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1577
|
||||
msgid "Make Folder Online Only?"
|
||||
msgstr "Ordner auf „Nur online“ umstellen?"
|
||||
|
||||
#. Translators: {path} is a local folder path.
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1529
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1579
|
||||
#, rust-format
|
||||
msgid ""
|
||||
"Files in {path} will be removed from this computer and kept in Proton Drive "
|
||||
@@ -3267,11 +3295,11 @@ msgstr ""
|
||||
"Dateien in {path} werden von diesem Computer entfernt und nur in Proton "
|
||||
"Drive behalten. Jede Datei wird beim Öffnen erneut heruntergeladen."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1532
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1582
|
||||
msgid "Make Online Only"
|
||||
msgstr "Nur online verfügbar machen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1568
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1618
|
||||
#, rust-format
|
||||
msgid ""
|
||||
"Every file in {path} will download to this computer and stay synced. {free} "
|
||||
@@ -3280,62 +3308,62 @@ msgstr ""
|
||||
"Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt "
|
||||
"synchronisiert. Auf diesem Datenträger sind {free} frei."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1573
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1623
|
||||
#, rust-format
|
||||
msgid "Every file in {path} will download to this computer and stay synced."
|
||||
msgstr ""
|
||||
"Jede Datei in {path} wird auf diesen Computer heruntergeladen und bleibt "
|
||||
"synchronisiert."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1578
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1628
|
||||
msgid "Download Folder?"
|
||||
msgstr "Ordner herunterladen?"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1582
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1632
|
||||
#: crates/pdfs-gui/src/app/update.rs:34
|
||||
msgid "Download"
|
||||
msgstr "Herunterladen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1606
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1656
|
||||
msgid "Couldn't pause the folder"
|
||||
msgstr "Der Ordner konnte nicht pausiert werden"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1607
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1657
|
||||
msgid "Couldn't resume the folder"
|
||||
msgstr "Der Ordner konnte nicht fortgesetzt werden"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1613
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1663
|
||||
msgid "Folder paused"
|
||||
msgstr "Ordner pausiert"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1614
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1664
|
||||
msgid "Folder resumed"
|
||||
msgstr "Ordner fortgesetzt"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1638
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1642
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1688
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1692
|
||||
msgid "Couldn't sync"
|
||||
msgstr "Synchronisieren fehlgeschlagen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1668
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1718
|
||||
msgid "Shared folder"
|
||||
msgstr "Geteilter Ordner"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1670
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1720
|
||||
msgid "Going online only"
|
||||
msgstr "Wird auf „Nur online“ umgestellt"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1671
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1721
|
||||
msgid "Switching to synced"
|
||||
msgstr "Wird auf synchronisiert umgestellt"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1681
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1731
|
||||
msgctxt "state"
|
||||
msgid "paused"
|
||||
msgstr "pausiert"
|
||||
|
||||
#. Translators: a folder's files can't be opened right now.
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1692
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1742
|
||||
msgid "not available"
|
||||
msgstr "nicht verfügbar"
|
||||
|
||||
@@ -5939,7 +5967,9 @@ msgstr "Link-Einstellungen"
|
||||
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:802
|
||||
msgid ""
|
||||
"Change who can edit, the password or the expiry. The link stays the same."
|
||||
msgstr "Ändern, wer bearbeiten darf, das Passwort oder den Ablauf. Der Link bleibt derselbe."
|
||||
msgstr ""
|
||||
"Ändern, wer bearbeiten darf, das Passwort oder den Ablauf. Der Link bleibt "
|
||||
"derselbe."
|
||||
|
||||
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:849
|
||||
msgid "New password"
|
||||
|
||||
Reference in new issue
Block a user