1.8 KiB
Часть Вне очереди. Соседей по папке не читать, если задача не про них.
Что нового после входа
Зачем
Альфа обновляется часто. Игрок не смотрит git: если с прошлого захода в этот браузер накатили другую сборку Server, один раз показать, что вошло в неё.
Было / Стало / Почему
Было. Нет версии сборки на экране. Сессионная кука HttpOnly и про вход.
Стало. Сборка Server вшивает HEAD и git log --first-parent. GET /api/changelog?since=
отдаёт текущий SHA и коммиты после якоря. Клиент держит hschool.seen-rev (год, Path=/,
SameSite=Lax, не HttpOnly). Первый заход без куки окно не показывает — только запоминает
текущий SHA. Окно — после входа, не при возврате из школы.
Почему. «Накатанный» — то, что в dll, а не грязный HEAD при --no-build. First-parent после
--no-ff — это слитые фазы, не внутренняя нарезка ветки. Mark phase N оставляем в цепочке
якорем, в список не рисуем: иначе кука на таком HEAD потеряла бы следующее слияние.
Что не входит
Ручной CHANGELOG.md. Запись на пользователе в users.json. Вызов git из бегущего процесса.
Бамп версии сокета. Окно внутри открытой школы.