diff --git a/upstream/PROVENANCE.md b/upstream/PROVENANCE.md index a1b67ba..57b07bb 100644 --- a/upstream/PROVENANCE.md +++ b/upstream/PROVENANCE.md @@ -2,10 +2,31 @@ `upstream/` — вендоренная копия (MIT). -- commit: `2564866f7844f334379dc4913dc466a5a4138306` -- date: 2026-09-19 01:16:39 +0800 -- причина вендоринга: самодостаточность репо (пересборка образа без внешних зависимостей); - лицензия MIT допускает копирование при сохранении уведомления (см. LICENSE). +- базовый commit: `2564866f7844f334379dc4913dc466a5a4138306` (main, 2026-09-19) +- причина вендоринга: самодостаточность репо (пересборка образа без внешних + зависимостей); лицензия MIT допускает копирование при сохранении уведомления + (см. `upstream/LICENSE`). -Изменения относительно upstream: отсутствуют (чистая копия). Наши артефакты — compose, -скрипты и документация — лежат на верхнем уровне репозитория. +## Наши изменения относительно upstream + +1. **`container/environment/resources/patches/managed-lifecycle.mjs`** — якоря + патча адаптированы к dsh 0.2.x (обратная совместимость с 0.1.x сохранена, + проверено на 0.2.0-rc.2 и 0.1.5-rc.2): + - динамический импорт Web Profile: в 0.2.x фасад `./profile-boot.js` без хэша + и с любым стилем кавычек; + - SIGTERM-handler и settled-return: регэксп по форме вместо точного отступа + (0.1.x — 2/1 таб, 0.2.x — 3/2 таба); + - dispatch в `bin.js`: список известных сигнатур `parseDshArgs` + (0.2.x добавила `version, manageDesktopProfile` из scope `runCli`). + Именно из-за этих якорей у автора стоит пин `latestSupportedDsh` — с + толерантными якорями образ собирается на новых версиях без поднятия пина + (dev-ветка сборки пин не проверяет). +2. **`container/control-plane/hooks/dsh-web-ready.mjs`** — дрейф контрактов + web-сервера 0.2.x: + - token-exchange редирект: допускается `location: './'` (0.2.x) помимо `/` + (0.1.x) — без этого runtime падал «DSH Web authentication exchange failed»; + - URL ресурсов плагинов в boot-манифесте 0.2.x корневые-относительные + (`plugins/…`) — нормализуются до `/plugins/…` перед проверкой и загрузкой. + +Остальное (compose, scripts/, docs/, README) лежит на верхнем уровне и в +upstream не вмешивается.