3.5 KiB
Сборка форка f7_talk (Nextcloud Talk / spreed)
Форк ветки nextcloud/spreed. Базовый апстрим — v22.0.12 (тег v22.0.12-upstream),
совместим с NC 32.0.5 (glb, forbion). Обновления с официальной ветки НЕ берём (решение владельца
2026-07-06) — источник версии Talk теперь этот репозиторий.
Сборочная среда (проверено на nd3, 2026-07-06)
- Node 22.17.0 + npm 10.9.2 (package.json engines: node ^22, npm ^10.5). На nd3 ставится
в userspace:
/home/foradmin/f7-build/node-v22.17.0-linux-x64(не системный). - Зависимости фронтенда:
npm ciпоpackage-lock.json(воспроизводимо). - Сборка:
NODE_OPTIONS=--max-old-space-size=8192 npm run build(rspack, production) → каталогjs/. На 16 vCPU / 20 ГБ занимает ~20 с; 4 warning'а (olm.wasm __dirname/__filename) — безвредны.
Воспроизводимость (подтверждена)
Наша сборка из исходников v22.0.12 сверена с ОФИЦИАЛЬНЫМ релизным артефактом
nextcloud-releases/spreed v22.0.12:
- 55 из 65
.js-бандлов — байт-в-байт идентичны. - Расхождения: 10 файлов =
.map(source maps, не грузятся клиентом) +talk-collections.js, где отличается ТОЛЬКО порядок двух minifier-переменных (p/d) — недетерминизм минификатора, функционально эквивалентно. Вывод: собранный нами Talk = официальному 22.0.12.
Что на боевом glb отличается от стока (правки downstream, НЕ наши в форке)
Установленный на glb spreed = сток 22.0.12 + преобразования f7-брендинга (владелец — dev-f7, их generalize/theme-конвейер), а НЕ ручной патч ядра:
l10n/*(110 файлов): строки Nextcloud→F7cloud, ссылки docs;img/*(27): фавиконки/иконки бренда;css/talk-main.css: одна @media-правка;js/*(7 бандлов): namespacehttp://nextcloud.com/ns→https://f7cloud.ru/ns+ бренд-строки;- единственный функциональный патч PHP:
lib/Notification/Listener.php— форс языкаruдля push-уведомлений больших звонков (упрощение: fallbackLang='ru', userLanguages=[]).
Вывод для форка: брендинг остаётся ПОСТ-сборочным шагом dev-f7 (их зона), либо переносится в форк отдельным коммитом по согласованию. Патч Listener.php логично инкорпорировать в форк как наш.
Релизы форка
Версии 22.0.12-f7.N. Пайплайн: изменение → npm ci && npm run build → смок-чеклист на стенде →
деплой glb → золотой шаблон (dev-f7). app id spreed, схема БД, OCS API v4/bot v1/HMAC — НЕ трогаем
(транскрипция R5, HPB, мобильные клиенты). Первый релиз f7.1 — только маркер версии, обкатка конвейера.