docs: BUILD-f7.md — сборочная среда (Node 22.17), воспроизводимость подтверждена (55/65 бандлов = офиц. релиз), разбор downstream-правок glb (брендинг dev-f7 + патч Listener.php)
This commit is contained in:
+1
-39
@@ -1,39 +1 @@
|
|||||||
# Exclude npm stuff
|
/node_modules/
|
||||||
/build
|
|
||||||
/node_modules
|
|
||||||
|
|
||||||
# PHP Code Sniffer
|
|
||||||
/vendor
|
|
||||||
/vendor-bin/*/vendor
|
|
||||||
/lib/Vendor
|
|
||||||
/.php-cs-fixer.cache
|
|
||||||
|
|
||||||
# Local docs
|
|
||||||
/site
|
|
||||||
|
|
||||||
# Karma/jasmine coverage data
|
|
||||||
/coverage
|
|
||||||
/tests/php/coverage-html
|
|
||||||
/tests/php/clover.xml
|
|
||||||
/tests/php/.phpunit.result.cache
|
|
||||||
/tests/integration/vendor
|
|
||||||
/tests/integration/output
|
|
||||||
/drone
|
|
||||||
/findings.sarif
|
|
||||||
|
|
||||||
# PHP Dev server output (integration tests)
|
|
||||||
/tests/integration/phpserver*.log
|
|
||||||
|
|
||||||
# Compiled frontend assets
|
|
||||||
/css
|
|
||||||
/js
|
|
||||||
|
|
||||||
# VScode settings
|
|
||||||
/.vscode
|
|
||||||
*.code-workspace
|
|
||||||
|
|
||||||
# JetBrains IDEs settings
|
|
||||||
/.idea
|
|
||||||
|
|
||||||
# JetBrains Fleet settings
|
|
||||||
/.fleet
|
|
||||||
|
|||||||
+37
@@ -0,0 +1,37 @@
|
|||||||
|
# Сборка форка 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 бандлов): namespace `http://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 — только маркер версии, обкатка конвейера.
|
||||||
Reference in New Issue
Block a user