Skip to content

v1.7.1

Latest

Choose a tag to compare

@github-actions github-actions released this 03 May 13:31

release: LexPatrol 1.7.1

Обновления из GitHub (in-app)

  • Поток обновления без electron-updater: проверка релизов через публичный GitHub API, сравнение версий, выбор установочного ассета.
  • Модуль src/main/updater/: загрузка с прогрессом и отменой, проверка размера и SHA256, установка под Windows (в т.ч. helper через PowerShell), файл сессии обновления, отложение (snooze), лог updater.log.
  • Интерфейс: баннер о доступном обновлении, модалка установки, хук useInAppUpdateFlow; доработки настроек и моста IPC/preload под скачивание и запуск установщика.

Стабильность и безопасность (аудит)

  • Строгая проверка URL перед shell.openExternal (только http: / https: через разбор URL).
  • Один экземпляр приложения: requestSingleInstanceLock и обработка повторного запуска.
  • Предсказуемые ошибки при резервном копировании БД и прочие точечные правки по отчёту аудита; расширен typecheck на main-процесс при необходимости.

Оверлей и интерфейс

  • Вынесены/зафиксированы константы раскладки оверлея (overlay-layout-constants), правки оверлейного окна и связанных экранов (дашборд, государственный раздел, оверлей, настройки, оболочка приложения и навигация) в связке с горячими клавишами и подсказками.

Тесты и покрытие

  • Vitest и @vitest/coverage-v8: два профиля — полный набор с порогами coverage и «критический» (vitest.critical.config.ts) для CI.
  • Vitest 3 / test.projects: отдельные проекты node (main, shared, parsers, services) и jsdom (renderer); без устаревшего environmentMatchGlobs. В каждом проекте заданы resolve (алиас на stub electron), plugins и setupFiles, чтобы стабильно работали stub и @testing-library/jest-dom.
  • Stub Electron для юнит-тестов: в т.ч. расширенный globalShortcut и globalShortcutTestHooks (сброс, подмена register, учёт unregister / unregisterAll).
  • Юнит-тесты updater: checker (semver, выбор ассета, фикстуры API), validator, downloader, installer (чистая логика + моки spawn), state, snooze, logger.
  • Поиск и данные: search-tokens, article-number, retrieval и теги на in-memory БД с миграциями; сиды при необходимости.
  • Парсеры и утилиты: article-import-filter, html-element-plain-text; константы оверлея; backup-restore / restore-сценарии.
  • Горячие клавиши: validateAccelerator, applyOverlayGlobalShortcuts на stub; чтение/сохранение хоткеев в БД, humanize для Windows.
  • IPC: вынесен mergeAgentConfig в отдельный модуль с тестами на in-memory БД.
  • Renderer: smoke-тесты на @testing-library/react (в т.ч. RouteEmptyState, формат хоткеев в lib).

CI и релиз

  • ci.yml: на PR и push в основные ветки — параллельно lint и test; тесты с npm rebuild better-sqlite3; сначала критический coverage, затем полный; сборка Windows после успешных проверок; на тег v* — публикация GitHub Release с установщиками и .sha256.
  • release-windows.yml: только ручной workflow_dispatch для сборки артефактов без публикации релиза (теги обрабатываются в ci.yml).
  • После полного прогона тестов: vitest-coverage-report-action — комментарий в PR с summary из coverage/coverage-summary.json; в артефакт coverage добавлены coverage-summary.json и coverage-final.json (включая coverage/critical/, если файлы есть).
  • Краткий блок Coverage в summary job для ссылки на HTML-отчёт в артефакте.

Документация

  • README: команды проверки (verify, тесты, coverage), описание CI, опциональные секреты; актуализация под новый пайплайн и обновления.

Версия

  • Версия приложения: 1.7.1.

Full Changelog: v1.7.0...v1.7.1