Repository navigation
GetBox 1.3.2: надёжное самообновление, журнал и отчёт, Electron 44, CI на Windows - #8
Merged
Merged
Conversation
Each page has its own animation and a synthesized soundtrack timed to its cut list; synth.py holds the shared numpy oscillators, drums and effects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
Same timelines and soundtracks, re-laid out for 1080x1920 with key content kept clear of the Shorts title, caption and button overlays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
…lf-update fallback - Electron 33 -> 44 and electron-builder 26; Electron 33 no longer gets security fixes. - Package-manager commands are built by shell-args.ts: arguments with cmd.exe metacharacters are refused and typed search queries are cleaned, so a query like "vlc & calc" can no longer start a second command. - Log file in %LOCALAPPDATA%\GetBox\logs with crash hooks; Settings -> GetBox can copy a diagnostics report and open the logs folder. - A second launch focuses the running window instead of starting another app. - Self-update uses Electron's net.fetch (honours the Windows proxy), falls back to the releases/latest redirect when the GitHub API is rate-limited, checks the download host via net.request and logs every step. - --smoke mode for CI: render, check catalog and console, exit with a code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
- CI job on windows-latest: Windows-only tests, portable build and a --smoke start of the packaged app. - scripts/test-windows.cjs runs the self-update swap script on real cmd.exe (paths with spaces, waiting for the process, read-only exe), passes arguments through cmd.exe and parses real choco/winget output. - swapScript() extracted from SelfUpdater.apply so it can be tested. - Version 1.3.2, changelog, What's new cards, developer notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Первый этап плана улучшений. Цель — чтобы исправления гарантированно доходили до пользователей и чтобы ошибку у пользователя можно было разобрать.
Самообновление
Проверил на живом релизе: «клиент 1.3.0» находит 1.3.1, скачивает его и сверяет SHA256 — и в Node, и внутри Electron 44. По ходу проверки нашлись две проблемы, которые бы ударили по реальным пользователям:
fetchиз Node идёт мимо прокси. Теперь запросы идут черезnet.fetchиз Electron, то есть через сетевой стек Chromium, как в браузере.releases/latest.net.fetchне сообщает конечный URL после переадресаций, поэтому проверка разрешённых хостов молча выключилась бы. Теперь хост проверяется черезnet.requestс ручной переадресацией до того, как читается файл.Диагностика
electron/log.ts: журнал%LOCALAPPDATA%\GetBox\logs\getbox.logс ротацией по 1 МБ. Туда попадаютconsole.warn/errormain-процесса, неперехваченные ошибки и сбои окна и вспомогательных процессов.~;Безопасность и стабильность
electron/providers/shell-args.ts.cmd.exe(уscoopиchocoэто обёртки.cmd), а Node в режимеshellпросто склеивает аргументы. Поиск «vlc & calc» запустил быcalc.cmdотклоняются, а поисковый запрос очищается.CI на Windows
--smoke(electron/smoke.ts): открыть окно, дождаться отрисовки, проверить каталог и консоль, выйти с кодом 0 или 1.windowsвci.yml:scripts/test-windows.cjs:cmd.exe(путь с пробелами, ожидание выхода процесса, exe только для чтения);cmd;choco outdatedиwinget upgrade;GetBox.exe --smoke.swapScript()вынесен изSelfUpdater.apply().Релиз
Версия 1.3.2, раздел в
CHANGELOG.md, карточки «Что нового», заметки вdocs/DEVELOPMENT.md.Ещё в ветке
Два коммита с промо-роликами (
promo/): стили «кинетика», «синтвейв», «лоу-фай» и их вертикальные версии для Shorts. Это только исходники страниц и музыки, приложение они не затрагивают.Проверка
npm run lint, обеtsc --noEmit,npm test: smoke 71, download 9, resilience 2, app-full 10, проверка winget-map.npm run build;electron . --smokeпод Xvfb на Electron 44 →{"ok":true,"version":"1.3.2","apps":118,"errors":[]}.electron-builder --win dir: собирается, новые модули вapp.asar.releases/latest.windowsв CI.🤖 Generated with Claude Code
https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
Generated by Claude Code