Skip to content

Сообщения о новых версиях — по согласию, для Mac и Windows - #19

Merged
audit0 merged 1 commit into
mainfrom
claude/design-redesign-no1k6b
Sep 28, 2026
Merged

audit0 merged 1 commit into
mainfrom
claude/design-redesign-no1k6b

Conversation

@audit0

@audit0 audit0 commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Пункт 8 из списка улучшений («Что ещё можно улучшить?»). Кто остался на старой версии, не узнавал об исправлениях безопасности, например из 0.3.1. Программа обещает не ходить в сеть, поэтому проверка обновлений включается только с согласия.

Как это работает

  • Вопрос. На «Обзоре» один раз появляется карточка «Сообщать о новых версиях?» с кнопками «Сообщать» и «Не надо». Пока человек не ответил или если отказался, OffLoadAI в сеть не ходит.
  • Запрос. Раз в сутки, при запуске и при возврате к окну, программа делает один запрос GET https://api.github.com/repos/audit0/Offload/releases/latest. Запрос идёт без cookies, без кеша и без номера версии программы. Время попытки запоминается и при неудаче, так что без сети программа не стучится в GitHub каждый раз.
  • Разбор ответа.
    • Из ответа берётся только номер выпуска, ровно три числа.
    • Черновики, предварительные выпуски и непонятные номера (v1.2.3-beta, арабские цифры, слишком длинные) не считаются.
    • Страница выпуска строится из номера. Адрес html_url из ответа программа не открывает.
  • Новая версия. В боковой колонке появляется строка «Вышла версия …». Она открывает окно с командой установки (кнопка «Скопировать»), кнопкой «Что нового» и кнопкой «Не напоминать об этой»: об отложенной версии программа больше не напомнит, о следующей напомнит. Сама программа ничего не скачивает и не ставит. Обновляет человек той же командой установки, которая сверяет архив и после Windows: программы получают только нужное окружение; установщик Mac не подменяет работающую программу #18 не подменяет работающую программу.
  • Где настраивается.
    • Mac: в меню «OffLoadAI» пункты «Проверить обновления…» и переключатель «Сообщать о новых версиях». «Проверить обновления…» делает один запрос по нажатию и показывает итог: «Установлена последняя версия — …» или почему проверить не вышло.
    • Windows: в «О программе OffLoadAI» переключатель, «Проверить обновления сейчас» и итог проверки.
  • Сборка для разработки. У запуска без пакета номера версии нет. Номер вида 0.4.0-ci сравнивается по трём числам, поэтому сборка той же версии обновиться не просит.

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

  • В README добавлен раздел «Новые версии». Строки о сети по-русски и по-английски теперь говорят, что в сеть выходят только помощник и эта проверка, и оба — только по согласию.
  • В SECURITY.md добавлен раздел «Сообщения о новых версиях — только по согласию» с точным запросом и тем, что из ответа берётся. Обновлены раздел о помощнике и английская сводка.
  • Экран согласия помощника на Mac и Windows больше не говорит, что остальной OffLoadAI работает совсем без сети.

Проверка

  • Mac. Проверка типов на Linux по заглушкам прошла без ошибок: ядро, новые файлы приложения, ContentView, OverviewView, меню и проверки. В заглушки добавлены ViewModifier, onReceive и NSPasteboard, чтобы проверялось и главное окно.
  • Раздел проверок Mac. Новый раздел «Обновления: ответ GitHub и номера версий» прогнан на Linux с настоящим UpdateCheck вместе с живым запросом к GitHub: 27 из 27. Настоящий ответ разобран как 0.4.0.
  • Windows. Всё решение собирается: 0 ошибок, 0 предупреждений. Тот же раздел проверок (OFFLOAD_CHECKS_ONLY=updates) проходит на Linux. Живой запрос через ядро Windows тоже вернул 0.4.0.
  • Не проверено. Живьём на macOS и Windows интерфейс не смотрел.

🤖 Generated with Claude Code

https://claude.ai/code/session_019g9zXsGLHyDxJzGtUAQUVY


Generated by Claude Code

Кто остался на старой версии, не узнавал об исправлениях безопасности. Теперь OffLoadAI один раз
спрашивает на «Обзоре», сообщать ли о новых версиях. Пока человек не ответил или если отказался,
программа в сеть не ходит.

Включённые сообщения раз в сутки делают один запрос к api.github.com за номером последнего выпуска:
без cookies и без номера версии программы. Из ответа берётся только номер (три числа), черновики и
предварительные выпуски не считаются, страница выпуска строится из номера. Новая версия — строка
«Вышла версия …» в боковой колонке: окно с командой установки (кнопка «Скопировать»), «Что нового»
и «Не напоминать об этой». Сама программа ничего не скачивает и не ставит.

Переключатель и «Проверить обновления…» — в меню OffLoadAI на Mac и в «О программе OffLoadAI» на
Windows. README, SECURITY.md и экран согласия помощника говорят, что в сеть выходит и эта проверка.

Проверки: разбор ответа, номера версий, раз в сутки — на Mac и Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019g9zXsGLHyDxJzGtUAQUVY
@audit0
audit0 merged commit 946dd2a into main Sep 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants