git: d5df9ffb4031 - main - www/onlyoffice-documentserver: Fix build with npm 12

From: Mikael Urankar <mikael_at_FreeBSD.org>
Date: Tue, 29 Sep 2026 12:29:25 UTC
The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d5df9ffb4031f3b520f660fc20fb140ff2663c00

commit d5df9ffb4031f3b520f660fc20fb140ff2663c00
Author:     Matt Kempe <fsbruva@yahoo.com>
AuthorDate: 2026-09-22 15:20:49 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2026-09-29 10:52:51 +0000

    www/onlyoffice-documentserver: Fix build with npm 12
    
    - Switch the npm dependency cache from npm-shrinkwrap.json to
      package-lock.json, since npm 12 ignores shrinkwraps
    - Bump bundled NodeJS to 24.21.0 and hunspell-hyphen to v2.8.9
    
    PR:     298496
---
 www/onlyoffice-documentserver/Makefile             | 59 +++++++++++++---------
 www/onlyoffice-documentserver/distinfo             | 14 ++---
 .../files/patch-document-server-package_Makefile   |  9 +---
 .../files/patch-server_DocService_package.json     | 31 ------------
 .../files/patch-server_DocService_patches_sharp    | 26 +++++++---
 .../files/patch-server_Metrics_package.json        | 10 ----
 .../files/patch-server_package.json                | 38 --------------
 .../files/patch-web-apps_build_package.json        | 33 ------------
 www/onlyoffice-documentserver/pkg-plist            |  8 +--
 9 files changed, 67 insertions(+), 161 deletions(-)

diff --git a/www/onlyoffice-documentserver/Makefile b/www/onlyoffice-documentserver/Makefile
index c42ecff3d9b6..fca239508f2e 100644
--- a/www/onlyoffice-documentserver/Makefile
+++ b/www/onlyoffice-documentserver/Makefile
@@ -1,14 +1,18 @@
 PORTNAME=	onlyoffice-documentserver
 DISTVERSIONPREFIX=	v
 DISTVERSION=	9.4.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	www
 MASTER_SITES+=	LOCAL/mikael/v8/:source1 \
 		https://nodejs.org/dist/v${_PKGFETCH_NODE_VERSION}/:source2 \
-		https://github.com/fsbruva/onlyoffice-DS-npm-cache/releases/download/${_NPM_CACHE_TAG}/:source3
+		https://github.com/fsbruva/onlyoffice-DS-npm-cache/releases/download/${_NPM_CACHE_TAG}/:source3 \
+		https://github.com/hunspell/hyphen/releases/download/v${_HYPHEN_VERSION}/:hyphen
 DISTFILES+=	v8-8.9.255.25_all.tar.gz:source1 \
 		node-v${_PKGFETCH_NODE_VERSION}.tar.gz:source2 \
-		onlyoffice-DS-npm-cache-${_NPM_CACHE_TAG}.tar.gz:source3
+		onlyoffice-DS-npm-cache-${_NPM_CACHE_TAG}.tar.gz:source3 \
+		hyphen-${_HYPHEN_VERSION}.tar.gz:hyphen
+
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX} ${_DISTFILES:M*_GH0.tar.gz}
 
 MAINTAINER=	fsbruva@yahoo.com
 COMMENT=	Secure office and productivity apps
@@ -23,12 +27,12 @@ ONLY_FOR_ARCHS_REASON=	Upstream only supports amd64 and arm64
 # node version used with "npm install" inside ${WRKSRC}/yao-pkg
 # kept in sync with patch-build__tools_scripts_build__server.py and patch-document-server-package_Makefile
 _DS_BUILD=		129
-_PKGFETCH_NODE_VERSION=	24.18.0
-_NPM_CACHE_TAG=		${_DS_TAGNAME}-202607080141
+_PKGFETCH_NODE_VERSION=	24.21.0
+_NPM_CACHE_TAG=		${_DS_TAGNAME}-202609220214
+_HYPHEN_VERSION=	2.8.9
 # end of cache build config
 
 _NODE_DISTFILE=		node-v${_PKGFETCH_NODE_VERSION}.tar.gz
-WRKSRC_npm_cache=	${WRKDIR}/onlyoffice-DS-npm-cache-${_NPM_CACHE_TAG}
 
 BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
 		boost-libs>0:devel/boost-libs \
@@ -87,8 +91,7 @@ GH_TUPLE=	ONLYOFFICE:build_tools:${_DS_TAGNAME}:buildtools/build_tools \
 		ONLYOFFICE:web-apps:${_DS_TAGNAME}:webapps/web-apps \
 		ONLYOFFICE:DocumentBuilder:${DISTVERSIONPREFIX}${DISTVERSION}:document_builder/DocumentBuilder \
 		ONLYOFFICE:onlyoffice.github.io:b26d001664d771df4f663d2d3ba7dd4a188b6cab:sdkjs_plugins_v1/onlyoffice.github.io \
-		jasenhuang:katana-parser:be6df45:jasenhuang_katana/core/Common/3dParty/html/katana-parser \
-		hunspell:hyphen:73dd296:hunspell_hyphen/core/Common/3dParty/hyphen/hyphen
+		jasenhuang:katana-parser:be6df45:jasenhuang_katana/core/Common/3dParty/html/katana-parser
 
 JAVA_VERSION=	11+
 
@@ -160,9 +163,23 @@ _SHARP_NODE_FILE=	sharp-freebsd-${_SHARP_NODE_ARCH}.node
 _SHARP_INSTALL_DIR=	${WWWDIR}/documentserver/server/DocService/sharp
 
 post-extract:
-	@${MV} ${WRKDIR}/v8 ${WRKSRC}/core/Common/3dParty/v8_89
-
-	@${LN} -s ${WRKSRC_npm_cache} ${WRKDIR}/.npm
+# Direct extraction for V8 (no intermediate move required)
+	@${TAR} -xf ${DISTDIR}/v8-8.9.255.25_all.tar.gz \
+		-C ${WRKSRC}/core/Common/3dParty/v8_89
+
+# Direct extraction for hyphen
+	@${MKDIR} ${WRKSRC}/core/Common/3dParty/hyphen/hyphen
+	@${TAR} -xf ${DISTDIR}/hyphen-2.8.9.tar.gz \
+		-C ${WRKSRC}/core/Common/3dParty/hyphen/hyphen \
+		--strip-components 1
+
+# Direct extraction for NPM Cache (no symlink required)
+	@${MKDIR} ${WRKDIR}/.npm
+	@${TAR} -xf ${DISTDIR}/onlyoffice-DS-npm-cache-${_NPM_CACHE_TAG}.tar.gz \
+		-C ${WRKDIR}/.npm \
+		--strip-components 1
+
+# Prepare pkg-fetch / Node cache (Node tarball was never uncompressed)
 	@${MKDIR} ${WRKDIR}/.pkg-build
 	@${MKDIR} ${WRKDIR}/.pkg-cache/node
 	@${CP} ${FILESDIR}/extra-patch-pkg-fetch_lib-es5_build.js ${WRKDIR}/
@@ -236,19 +253,15 @@ pre-configure:
 		${WRKSRC}/build_tools/tools/freebsd/automate.py
 	@${RM} ${WRKSRC}/web-apps/build/patches/optipng-bin+5.1.0.patch.orig
 
-# Copy new package.json for sdkjs root
-	@${CP} ${WRKSRC_npm_cache}/sdkjs-package.json ${WRKSRC}/sdkjs/package.json
-	@${ECHO_MSG} "  Installed: sdkjs/package.json"
-
 # Copy optimized shrinkwrap files from cache repo, overwriting upstream
-	@${ECHO_MSG} "Installing optimized npm-shrinkwrap.json files..."
-	@(cd ${WRKSRC_npm_cache}/shrinkwrap && \
-		${FIND} . -name npm-shrinkwrap.json | while read shrinkwrap; do \
-			rel_path=$${shrinkwrap#./}; \
+	@${ECHO_MSG} "Installing package-lock.json / package.json files..."
+	@(cd ${WRKDIR}/.npm/package-locks && \
+		${FIND} . -type f \( -name package-lock.json -o -name package.json \) | while read f; do \
+			rel_path=$${f#./}; \
 			target="${WRKSRC}/$${rel_path}"; \
 			target_dir=$$(dirname "$$target"); \
 			${MKDIR} "$$target_dir"; \
-			${CP} "$$shrinkwrap" "$$target"; \
+			${CP} "$$f" "$$target"; \
 			${ECHO_MSG} "  Installed: $${rel_path}"; \
 		done)
 
@@ -276,12 +289,12 @@ do-build:
 	@cd ${WRKSRC}/server/Metrics ; node_modules/.bin/patch-package
 
 	@${MKDIR} ${WRKSRC}/yao-pkg
-	@${CP} ${WRKSRC_npm_cache}/yao-pkg-package.json      ${WRKSRC}/yao-pkg/package.json
-	@${CP} ${WRKSRC_npm_cache}/yao-pkg-npm-shrinkwrap-${MACHINE_ARCH}.json ${WRKSRC}/yao-pkg/npm-shrinkwrap.json
+	@${CP} ${WRKDIR}/.npm/yao-pkg-package-${MACHINE_ARCH}.json	${WRKSRC}/yao-pkg/package.json
+	@${CP} ${WRKDIR}/.npm/yao-pkg-npm-package-lock-${MACHINE_ARCH}.json ${WRKSRC}/yao-pkg/package-lock.json
 	@cd ${WRKSRC}/yao-pkg ; ${SETENV} ${MAKE_ENV} npm install
 
 	@cd ${WRKSRC} && ${PATCH} -N -s -i ${WRKDIR}/extra-patch-pkg-fetch_lib-es5_build.js
-	@cd ${WRKSRC} && ${PATCH} -N -s -i ${WRKSRC_npm_cache}/extra-patch-pkg-fetch_patches_node.v${_PKGFETCH_NODE_VERSION}.cpp.patch
+	@cd ${WRKSRC} && ${PATCH} -N -s -i ${WRKDIR}/.npm/extra-patch-pkg-fetch_patches_node.v${_PKGFETCH_NODE_VERSION}.patch
 
 	cd ${WRKSRC}/build_tools/tools/freebsd ; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} automate.py
 	cd ${WRKSRC}/document-server-package ; ${SETENV} ${MAKE_ENV} ${GMAKE} freebsd
diff --git a/www/onlyoffice-documentserver/distinfo b/www/onlyoffice-documentserver/distinfo
index 92447aca9450..e7b8929718aa 100644
--- a/www/onlyoffice-documentserver/distinfo
+++ b/www/onlyoffice-documentserver/distinfo
@@ -1,10 +1,12 @@
-TIMESTAMP = 1783868045
+TIMESTAMP = 1790366864
 SHA256 (v8-8.9.255.25_all.tar.gz) = 54853ef93accc063a82a0dc29457b25c9b6d88315431d62e06ab1f84797c5f80
 SIZE (v8-8.9.255.25_all.tar.gz) = 72818814
-SHA256 (node-v24.18.0.tar.gz) = c8348067b41d8739ec69fd4da615cd8995ad6a76eb53e84a7fa7291c8a477eb7
-SIZE (node-v24.18.0.tar.gz) = 114348532
-SHA256 (onlyoffice-DS-npm-cache-v9.4.0.129-202607080141.tar.gz) = 88e54a323fa7fb415bdc40a3cc051889526440bc79d163afedab18aec632de74
-SIZE (onlyoffice-DS-npm-cache-v9.4.0.129-202607080141.tar.gz) = 109697632
+SHA256 (node-v24.21.0.tar.gz) = 622424efb5dc0c26c93fbb619ff10737ee289c605b837c88778e186925d82777
+SIZE (node-v24.21.0.tar.gz) = 116929256
+SHA256 (onlyoffice-DS-npm-cache-v9.4.0.129-202609220214.tar.gz) = d2652a63449af87dbc96a812578150ca5ad2fa1fabb9ed55b2d45529052ddd0e
+SIZE (onlyoffice-DS-npm-cache-v9.4.0.129-202609220214.tar.gz) = 114139446
+SHA256 (hyphen-2.8.9.tar.gz) = 783743daf477de8c4d16e3c74b4d2827377017718d8e17e2d9440210246f6abe
+SIZE (hyphen-2.8.9.tar.gz) = 692993
 SHA256 (ONLYOFFICE-DocumentServer-v9.4.0_GH0.tar.gz) = 678401ead43a1c1325bc6a662bab95494c85c21546f38584cd76597bdeb743f9
 SIZE (ONLYOFFICE-DocumentServer-v9.4.0_GH0.tar.gz) = 985804
 SHA256 (ONLYOFFICE-build_tools-v9.4.0.129_GH0.tar.gz) = 8f65a62e000e7cc913dd0ee4db5d8dcf6256c16040633dd82f36c104dab52d46
@@ -35,5 +37,3 @@ SHA256 (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab
 SIZE (ONLYOFFICE-onlyoffice.github.io-b26d001664d771df4f663d2d3ba7dd4a188b6cab_GH0.tar.gz) = 17009005
 SHA256 (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 363ede45ba6d125fdb7323c43d34acd3d0ae9028ac18aec632eb6a623160f09a
 SIZE (jasenhuang-katana-parser-be6df45_GH0.tar.gz) = 97712
-SHA256 (hunspell-hyphen-73dd296_GH0.tar.gz) = 93e80ad69ee7afd507b12f0b58ca34a6a78347dcbb5fe5d9b6f0e19b02397ef7
-SIZE (hunspell-hyphen-73dd296_GH0.tar.gz) = 292528
diff --git a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
index e5baac922903..1ead5e7e9b56 100644
--- a/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
+++ b/www/onlyoffice-documentserver/files/patch-document-server-package_Makefile
@@ -131,14 +131,7 @@
  
  ifeq ($(PLATFORM),win)		
  	cd $(DOCUMENTSERVER)/npm && \
-@@ -445,13 +468,13 @@
- endif		
- 	rm -r \
- 		$(DOCUMENTSERVER)/npm/node_modules \
--		$(DOCUMENTSERVER)/npm/package-lock.json
-+		$(DOCUMENTSERVER)/npm/npm-shrinkwrap.json
- 
- 	echo "Done" > $@
+@@ -451,7 +474,7 @@
  
  documentserver-example:
  	mkdir -p $(DOCUMENTSERVER_EXAMPLE)
diff --git a/www/onlyoffice-documentserver/files/patch-server_DocService_package.json b/www/onlyoffice-documentserver/files/patch-server_DocService_package.json
deleted file mode 100644
index 4168cd82b107..000000000000
--- a/www/onlyoffice-documentserver/files/patch-server_DocService_package.json
+++ /dev/null
@@ -1,31 +0,0 @@
---- server/DocService/package.json.orig	2026-05-17 11:10:44 UTC
-+++ server/DocService/package.json
-@@ -28,11 +28,12 @@
-     "mime-db": "1.53.0",
-     "ms": "2.1.3",
-     "mssql": "11.0.1",
--    "multer": "1.4.4",
-+    "multer": "2.1.1",
-     "multi-integer-range": "5.2.0",
-     "multiparty": "4.2.3",
-     "mysql2": "3.13.0",
-     "oracledb": "6.9.0",
-+    "patch-package": "^8.0.0",
-     "pg": "8.14.0",
-     "redis": "4.7.0",
-     "retry": "0.13.1",
-@@ -54,9 +55,11 @@
-       "../Common/node_modules/axios/dist/node/axios.cjs"
-     ],
-     "assets": [
--      "node_modules/oracledb/build/Release/oracledb-*.node",
--      "node_modules/sharp/build/Release/*",
--      "node_modules/sharp/vendor/**/*"
-+      "node_modules/oracledb/build/Release/oracledb-*.node"
-+    ],
-+    "ignore": [
-+      "node_modules/sharp/build/**",
-+      "node_modules/sharp/vendor/**"
-     ]
-   }
- }
diff --git a/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp b/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp
index 47102bfe0fa2..91704c81d8c1 100644
--- a/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp
+++ b/www/onlyoffice-documentserver/files/patch-server_DocService_patches_sharp
@@ -1,18 +1,30 @@
 --- server/DocService/patches/sharp+0.32.6.patch.orig	2026-03-12 00:43:48 UTC
 +++ server/DocService/patches/sharp+0.32.6.patch
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,41 @@
++diff --git a/node_modules/sharp/binding.gyp b/node_modules/sharp/binding.gyp
++index 436ead9..b9023f1 100644
++--- a/node_modules/sharp/binding.gyp
+++++ b/node_modules/sharp/binding.gyp
++@@ -105,7 +105,7 @@
++     'conditions': [
++       ['use_global_libvips == "true"', {
++         # Use pkg-config for include and lib
++-        'include_dirs': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --cflags-only-I vips-cpp vips glib-2.0 | sed s\/-I//g)'],
+++        'include_dirs': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --cflags-only-I vips-cpp vips glib-2.0 | sed s#-I##g)'],
++         'conditions': [
++           ['runtime_link == "static"', {
++             'libraries': ['<!@(PKG_CONFIG_PATH="<(pkg_config_path)" pkg-config --libs --static vips-cpp)']
 +diff --git a/node_modules/sharp/lib/sharp.js b/node_modules/sharp/lib/sharp.js
-+index a41e83d..80226dc 100644
++index a41e83d..12f89e4 100644
 +--- a/node_modules/sharp/lib/sharp.js
 ++++ b/node_modules/sharp/lib/sharp.js
-+@@ -2,12 +2,22 @@
-+ // SPDX-License-Identifier: Apache-2.0
-+ 
++@@ -3,11 +3,22 @@
++
 + 'use strict';
-+-
++
 ++const path = require('path');
 + const platformAndArch = require('./platform')();
-+ 
++
 + /* istanbul ignore next */
 + try {
 +-  module.exports = require(`../build/Release/sharp-${platformAndArch}.node`);
diff --git a/www/onlyoffice-documentserver/files/patch-server_Metrics_package.json b/www/onlyoffice-documentserver/files/patch-server_Metrics_package.json
deleted file mode 100644
index ef7e91561bea..000000000000
--- a/www/onlyoffice-documentserver/files/patch-server_Metrics_package.json
+++ /dev/null
@@ -1,10 +0,0 @@
---- server/Metrics/package.json.orig	2026-02-24 18:13:24 UTC
-+++ server/Metrics/package.json
-@@ -5,6 +5,7 @@
-   "private": true,
-   "bin": "node_modules/statsd/bin/statsd",
-   "dependencies": {
-+    "patch-package": "^8.0.0",
-     "statsd": "0.9.0"
-   },
-   "pkg": {
diff --git a/www/onlyoffice-documentserver/files/patch-server_package.json b/www/onlyoffice-documentserver/files/patch-server_package.json
deleted file mode 100644
index 9630da4d03e4..000000000000
--- a/www/onlyoffice-documentserver/files/patch-server_package.json
+++ /dev/null
@@ -1,38 +0,0 @@
---- server/package.json.orig	2026-05-17 11:10:44 UTC
-+++ server/package.json
-@@ -4,9 +4,11 @@
-   "homepage": "https://www.onlyoffice.com",
-   "private": true,
-   "dependencies": {
-+    "grunt": "^1.6.2",
-+    "grunt-cli": "^1.5.0",
-     "license-downloader": "1.0.8",
-     "license-report": "6.5.0",
--    "npm-run-all": "4.1.5"
-+    "concurrently": "^10.0.0"
-   },
-   "devDependencies": {
-     "@eslint/compat": "1.2.3",
-@@ -37,10 +39,10 @@
-     "integration rabbitmq tests": "cd ./DocService && jest integration/rabbitmq --inject-globals=false --config=../tests/jest.config.js --passWithNoTests",
-     "tests": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js",
-     "tests:dev": "cd ./DocService && jest --inject-globals=false --config=../tests/jest.config.js --watch",
--    "install:Common": "npm ci --prefix ./Common",
--    "install:DocService": "npm ci --prefix ./DocService",
--    "install:FileConverter": "npm ci --prefix ./FileConverter",
--    "install:Metrics": "npm ci --prefix ./Metrics",
-+    "install:Common": "npm install --prefix ./Common",
-+    "install:DocService": "npm install --prefix ./DocService",
-+    "install:FileConverter": "npm install --prefix ./FileConverter",
-+    "install:Metrics": "npm install --prefix ./Metrics",
-     "3d-party-lic-json:Common": "license-report --output=json --package=./Common/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json",
-     "3d-party-lic-json:DocService": "license-report --output=json --package=./DocService/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json",
-     "3d-party-lic-json:FileConverter": "license-report --output=json --package=./FileConverter/package.json --config ./3d-party-lic-report/license-report-config.json > ./3d-party-lic-report/license-report.json",
-@@ -53,6 +55,6 @@
-     "3d-party-lic-report:FileConverter": "run-s 3d-party-lic-json:FileConverter 3d-party-lic-downloader 3d-party-lic-md",
-     "3d-party-lic-report:Metrics": "run-s 3d-party-lic-json:Metrics 3d-party-lic-downloader 3d-party-lic-md",
-     "3d-party-lic-report": "run-s 3d-party-lic-md-header 3d-party-lic-report:*",
--    "build": "run-p install:*"
-+    "build": "concurrently \"npm run install:Common\" \"npm run install:DocService\" \"npm run install:FileConverter\" \"npm run install:Metrics\""
-   }
- }
diff --git a/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json b/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json
deleted file mode 100644
index bff659570cd1..000000000000
--- a/www/onlyoffice-documentserver/files/patch-web-apps_build_package.json
+++ /dev/null
@@ -1,33 +0,0 @@
---- web-apps/build/package.json.orig	2026-05-16 21:26:24 UTC
-+++ web-apps/build/package.json
-@@ -6,7 +6,7 @@
-   "dependencies": {
-     "@babel/core": "^7.25.2",
-     "@babel/preset-env": "^7.25.3",
--    "grunt": "^1.6.1",
-+    "grunt": "^1.6.2",
-     "grunt-babel": "^8.0.0",
-     "grunt-contrib-clean": "^2.0.1",
-     "grunt-contrib-concat": "^2.0.0",
-@@ -29,6 +29,8 @@
-     "iconv-lite": "^0.6.3",
-     "less-plugin-clean-css": "1.5.1",
-     "lodash": "^4.17.21",
-+    "optipng-bin": "^5.1.0",
-+    "patch-package": "^8.0.0",
-     "terser": "^5.20.0",
-     "vinyl-fs": "^4.0.0"
-   },
-@@ -44,8 +46,9 @@
-     }
-   },
-   "devDependencies": {
--    "chai": "^5.1.0",
--    "grunt-mocha": "^1.2.0",
--    "mocha": "^10.2.0"
-+    "chai": "^6.2.0"
-+  },
-+  "scripts": {
-+    "postinstall": "patch-package"
-   }
- }
diff --git a/www/onlyoffice-documentserver/pkg-plist b/www/onlyoffice-documentserver/pkg-plist
index f4ead492600d..7c7374f0c43b 100644
--- a/www/onlyoffice-documentserver/pkg-plist
+++ b/www/onlyoffice-documentserver/pkg-plist
@@ -5542,7 +5542,7 @@ lib/libooxmlsignature.so
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/symboltable/ru.json
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/symboltable/zh-TW.json
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/main/resources/watermark/wm-text.json
-%%WWWDIR%%/documentserver/web-apps/apps/documenteditor/mobile/css/526.dfa9fb21284eb383a313.css
+%%WWWDIR%%/documentserver/web-apps/apps/documenteditor/mobile/css/526.6819d76e66345bd94815.css
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/mobile/css/app.9c160f9d9d045320aaa4.css
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/mobile/css/framework7-rtl.css
 %%WWWDIR%%/documentserver/web-apps/apps/documenteditor/mobile/css/framework7.css
@@ -8495,7 +8495,7 @@ lib/libooxmlsignature.so
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/main/resources/img/v2/iconssmall@2x.png
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/main/resources/symboltable/ru.json
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/main/resources/symboltable/zh-TW.json
-%%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/mobile/css/923.37d51add171f0180b4e7.css
+%%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/mobile/css/923.03703c0aaaf383d983b3.css
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/mobile/css/app.9c160f9d9d045320aaa4.css
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/mobile/css/framework7-rtl.css
 %%WWWDIR%%/documentserver/web-apps/apps/presentationeditor/mobile/css/framework7.css
@@ -21251,7 +21251,7 @@ lib/libooxmlsignature.so
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/img/v2/iconssmall@2x.png
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/symboltable/ru.json
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/main/resources/symboltable/zh-TW.json
-%%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/611.3c6090d7986e77474e44.css
+%%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/611.f7bd7125a45f99df274b.css
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/app.9c160f9d9d045320aaa4.css
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/framework7-rtl.css
 %%WWWDIR%%/documentserver/web-apps/apps/spreadsheeteditor/mobile/css/framework7.css
@@ -21787,7 +21787,7 @@ lib/libooxmlsignature.so
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/img/v2/iconssmall@1.75x.png
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/img/v2/iconssmall@2.5x.svg
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/main/resources/img/v2/iconssmall@2x.png
-%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/css/935.3968c982c06132675d03.css
+%%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/css/935.b6d9806a551c3b23d80a.css
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/css/app.9c160f9d9d045320aaa4.css
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/css/framework7-rtl.css
 %%WWWDIR%%/documentserver/web-apps/apps/visioeditor/mobile/css/framework7.css