Прерванный экспорт поверх существующего файла уничтожает старую резервную копию
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 54/100
Direzione di ricerca
Start with SettingsViewModel.ExportBackup in SettingsViewModel.Backup.cs (lines 67–81) and inspect how the destination stream is opened and written. Check the backup export tests and the fake storage stream behavior, if present. Done means an interrupted overwrite leaves the previous backup readable, while providers without safe replacement offer saving to a new file.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Приоритет P1 · milestone 0.4.1
После подтверждения замены файла экспорт может оставить пустую или неполную копию, если запись прервётся после открытия файла. Пользователь теряет предыдущую рабочую резервную копию.
Воспроизведение с фейковым хранилищем
- Сохранить корректную
.bydlobackup. - Экспортировать новую копию в тот же файл с подтверждением перезаписи.
- Подменить поток сохранения на поток, который успешно выполняет
SetLength(0), а на записи выбрасываетIOException. Такой порядок соответствует сбою диска или облачного провайдера при записи. - Команда покажет ошибку. Предыдущий файл уже обрезан и не проходит проверку при импорте.
Причина и доказательство: SettingsViewModel.ExportBackup (SettingsViewModel.Backup.cs:67–81) напрямую обнуляет целевой поток и записывает туда результат. Обработчик ошибки показывает сообщение без восстановления старых байтов. Подтверждено порядком операций, на пользовательских файлах сбои не симулировались.
Ожидаемо: предыдущий файл остаётся читаемым до полного завершения экспорта новой копии.
Направление исправления: для локального файла записывать и сбрасывать зашифрованный временный файл в той же папке, затем атомарно заменять назначение. Для провайдеров без безопасной замены предложить сохранить новый файл.
Аудит ffa65648867139f9e45c15f4b635a83c1ff52c1b.
- Lingua principale
- C#
- Stelle
- 5
- Fork
- 1
- Merge medio
- 23m
- PR unite (30g)
- 144
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di endercodezz/BYDLO
-
bug github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
endercodezz/BYDLO#336 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 63/100
endercodezz/BYDLO#343 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
endercodezz/BYDLO#342 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
endercodezz/BYDLO#341 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
endercodezz/BYDLO#340 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di endercodezz/BYDLO
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
Unity-Technologies/unity-agent-plugin#118 ·
I maintainer di solito rispondono entro 1 giorno
-
The Recommended preset turns on Import Uno DSP, which only works with the Material themeForse già presa @agneszitte l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
unoplatform/uno.templates#2388 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
eyalgolan/statecraft-israel#2732 ·
I maintainer di solito rispondono entro 1 giorno
-
変換の候補のどれが Zenzai の答えか分からないAperta要トリアージ
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
kind/chore status/draft
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Altinn/altinn-events#1158 ·
I maintainer di solito rispondono entro 1 giorno