- migrations-step-norm-and-tests, gate-steps-subject-guard и review-config-from-go-upgrade уехали в голову: слой проверок, которым верят все задачи ниже; - rollback-restores-wrong-session-duration встал рядом с соседом про откат, bot-api-only-through-bot-client — рядом с чисткой транспорта, pin-runtime-image-base — перед spa-skeleton, откуда начинаются пересборки; - pipeline-spec-purpose-drift закрыта реализованной, а docs-consistency-2026-08-13 переписана под пять оставшихся находок: шестую свело повышение раскладки.
4.3 KiB
🐞 Починить срок сессии, который ставит откат шага входа
- Тип: fix
- Категория: Очередь — Оба про откат шага схемы: соседняя строка называет, что откат не отменяет применённое, эта чинит константу, которую он ставит. Порознь их правят дважды в одном файле.
- Зачем: Константа defaultAuthTokenDuration в шаге 202608120001 названа умолчанием библиотеки, но 1209600 — это 14 суток, а умолчание PocketBase 432000, пять суток: откат объявляет возврат к умолчанию и ставит срок вдвое больше выбранных владельцем семи.
Найдено ревью пачки задач о гейте 2026-08-12, проход разбора кода. Дефект
пришёл из задачи oidc-login и её правкой не был замечен; переезд шагов схемы в
свой каталог развёл противоречащие комментарии по разным файлам, где раньше они
стояли в трёх строках друг от друга: provider.go пишет «умолчание библиотеки в
пять суток», шаг — «умолчание библиотеки» о числе в 14 суток.
Оракул сегодняшнего состояния:
grep -n "Duration: 432000" ~/go/pkg/mod/github.com/pocketbase/pocketbase@v0.39.10/core/collection_model_auth_options.go
отдаёт строку Duration: 432000, // 5days. Числа 1209600 в модуле нет ни разу
как длительности токена.
Развилка, которую решает человек: правка меняет поведение применённого шага схемы, а такое спрашивается всегда. Либо константа приводится к 432000 внутри существующего шага (откат ещё не исполнялся ни разу, и переписывание трогает только будущие откаты), либо 14 суток объявляются выбранным числом — и тогда меняется имя константы и её комментарий, а не значение.
Воспроизведение
- Подключить откаты (
migratecmd) — сегодня их не подключает ничто. - Откатить шаг
202608120001_oidc_login.go. - Прочитать
AuthToken.Durationколлекцииusers: там 1209600 — вдвое больше семи суток, выбранных владельцем, и в 2.8 раза больше умолчания библиотеки, к которому откат обещал вернуть.
Затрагивает
internal/adapter/repo/pocketbase/migrations/202608120001_oidc_login.go, константаdefaultAuthTokenDurationи комментарийdown202608120001;internal/adapter/repo/pocketbase/provider.go, комментарий кSessionDuration— он называет умолчание пятью сутками;- поведение откатов, если их подключат.
Критерии приёмки
- Число в откате и число, названное умолчанием библиотеки, совпадают. Оракул —
чтение константы против
core/collection_model_auth_options.goверсии PocketBase изgo.mod. - Комментарии шага и
provider.goговорят об умолчании одно и то же. Оракул — чтение обоих мест подряд. - Гейт зелёный целиком. Оракул —
task gate.
Рамки
Правка применённого шага схемы — необратимое: решение принимает человек. Новым шагом это не лечится: новый шаг накатывается вперёд, а исправить нужно ветку отката прежнего.