mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-13 17:27:03 +01:00
fix(sync): isolate My files attachments
Schema 45 separates attachments from device backups so stopping sync or changing mode cannot trash My files folders or evict their local data. Exclude attachments from device profiles and validate device restores. Verify attached roots before each pass and cover both local views, concurrent edits, removal guards, and root loss across daemon restarts. Refs #77
This commit is contained in:
1 parent
5ca0272f15
commit
d4a14a17a8
20 files changed
+595
-67
No files matched your search
@@ -2319,6 +2319,9 @@ fn cmd_locations() -> Result<()> {
|
||||
MountKind::Device { sync_folder_id } => {
|
||||
format!("Device folder {sync_folder_id}")
|
||||
}
|
||||
MountKind::Attached { sync_folder_id } => {
|
||||
format!("My files mirror {sync_folder_id}")
|
||||
}
|
||||
MountKind::Shared { .. } => "Shared folder".to_string(),
|
||||
};
|
||||
let mode = match location.pending_mode {
|
||||
@@ -4293,6 +4296,7 @@ mod diagnose_tests {
|
||||
#[test]
|
||||
fn a_synced_folder_in_error_is_reported() {
|
||||
let folder = |id: i64, state: &str| pdfs_core::control::SyncFolderInfo {
|
||||
kind: "device".into(),
|
||||
id,
|
||||
local_path: format!("/home/u/f{id}"),
|
||||
remote_uid: "vol~link".into(),
|
||||
|
||||
Reference in new issue
Block a user