Skip to content

bug(updater): Linux portable update wipes QueryaData folder via rm -rf / rsync --delete #1055

Description

@ZhuchkaTriplesix

Summary

Критический баг потери данных: при автообновлении Linux Portable zip скрипт buildLinuxBundleReplaceScript удаляет папку QueryaData с базой данных подключений и историей пользователя.

Context & Cause

В lib/core/updater/installers/update_install_utils.dart (строки 165–170):

if command -v rsync >/dev/null 2>&1; then
  rsync -a --delete "$SRC"/ "$DST"/
else
  rm -rf "$DST"/*
  cp -a "$SRC"/. "$DST"/
fi

Когда пользователь использует Portable-режим, директория профиля QueryaData (где лежат querya.db, темы и расширения) располагается прямо в $DST.

  • При вызове rsync -a --delete: флаг --delete удаляет любые файлы и папки в $DST, которых нет в распакованном исходнике $SRC (включая QueryaData).
  • При отсутствии rsync: команда rm -rf "$DST"/* принудительно стирает ВСЁ содержимое каталога установки под корень!

Fix

  1. В rsync добавить исключение: --exclude='QueryaData'.
  2. В fallback ветке никогда не выполнять слепой rm -rf "$DST"/*. Находить и удалять только системные файлы бандла Flutter (lib/, data/, querya_desktop), сохраняя QueryaData.

Acceptance Criteria

  • При обновлении Linux Portable версии папка QueryaData и файл querya.db остаются в целости и сохранности.
  • Написан тест в test/core/updater/ на проверку скрипта обновления с флагом исключения QueryaData.

Activity

  1. added
    bugSomething isn't working
    stabilityTheme parser epic label: stability
    coreCore library logic and services
    P0Critical blocker / Data loss
    on Oct 4, 2026
  2. added a commit that references this issue on Oct 4, 2026
  3. ZhuchkaTriplesix commented on Oct 5, 2026

    @ZhuchkaTriplesix
    MemberAuthor

    Resolved in PR #1066

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Critical blocker / Data lossbugSomething isn't workingcoreCore library logic and servicesstabilityTheme parser epic label: stability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions