Skip to content

enhancement(ui): add Check for Updates top menu intent, update notification badge, and UpdateDialog #281

Description

@ZhuchkaTriplesix

Summary / Описание задачи

В соответствии с Фазой 2 Технического Задания (Obsidian 06 — Планирование/Система автообновления десктопа.md), необходимо интегрировать интерфейс проверки и установки обновлений в клиент Querya Desktop.

Требуемые UI-компоненты:

  1. Пункт меню: В Help добавлен пункт Check for Updates..., вызывающий явную проверку обновлений с отображением индикатора загрузки.
  2. Бейдж в строке заголовка: В правый угол QueryaWindowTitleBar добавлен визуальный индикатор (например, иконка подарка/скачивания и текст v0.5.0 available), который отображается при успешном нахождении обновления в фоне.
  3. Модальное окно UpdateDialog:
    • Отображение номера новой версии, даты релиза и отформатированного Changelog (Markdown).
    • Индикатор прогресса загрузки (LinearProgressIndicator с процентами, скоростью и кнопкой отмены).
    • Кнопки управления: Remind me later / Download & Install / Restart & Update Now.
  4. Настройки (Preferences -> General): Чекбокс Automatically check for updates on startup (включен по умолчанию).

Scope & Component

  • Scope: desktop
  • Component: UI / Updater & Dialogs
  • Kind: enhancement
  • Severity: medium
  • Detected in version: dev / 0.5.0

Местоположение в коде (Планируемое)

  • Файлы:
    • lib/features/main_screen/querya_window_title_bar.dart (добавление бейджа обновления)
    • lib/features/updater/presentation/update_dialog.dart (модальное окно релиза и прогресса)
    • lib/features/settings/presentation/pages/general_settings_page.dart (настройка автопроверки)

Acceptance Criteria / Критерии приемки

  • Пункт Help -> Check for Updates... открывает UpdateDialog и запускает проверку через AppUpdaterService.
  • Окно UpdateDialog корректно отображает Markdown-описание релиза, индикатор загрузки артефакта и обрабатывает состояния Checking, Up to date, Available, Downloading и Ready to install.
  • В настройках General можно включить или отключить автоматическую проверку при старте.

Metadata

Metadata

Labels

enhancementNew feature or requestuiUser interface components and widgets

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions