Skip to content

GetBox 1.3.0: темы, виды списков, обновления с откатом, самообновление, промо - #4

Merged
IncludeSpecial merged 11 commits into
mainfrom
claude/project-review-improvements-jalgyq
Oct 13, 2026
Merged

IncludeSpecial merged 11 commits into
mainfrom
claude/project-review-improvements-jalgyq

Conversation

@IncludeSpecial

@IncludeSpecial IncludeSpecial commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Что внутри

GetBox обновляется сам

  • При запуске и раз в 6 часов main-процесс проверяет релизы GitHub (канал «Стабильный» или «Бета»).
  • Портативный exe скачивается в фоне и сверяется по SHA256 с файлом GetBox-X-portable.exe.sha256 из релиза; запасной вариант — digest ассета в API GitHub. Без контрольной суммы обновление не скачивается. Загрузка разрешена только с github.com и хранилища ассетов GitHub, только по HTTPS.
  • Кнопка «Обновить до X» в заголовке окна: «Перезапустить» или «При выходе». Запущенный exe заблокирован, поэтому его заменяет отдельный скрипт после выхода GetBox и запускает заново.
  • После обновления — разовый экран «Что нового» (data/whats-new.json) с переходами к новым возможностям. При первой установке экран не показывается.
  • Настройки → GetBox: версия, ручная проверка, фоновая загрузка, канал.
  • release.yml теперь публикует .sha256 рядом с exe.
  • Версия поднята до 1.3.0, раздел в CHANGELOG.

Внешний вид

  • Пять тем в «Расширенных → Внешний вид»: Классика, Светлая, OLED, Высокий контраст, Windows 11 (на Windows 11 22H2+ — системный фон Mica, иначе полупрозрачная подложка).
  • Свой акцентный цвет; цвет текста на кнопках подбирается по яркости акцента.
  • Масштаб интерфейса 90–125 % (через setZoomFactor).
  • Четыре вида списков: карточки, список с описанием, таблица, плитки. Переключатель над каждым списком, выбор запоминается.
  • Захардкоженные цвета в index.css стали переменными, которые перекрашивает каждая тема. Значения внешнего вида проверяются в main-процессе.
  • В плитках «Установить» появляется поверх иконки при наведении, без пустой полосы.

Обновления программ

  • Вкладка «Обновления»: что можно обновить через winget / Scoop / Chocolatey; программы из каталога — под своим названием и иконкой.
  • «Обновить» и «Обновить все» идут через общую очередь установок.
  • История по дням; последнее успешное обновление можно откатить (winget install --version, scoop reset app@ver, choco install --version --allow-downgrade).
  • Проверка при запуске и раз в 6 часов, по желанию — установка в фоне.

Промо

  • promo/: обычное (53 с) и корпоративное (50 с) промо 1.3, эдит, синтезированная музыка.
  • Камера и выноски берутся из координат реальных элементов: capture13.cjs замеряет их на каждом скриншоте (shots/13/marks.json), director.js — общий движок.

Проверка

  • npm run lint, tsc (renderer и main), node scripts/smoke.cjs — 65/65 (в том числе разбор вывода менеджеров пакетов, сравнение версий и выбор релиза для самообновления), verify-catalog, npm run build.
  • Интерфейс (кнопка обновления, «Что нового», настройки, темы) проверен скриншотами renderer на подставных данных.
  • Не проверено на живой Windows: замена exe при самообновлении, разбор вывода менеджеров пакетов в разных локалях, откат через winget / Chocolatey, системный Mica. Самообновление можно проверить по-настоящему только между двумя опубликованными релизами: после выпуска 1.3.0 стоит выпустить 1.3.1-beta и обновиться на неё с каналом «Бета».

🤖 Generated with Claude Code

https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC

claude added 11 commits October 12, 2026 23:51
Five themes (classic, light, OLED, high contrast, Windows 11 with native
Mica on 22H2+), a custom accent colour, interface zoom and a cards / list /
table / tiles switcher above every list. Hardcoded colours in the
stylesheet became tokens that each theme repaints; appearance values are
validated in the main process before they are stored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
New Updates tab lists what winget, Scoop and Chocolatey can upgrade,
showing catalog apps under their own name and icon. Upgrades and
rollbacks run through the install queue; each finished one lands in a
per-day history, and the newest successful upgrade of a package can be
rolled back to the previous version (winget --version, scoop reset,
choco --allow-downgrade). Checks run at launch and every 6 hours, with
optional background install. Output parsers are covered by smoke tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
promo13.html follows the 12-shot storyboard (45 s, 120 bpm) and renders at
any height via ?h=, with a scene/timecode overlay for review (?debug=1).
music13.py synthesises the track with both drops and the scene sound
effects on the picture's beats. render.cjs passes QUERY, OUT_SUFFIX and
CRF through for low-res drafts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
Tiles no longer reserve an empty row for the hidden install button: the
action now floats over the bottom of the art on hover or focus.

The promo gets whip transitions with motion blur, beat punches and shakes
on the drops, word-by-word kinetic titles, a circular accent reveal from
its swatch, a tape-rewind rollback and a 2x2 grid of list views that
assembles from flying, labelled cells. capture13.cjs regenerates every
screenshot the promo uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
Eight more features get one cut each on the beat between the rollback and
the suggestions scene: search across every source, categories, install
sets, favourites, the package index, 125% scale, Russian / English and the
winget fallback. The track grows to 53 s with a hit and a whoosh on every
cut; capture13.cjs takes the new screens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
Drop the per-beat zoom punches that made every scene jitter; the frame
now only shakes and pushes in briefly on the real hits. Zooms stay within
about 2x, framings no longer cut the tab row, headings or dialog buttons,
and the rollback and suggestion shots keep names and buttons in view.
Screenshots are captured at 2x so close-ups stay sharp.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
edit13.html cuts on every beat (every half beat in the second drop) with
velocity zooms, a chromatic split on the titles, flashes, a letterboxed
half-time break and a logo slam. music-edit13.py synthesises a 130 bpm
cowbell / 808 track with silent pickups before each drop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
corp13.html is a calm, light-theme explainer: problem, solution, four
feature blocks with callouts on the real interface and a section progress
bar, a summary grid and a call to action. music-corp13.py adds a soft
piano and pad track; capture13.cjs takes the light-theme screens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
The catalog keeps growing and winget, Scoop and Chocolatey add thousands
more packages, so the videos no longer count to 118: they say «thousands of
programs» and describe a growing, curated catalog instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
capture13.cjs now records the rects of key elements on every screenshot
(marks.json), and director.js frames and highlights only those: the camera
shows the full window, eases onto an element, holds, and only then dims the
rest and labels it. Titles live outside the window, so nothing overlaps the
interface. The regular promo is rewritten on this engine and kept in time
with music13.wav; the corporate one uses it for its four feature blocks.
Firefox stays uninstalled in the captures so the hero reads «Установить».

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
loudnorm resamples internally and left the AAC track at 96 kHz, which many
players silently skip. The mux commands now pass -ar 48000.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LtWxNVyWyutDLyX8cWQFC
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
get-box Ready Ready Preview Oct 13, 2026 2:20am UTC

@IncludeSpecial
IncludeSpecial merged commit b0be7db into main Oct 13, 2026
2 of 3 checks passed
@IncludeSpecial IncludeSpecial changed the title GetBox 1.3: темы, виды списков, обновления с откатом, промо GetBox 1.3.0: темы, виды списков, обновления с откатом, самообновление, промо Oct 13, 2026

This branch was successfully deployed

1 active deployment
Preview — 054d13ec Deployed Oct 13, 2026 by vercel[bot]
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