Show unseen Server commits after login.
Bake first-parent git log at Server build and remember the SHA in a browser cookie. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -118,3 +118,28 @@
|
||||
Голый `dotnet run --project src/HSchool.AppHost` по-прежнему собирает — так удобнее агентам с
|
||||
грязным деревом. Linux-обёртки нет: точка входа Windows — `.cmd`. Протокол, HTTP и сейв не
|
||||
трогаем.
|
||||
|
||||
## Что нового после входа
|
||||
|
||||
### Зачем
|
||||
|
||||
Альфа обновляется часто. Игрок не смотрит 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 из бегущего процесса.
|
||||
Бамп версии сокета. Окно внутри открытой школы.
|
||||
|
||||
Reference in New Issue
Block a user