Merge remote-tracking branch 'origin/develop' into feat/add_revision_cleanup

This commit is contained in:
Stefan Müller 2024-09-10 11:09:46 +02:00
commit 491d4af19e
15 changed files with 241 additions and 204 deletions

View file

@ -1,3 +1,11 @@
# 2.2.4
### Notable enhancements and fixes
- Switched to new SQLite backend
- Fixed rusty-store-kv module not found
# 2.2.3
### Notable enhancements and fixes

View file

@ -1,7 +1,7 @@
{
"name": "admin",
"private": true,
"version": "2.2.3",
"version": "2.2.4",
"type": "module",
"scripts": {
"dev": "vite",
@ -21,17 +21,17 @@
"@typescript-eslint/eslint-plugin": "^8.4.0",
"@typescript-eslint/parser": "^8.4.0",
"@vitejs/plugin-react-swc": "^3.5.0",
"eslint": "^9.9.1",
"eslint": "^9.10.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.11",
"i18next": "^23.14.0",
"i18next": "^23.15.0",
"i18next-browser-languagedetector": "^8.0.0",
"lucide-react": "^0.439.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-hook-form": "^7.53.0",
"react-i18next": "^15.0.1",
"react-router-dom": "^6.26.1",
"react-router-dom": "^6.26.2",
"socket.io-client": "^4.7.5",
"typescript": "^5.5.4",
"vite": "^5.4.3",

View file

@ -1,6 +1,6 @@
{
"name": "bin",
"version": "2.2.3",
"version": "2.2.4",
"description": "",
"main": "checkAllPads.js",
"directories": {
@ -12,7 +12,7 @@
"log4js": "^6.9.1",
"semver": "^7.6.3",
"tsx": "^4.19.0",
"ueberdb2": "^4.2.103"
"ueberdb2": "^5.0.2"
},
"devDependencies": {
"@types/node": "^22.5.4",

View file

@ -32,6 +32,7 @@ export default defineConfig({
{ text: 'Stats', link: '/stats.md' },
{text: 'Skins', link: '/skins.md' },
{text: 'Demo', link: '/demo.md' },
{text: 'CLI', link: '/cli.md'},
]
},
{

View file

@ -50,6 +50,6 @@
"type": "git",
"url": "https://github.com/ether/etherpad-lite.git"
},
"version": "2.2.3",
"version": "2.2.4",
"license": "Apache-2.0"
}

346
pnpm-lock.yaml generated
View file

@ -42,25 +42,25 @@ importers:
version: 18.3.0
'@typescript-eslint/eslint-plugin':
specifier: ^8.4.0
version: 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)
version: 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/parser':
specifier: ^8.4.0
version: 8.4.0(eslint@9.9.1)(typescript@5.5.4)
version: 8.4.0(eslint@9.10.0)(typescript@5.5.4)
'@vitejs/plugin-react-swc':
specifier: ^3.5.0
version: 3.7.0(vite@5.4.3(@types/node@22.5.4))
eslint:
specifier: ^9.9.1
version: 9.9.1
specifier: ^9.10.0
version: 9.10.0
eslint-plugin-react-hooks:
specifier: ^4.6.0
version: 4.6.2(eslint@9.9.1)
version: 4.6.2(eslint@9.10.0)
eslint-plugin-react-refresh:
specifier: ^0.4.11
version: 0.4.11(eslint@9.9.1)
version: 0.4.11(eslint@9.10.0)
i18next:
specifier: ^23.14.0
version: 23.14.0
specifier: ^23.15.0
version: 23.15.0
i18next-browser-languagedetector:
specifier: ^8.0.0
version: 8.0.0
@ -78,10 +78,10 @@ importers:
version: 7.53.0(react@18.3.1)
react-i18next:
specifier: ^15.0.1
version: 15.0.1(i18next@23.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 15.0.1(i18next@23.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-router-dom:
specifier: ^6.26.1
version: 6.26.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: ^6.26.2
version: 6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
socket.io-client:
specifier: ^4.7.5
version: 4.7.5
@ -119,8 +119,8 @@ importers:
specifier: ^4.19.0
version: 4.19.0
ueberdb2:
specifier: ^4.2.103
version: 4.2.103
specifier: ^5.0.2
version: 5.0.2
devDependencies:
'@types/node':
specifier: ^22.5.4
@ -240,8 +240,8 @@ importers:
specifier: 1.22.8
version: 1.22.8
rusty-store-kv:
specifier: ^1.2.0
version: 1.2.0
specifier: ^1.3.1
version: 1.3.1
security:
specifier: 1.0.0
version: 1.0.0
@ -264,8 +264,8 @@ importers:
specifier: 4.19.0
version: 4.19.0
ueberdb2:
specifier: ^4.2.103
version: 4.2.103
specifier: ^5.0.2
version: 5.0.2
underscore:
specifier: 1.13.7
version: 1.13.7
@ -331,11 +331,11 @@ importers:
specifier: ^3.6.0
version: 3.6.0
eslint:
specifier: ^9.9.1
version: 9.9.1
specifier: ^9.10.0
version: 9.10.0
eslint-config-etherpad:
specifier: ^4.0.4
version: 4.0.4(eslint@9.9.1)(typescript@5.5.4)
version: 4.0.4(eslint@9.10.0)(typescript@5.5.4)
etherpad-cli-client:
specifier: ^3.0.2
version: 3.0.2
@ -875,14 +875,18 @@ packages:
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.9.1':
resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==}
'@eslint/js@9.10.0':
resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/plugin-kit@0.1.0':
resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@etherpad/express-session@1.18.4':
resolution: {integrity: sha512-uiUtcfv0hyEA+Lur00V6yINaa/qe09HiFqmc+DzSXYChILFLgOV3G4p4XJkIRrUOGmqaJRiliB1BoQIiY3Tnjw==}
engines: {node: '>= 0.8.0'}
@ -1173,8 +1177,8 @@ packages:
'@types/react-dom':
optional: true
'@remix-run/router@1.19.1':
resolution: {integrity: sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==}
'@remix-run/router@1.19.2':
resolution: {integrity: sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==}
engines: {node: '>=14.0.0'}
'@rollup/pluginutils@5.1.0':
@ -2578,8 +2582,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.9.1:
resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==}
eslint@9.10.0:
resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@ -2991,8 +2995,8 @@ packages:
i18next-browser-languagedetector@8.0.0:
resolution: {integrity: sha512-zhXdJXTTCoG39QsrOCiOabnWj2jecouOqbchu3EfhtSHxIB5Uugnm9JaizenOy39h7ne3+fLikIjeW88+rgszw==}
i18next@23.14.0:
resolution: {integrity: sha512-Y5GL4OdA8IU2geRrt2+Uc1iIhsjICdHZzT9tNwQ3TVqdNzgxHToGCKf/TPRP80vTCAP6svg2WbbJL+Gx5MFQVA==}
i18next@23.15.0:
resolution: {integrity: sha512-saeTb1tIQT+W/3xMivWSEVdpjyiEbj0IeK8eI/PB8jyr5gSQF5qxWLlGLEgRa5od3lvMfvW+ituhrf2VCNfTuw==}
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
@ -3854,15 +3858,15 @@ packages:
'@types/react':
optional: true
react-router-dom@6.26.1:
resolution: {integrity: sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==}
react-router-dom@6.26.2:
resolution: {integrity: sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
react-router@6.26.1:
resolution: {integrity: sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==}
react-router@6.26.2:
resolution: {integrity: sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
@ -3954,68 +3958,68 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
rusty-store-kv-darwin-arm64@1.2.0:
resolution: {integrity: sha512-3kj/Sgs1WH+6edE8l7Db5+gpROpelYFX8PNloX0y6KzvUQgO1ZDs0Wa8kYG8MEDWIJlmw+7UcwpMmskMleU3Vw==}
rusty-store-kv-darwin-arm64@1.3.1:
resolution: {integrity: sha512-xJ4kZh22AcNkbl5yIxUFPEZ5xtgOfAn9fH1rcLf0pUHJKTh3FsdrggBqNBlBlJRQ9RWw92MYBSC318mn8mH14Q==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
rusty-store-kv-darwin-x64@1.2.0:
resolution: {integrity: sha512-svSiGraZRukY6m330epEnJdu2D54JPzQfMjPRg8LT6f70MELGNxWRirnM/ACIBpWUfh1Ojm9jyK8OoY5IeI4UA==}
rusty-store-kv-darwin-x64@1.3.1:
resolution: {integrity: sha512-glm0uEKaetb6QBtfe5G7tsXA+tnkBCMDaxb3XCe9oCx3Pr7gR/we6OS9lPJHplaQPp10hGxOn7kjAqLVDlcT3w==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
rusty-store-kv-freebsd-x64@1.2.0:
resolution: {integrity: sha512-h2/r4PKrRY92z2Ku5I5ACc8yaKdCma0rqak1l5ue/LsR6Zl2oXmzYKXJnzwrqCSIWDRrs5RG2TXMKuPO4telfw==}
rusty-store-kv-freebsd-x64@1.3.1:
resolution: {integrity: sha512-LWUD+JFvrUlo34XfEsTf29EPsktxqqbGlUHAN/6q5DUjg/s5sBFB2W+C1xlwkD+BumyIkN60ZCRVIoXS2UgJjg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [freebsd]
rusty-store-kv-linux-arm-gnueabihf@1.2.0:
resolution: {integrity: sha512-ivrCOriUYOc/nedCszyPHFATtnLaSaMfNM8h6Cjv4S0gzScpd9rOKVg2hrPh+zApzV/O3dvf6haDtLL1WViKUg==}
rusty-store-kv-linux-arm-gnueabihf@1.3.1:
resolution: {integrity: sha512-Stpor+kqRZg9ykYLjAJn0YrXfgH96WmTcS1AKeHs6gBhVMJ2RZmn1CyF06g5wVQ7sQGrZWMm8Hp3PGjhM5Z2Ew==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
rusty-store-kv-linux-arm64-gnu@1.2.0:
resolution: {integrity: sha512-dZ3ZWsltagzP3U1J6WqWBRoIakqBP7i7y9MDBnKIFFYALVkvY2q2AhrN5cTBxZHaZTbrjyZyhE/rNbyqLZjXLg==}
rusty-store-kv-linux-arm64-gnu@1.3.1:
resolution: {integrity: sha512-ZorAn0AumVbL/6kqswhB/vnLEwlSBMvnhDF6LApHhFTRIygq63dyRrwtM8hgEqL/cjOMotGft6INn429V0RWcw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
rusty-store-kv-linux-arm64-musl@1.2.0:
resolution: {integrity: sha512-J0Zg+wYzy+03DTFZgMPiTaRTk8dfFJv7zQGpeGgeyma3k7SUmUYT2P1b+0NNjbVxr5xNdFJURyJVglUMP3SJRA==}
rusty-store-kv-linux-arm64-musl@1.3.1:
resolution: {integrity: sha512-QMNbq7G1Zr2Yk82XqGbs7z2X2gs9mO5lxnHXeHLSy++56EUBTW/zj4JSjdYdetnFBkGwlPSQLAs1s0MXefxc0g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
rusty-store-kv-linux-x64-gnu@1.2.0:
resolution: {integrity: sha512-8EK6nzC4o13v7zOtLucoQcSOPSsJe9Rw1cAWk7F5qYg/lfFAQNzOpp68rkCBnrHix8yswcafzcSktJHTKuO4yA==}
rusty-store-kv-linux-x64-gnu@1.3.1:
resolution: {integrity: sha512-aD6Oj3PlRzLLcIMytTdzkh/mIu0pJjsug2tA8Gfd5lH2SdB6NFVrF/cjrFWgx5LSLcmI+vVpstqjLOIuc3tZ7g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
rusty-store-kv-linux-x64-musl@1.2.0:
resolution: {integrity: sha512-8Z6xAYWBFKfspSJ1XrRs8P5qYE/aDl6LGhX/5IXg/9mr54quH+pH6YXx88SD0lTgRh+mAD3brCNfr15fOKZftA==}
rusty-store-kv-linux-x64-musl@1.3.1:
resolution: {integrity: sha512-oSkE6X96muX0cbhE754s7shfzEzUTDQi5d3xrNlA/VskWRjDwKmrqiLHLsxO9lamNcDi5wvK8O6byI9qBXigRg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
rusty-store-kv-win32-arm64-msvc@1.2.0:
resolution: {integrity: sha512-YmhUBOzJc6yj1Im/WXcD20iuaZ2GWANG/heTk09enzwgza8i68sSlA39TPTyLE0tOZFdbT76GEuIXPHB0peRRg==}
rusty-store-kv-win32-arm64-msvc@1.3.1:
resolution: {integrity: sha512-HIJ2uJt5LzI/Flx73gnZX/tUfOH2EKS1UKMEzzMF8kqor3iSeGyr0NkLxdl0sZ31dZzRkW63bKxTESmIYjTgiQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
rusty-store-kv-win32-x64-msvc@1.2.0:
resolution: {integrity: sha512-z0/Snn9bZwsT9YnnG18Ol+pkLQpBHkAISq99NhbVdYj5lAYED/n2qIJpP1ROLJlFMJQ4PvftjCmAHUHy0tnkxA==}
rusty-store-kv-win32-x64-msvc@1.3.1:
resolution: {integrity: sha512-CY1pmACrPg1mgfWPk7/dtB24TGc0RWv34+8Eg2lXbD6V7ePSMOVeVcIH7ra/JIjxbJJV2ljWvhkgUnEnp1FSKA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
rusty-store-kv@1.2.0:
resolution: {integrity: sha512-XlzClGSiIfOrpCUEh/eAAktFbsF4IPpDDeOEIP+cWmLkbVzWuqXVLIBouBH4ybKBlw+bQCyjOnZwBdyM9UVpUg==}
rusty-store-kv@1.3.1:
resolution: {integrity: sha512-Kk+55VwQ5qLWcSD6R0RrxFOEF70SH7BjYj60MCskJvRkuY7MFlAPEn3hY4WzRodWXj5cCOJ4AsDr+4OvtaW/SQ==}
engines: {node: '>= 10'}
safe-array-concat@1.1.2:
@ -4373,8 +4377,8 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
ueberdb2@4.2.103:
resolution: {integrity: sha512-jp+G38Za9vCKGRIGNEr28b7HOE0Et9J/txNSUrGnCGwpkkPLvqkX4tbx8sO3AVOynRuNMYfGy4cS0aoYt/2ePw==}
ueberdb2@5.0.2:
resolution: {integrity: sha512-dgrmxTxc/gkWuGK4UArTGwM6zBfG9hANBbhAxK+OUmZs3GatguyoBCp7LgNqenDMp3ElM/KyL6RBZ3OWpqTFKg==}
engines: {node: '>=16.20.1'}
uid-safe@2.1.5:
@ -5161,9 +5165,9 @@ snapshots:
'@esbuild/win32-x64@0.23.1':
optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)':
'@eslint-community/eslint-utils@4.4.0(eslint@9.10.0)':
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.0': {}
@ -5190,10 +5194,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@eslint/js@9.9.1': {}
'@eslint/js@9.10.0': {}
'@eslint/object-schema@2.1.4': {}
'@eslint/plugin-kit@0.1.0':
dependencies:
levn: 0.4.1
'@etherpad/express-session@1.18.4':
dependencies:
cookie: 0.4.2
@ -5464,7 +5472,7 @@ snapshots:
'@types/react': 18.3.5
'@types/react-dom': 18.3.0
'@remix-run/router@1.19.1': {}
'@remix-run/router@1.19.2': {}
'@rollup/pluginutils@5.1.0(rollup@4.21.0)':
dependencies:
@ -5892,15 +5900,15 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/parser': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/type-utils': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/type-utils': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 7.17.0
eslint: 9.9.1
eslint: 9.10.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@ -5910,15 +5918,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 8.4.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/parser': 8.4.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/scope-manager': 8.4.0
'@typescript-eslint/type-utils': 8.4.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/utils': 8.4.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/type-utils': 8.4.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/utils': 8.4.0(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.4.0
eslint: 9.9.1
eslint: 9.10.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
@ -5928,27 +5936,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 7.17.0
debug: 4.3.5(supports-color@8.1.1)
eslint: 9.9.1
eslint: 9.10.0
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.4.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/parser@8.4.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/scope-manager': 8.4.0
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.4.0
debug: 4.3.5(supports-color@8.1.1)
eslint: 9.9.1
eslint: 9.10.0
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
@ -5964,22 +5972,22 @@ snapshots:
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/visitor-keys': 8.4.0
'@typescript-eslint/type-utils@7.17.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/type-utils@7.17.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/utils': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
debug: 4.3.5(supports-color@8.1.1)
eslint: 9.9.1
eslint: 9.10.0
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
- supports-color
'@typescript-eslint/type-utils@8.4.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/type-utils@8.4.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
'@typescript-eslint/utils': 8.4.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/utils': 8.4.0(eslint@9.10.0)(typescript@5.5.4)
debug: 4.3.5(supports-color@8.1.1)
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@ -6022,24 +6030,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.17.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/utils@7.17.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0)
'@typescript-eslint/scope-manager': 7.17.0
'@typescript-eslint/types': 7.17.0
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
eslint: 9.9.1
eslint: 9.10.0
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@8.4.0(eslint@9.9.1)(typescript@5.5.4)':
'@typescript-eslint/utils@8.4.0(eslint@9.10.0)(typescript@5.5.4)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0)
'@typescript-eslint/scope-manager': 8.4.0
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
eslint: 9.9.1
eslint: 9.10.0
transitivePeerDependencies:
- supports-color
- typescript
@ -6906,24 +6914,24 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
eslint-compat-utils@0.5.1(eslint@9.9.1):
eslint-compat-utils@0.5.1(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
semver: 7.6.3
eslint-config-etherpad@4.0.4(eslint@9.9.1)(typescript@5.5.4):
eslint-config-etherpad@4.0.4(eslint@9.10.0)(typescript@5.5.4):
dependencies:
'@rushstack/eslint-patch': 1.10.3
'@typescript-eslint/eslint-plugin': 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/parser': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1)
eslint-plugin-cypress: 2.15.2(eslint@9.9.1)
eslint-plugin-eslint-comments: 3.2.0(eslint@9.9.1)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1)
eslint-plugin-mocha: 10.4.3(eslint@9.9.1)
eslint-plugin-n: 16.6.2(eslint@9.9.1)
eslint-plugin-prefer-arrow: 1.2.3(eslint@9.9.1)
eslint-plugin-promise: 6.6.0(eslint@9.9.1)
'@typescript-eslint/eslint-plugin': 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint@9.10.0)(typescript@5.5.4)
'@typescript-eslint/parser': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0)
eslint-plugin-cypress: 2.15.2(eslint@9.10.0)
eslint-plugin-eslint-comments: 3.2.0(eslint@9.10.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0)
eslint-plugin-mocha: 10.4.3(eslint@9.10.0)
eslint-plugin-n: 16.6.2(eslint@9.10.0)
eslint-plugin-prefer-arrow: 1.2.3(eslint@9.10.0)
eslint-plugin-promise: 6.6.0(eslint@9.10.0)
eslint-plugin-you-dont-need-lodash-underscore: 6.14.0
transitivePeerDependencies:
- eslint
@ -6940,13 +6948,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1):
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0):
dependencies:
debug: 4.3.5(supports-color@8.1.1)
enhanced-resolve: 5.17.0
eslint: 9.9.1
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1))(eslint@9.9.1)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1)
eslint: 9.10.0
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0))(eslint@9.10.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.6
is-core-module: 2.15.0
@ -6957,36 +6965,36 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1))(eslint@9.9.1):
eslint-module-utils@2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0))(eslint@9.10.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
eslint: 9.9.1
'@typescript-eslint/parser': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
eslint: 9.10.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1)
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0)
transitivePeerDependencies:
- supports-color
eslint-plugin-cypress@2.15.2(eslint@9.9.1):
eslint-plugin-cypress@2.15.2(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
globals: 13.24.0
eslint-plugin-es-x@7.8.0(eslint@9.9.1):
eslint-plugin-es-x@7.8.0(eslint@9.10.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0)
'@eslint-community/regexpp': 4.11.0
eslint: 9.9.1
eslint-compat-utils: 0.5.1(eslint@9.9.1)
eslint: 9.10.0
eslint-compat-utils: 0.5.1(eslint@9.10.0)
eslint-plugin-eslint-comments@3.2.0(eslint@9.9.1):
eslint-plugin-eslint-comments@3.2.0(eslint@9.10.0):
dependencies:
escape-string-regexp: 1.0.5
eslint: 9.9.1
eslint: 9.10.0
ignore: 5.3.1
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1):
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.10.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
@ -6994,9 +7002,9 @@ snapshots:
array.prototype.flatmap: 1.3.2
debug: 3.2.7
doctrine: 2.1.0
eslint: 9.9.1
eslint: 9.10.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.9.1)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.9.1))(eslint@9.9.1)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.17.0(eslint@9.10.0)(typescript@5.5.4))(eslint-plugin-import@2.29.1)(eslint@9.10.0))(eslint@9.10.0)
hasown: 2.0.2
is-core-module: 2.15.0
is-glob: 4.0.3
@ -7007,25 +7015,25 @@ snapshots:
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 7.17.0(eslint@9.9.1)(typescript@5.5.4)
'@typescript-eslint/parser': 7.17.0(eslint@9.10.0)(typescript@5.5.4)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-mocha@10.4.3(eslint@9.9.1):
eslint-plugin-mocha@10.4.3(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint-utils: 3.0.0(eslint@9.9.1)
eslint: 9.10.0
eslint-utils: 3.0.0(eslint@9.10.0)
globals: 13.24.0
rambda: 7.5.0
eslint-plugin-n@16.6.2(eslint@9.9.1):
eslint-plugin-n@16.6.2(eslint@9.10.0):
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0)
builtins: 5.1.0
eslint: 9.9.1
eslint-plugin-es-x: 7.8.0(eslint@9.9.1)
eslint: 9.10.0
eslint-plugin-es-x: 7.8.0(eslint@9.10.0)
get-tsconfig: 4.7.6
globals: 13.24.0
ignore: 5.3.1
@ -7035,21 +7043,21 @@ snapshots:
resolve: 1.22.8
semver: 7.6.3
eslint-plugin-prefer-arrow@1.2.3(eslint@9.9.1):
eslint-plugin-prefer-arrow@1.2.3(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-plugin-promise@6.6.0(eslint@9.9.1):
eslint-plugin-promise@6.6.0(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-plugin-react-hooks@4.6.2(eslint@9.9.1):
eslint-plugin-react-hooks@4.6.2(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-plugin-react-refresh@0.4.11(eslint@9.9.1):
eslint-plugin-react-refresh@0.4.11(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-plugin-you-dont-need-lodash-underscore@6.14.0:
dependencies:
@ -7060,9 +7068,9 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-utils@3.0.0(eslint@9.9.1):
eslint-utils@3.0.0(eslint@9.10.0):
dependencies:
eslint: 9.9.1
eslint: 9.10.0
eslint-visitor-keys: 2.1.0
eslint-visitor-keys@2.1.0: {}
@ -7071,13 +7079,14 @@ snapshots:
eslint-visitor-keys@4.0.0: {}
eslint@9.9.1:
eslint@9.10.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1)
'@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0)
'@eslint-community/regexpp': 4.11.0
'@eslint/config-array': 0.18.0
'@eslint/eslintrc': 3.1.0
'@eslint/js': 9.9.1
'@eslint/js': 9.10.0
'@eslint/plugin-kit': 0.1.0
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
@ -7100,7 +7109,6 @@ snapshots:
is-glob: 4.0.3
is-path-inside: 3.0.3
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
@ -7626,7 +7634,7 @@ snapshots:
dependencies:
'@babel/runtime': 7.24.7
i18next@23.14.0:
i18next@23.15.0:
dependencies:
'@babel/runtime': 7.24.8
@ -8489,11 +8497,11 @@ snapshots:
dependencies:
react: 18.3.1
react-i18next@15.0.1(i18next@23.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
react-i18next@15.0.1(i18next@23.15.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.24.8
html-parse-stringify: 3.0.1
i18next: 23.14.0
i18next: 23.15.0
react: 18.3.1
optionalDependencies:
react-dom: 18.3.1(react@18.3.1)
@ -8517,16 +8525,16 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.5
react-router-dom@6.26.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
react-router-dom@6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@remix-run/router': 1.19.1
'@remix-run/router': 1.19.2
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-router: 6.26.1(react@18.3.1)
react-router: 6.26.2(react@18.3.1)
react-router@6.26.1(react@18.3.1):
react-router@6.26.2(react@18.3.1):
dependencies:
'@remix-run/router': 1.19.1
'@remix-run/router': 1.19.2
react: 18.3.1
react-style-singleton@2.2.1(@types/react@18.3.5)(react@18.3.1):
@ -8638,48 +8646,48 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
rusty-store-kv-darwin-arm64@1.2.0:
rusty-store-kv-darwin-arm64@1.3.1:
optional: true
rusty-store-kv-darwin-x64@1.2.0:
rusty-store-kv-darwin-x64@1.3.1:
optional: true
rusty-store-kv-freebsd-x64@1.2.0:
rusty-store-kv-freebsd-x64@1.3.1:
optional: true
rusty-store-kv-linux-arm-gnueabihf@1.2.0:
rusty-store-kv-linux-arm-gnueabihf@1.3.1:
optional: true
rusty-store-kv-linux-arm64-gnu@1.2.0:
rusty-store-kv-linux-arm64-gnu@1.3.1:
optional: true
rusty-store-kv-linux-arm64-musl@1.2.0:
rusty-store-kv-linux-arm64-musl@1.3.1:
optional: true
rusty-store-kv-linux-x64-gnu@1.2.0:
rusty-store-kv-linux-x64-gnu@1.3.1:
optional: true
rusty-store-kv-linux-x64-musl@1.2.0:
rusty-store-kv-linux-x64-musl@1.3.1:
optional: true
rusty-store-kv-win32-arm64-msvc@1.2.0:
rusty-store-kv-win32-arm64-msvc@1.3.1:
optional: true
rusty-store-kv-win32-x64-msvc@1.2.0:
rusty-store-kv-win32-x64-msvc@1.3.1:
optional: true
rusty-store-kv@1.2.0:
rusty-store-kv@1.3.1:
optionalDependencies:
rusty-store-kv-darwin-arm64: 1.2.0
rusty-store-kv-darwin-x64: 1.2.0
rusty-store-kv-freebsd-x64: 1.2.0
rusty-store-kv-linux-arm-gnueabihf: 1.2.0
rusty-store-kv-linux-arm64-gnu: 1.2.0
rusty-store-kv-linux-arm64-musl: 1.2.0
rusty-store-kv-linux-x64-gnu: 1.2.0
rusty-store-kv-linux-x64-musl: 1.2.0
rusty-store-kv-win32-arm64-msvc: 1.2.0
rusty-store-kv-win32-x64-msvc: 1.2.0
rusty-store-kv-darwin-arm64: 1.3.1
rusty-store-kv-darwin-x64: 1.3.1
rusty-store-kv-freebsd-x64: 1.3.1
rusty-store-kv-linux-arm-gnueabihf: 1.3.1
rusty-store-kv-linux-arm64-gnu: 1.3.1
rusty-store-kv-linux-arm64-musl: 1.3.1
rusty-store-kv-linux-x64-gnu: 1.3.1
rusty-store-kv-linux-x64-musl: 1.3.1
rusty-store-kv-win32-arm64-msvc: 1.3.1
rusty-store-kv-win32-x64-msvc: 1.3.1
safe-array-concat@1.1.2:
dependencies:
@ -9119,7 +9127,7 @@ snapshots:
typescript@5.5.4: {}
ueberdb2@4.2.103: {}
ueberdb2@5.0.2: {}
uid-safe@2.1.5:
dependencies:

View file

@ -194,6 +194,15 @@
},
*/
/*
* Enables the use of a different server. We have a different one that syncs changes from the original server.
* It is hosted on GitHub and should not be blocked by many firewalls.
* https://etherpad.org/ep_infos
*/
"updateServer": "https://etherpad.org/ep_infos",
/*
* The type of the database.
*

View file

@ -271,6 +271,14 @@
"pageDown": true
},
/*
* Enables the use of a different server. We have a different one that syncs changes from the original server.
* It is hosted on GitHub and should not be blocked by many firewalls.
* https://etherpad.org/ep_infos
*/
"updateServer": "https://etherpad.org/ep_infos",
/*
* Should we suppress errors from being visible in the default Pad Text?
*/

View file

@ -107,6 +107,7 @@ exports.ttl = {
RefreshToken: 1 * 24 * 60 * 60, // 1 day in seconds
}
exports.updateServer = "https://static.etherpad.org"
/*
@ -941,11 +942,12 @@ exports.reloadSettings = () => {
logger.warn(`${dirtyWarning} File location: ${exports.dbSettings.filename}`);
}
if (exports.dbType === 'rustydb') {
if (exports.dbType === 'rustydb' || exports.dbType === "sqlite") {
exports.dbSettings.filename = absolutePaths.makeAbsolute(exports.dbSettings.filename);
logger.warn(`File location: ${exports.dbSettings.filename}`);
}
if (exports.ip === '') {
// using Unix socket for connectivity
logger.warn('The settings file contains an empty string ("") for the "ip" parameter. The ' +

View file

@ -20,7 +20,7 @@ const loadEtherpadInformations = () => {
return infos;
}
return axios.get('https://static.etherpad.org/info.json', {headers: headers})
return axios.get(`${settings.updateServer}/info.json`, {headers: headers})
.then(async (resp: any) => {
infos = await resp.data;
if (infos === undefined || infos === null) {

View file

@ -70,11 +70,11 @@
"superagent": "10.1.0",
"tinycon": "0.6.8",
"tsx": "4.19.0",
"ueberdb2": "^4.2.103",
"ueberdb2": "^5.0.2",
"underscore": "1.13.7",
"unorm": "1.6.0",
"wtfnode": "^0.9.3",
"rusty-store-kv": "^1.2.0"
"rusty-store-kv": "^1.3.1"
},
"bin": {
"etherpad-healthcheck": "../bin/etherpad-healthcheck",
@ -99,7 +99,7 @@
"@types/supertest": "^6.0.2",
"@types/underscore": "^1.11.15",
"chokidar": "^3.6.0",
"eslint": "^9.9.1",
"eslint": "^9.10.0",
"eslint-config-etherpad": "^4.0.4",
"etherpad-cli-client": "^3.0.2",
"mocha": "^10.7.3",
@ -138,6 +138,6 @@
"debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts",
"test:vitest": "vitest"
},
"version": "2.2.3",
"version": "2.2.4",
"license": "Apache-2.0"
}

View file

@ -167,7 +167,7 @@ function Ace2Inner(editorInfo, cssManagers) {
for (const name of names) console[name] = noop;
}
const scheduler = parent; // hack for opera required
const scheduler = window; // hack for opera required
const performDocumentReplaceRange = (start, end, newText) => {
if (start === undefined) start = rep.selStart;
@ -240,7 +240,7 @@ function Ace2Inner(editorInfo, cssManagers) {
bgcolor = fadeColor(bgcolor, info.fade);
}
const textColor =
colorutils.textColorFromBackgroundColor(bgcolor, parent.parent.clientVars.skinName);
colorutils.textColorFromBackgroundColor(bgcolor, window.clientVars.skinName);
const styles = [
cssManagers.inner.selectorStyle(authorSelector),
cssManagers.parent.selectorStyle(authorSelector),
@ -1270,7 +1270,7 @@ function Ace2Inner(editorInfo, cssManagers) {
const prevLine = rep.lines.prev(thisLine);
const prevLineText = prevLine.text;
let theIndent = /^ *(?:)/.exec(prevLineText)[0];
const shouldIndent = parent.parent.clientVars.indentationOnNewLine;
const shouldIndent = window.clientVars.indentationOnNewLine;
if (shouldIndent && /[[(:{]\s*$/.exec(prevLineText)) {
theIndent += THE_TAB;
}
@ -2023,7 +2023,7 @@ function Ace2Inner(editorInfo, cssManagers) {
const isPadLoading = (t) => t === 'setup' || t === 'setBaseText' || t === 'importText';
const updateStyleButtonState = (attribName, hasStyleOnRepSelection) => {
const $formattingButton = parent.parent.$(`[data-key="${attribName}"]`).find('a');
const $formattingButton = window.$(`[data-key="${attribName}"]`).find('a');
$formattingButton.toggleClass(SELECT_BUTTON_CLASS, hasStyleOnRepSelection);
};
@ -2277,7 +2277,7 @@ function Ace2Inner(editorInfo, cssManagers) {
};
const hideEditBarDropdowns = () => {
window.parent.parent.padeditbar.toggleDropDown('none');
window.padeditbar.toggleDropDown('none');
};
const renumberList = (lineNum) => {
@ -2582,7 +2582,7 @@ function Ace2Inner(editorInfo, cssManagers) {
specialHandled = specialHandledInHook.indexOf(true) !== -1;
}
const padShortcutEnabled = parent.parent.clientVars.padShortcutEnabled;
const padShortcutEnabled = window.clientVars.padShortcutEnabled;
if (!specialHandled && isTypeForSpecialKey &&
altKey && keyCode === 120 &&
padShortcutEnabled.altF9) {
@ -2591,7 +2591,7 @@ function Ace2Inner(editorInfo, cssManagers) {
// As ubuntu cannot use Alt F10....
// Focus on the editbar.
// -- TODO: Move Focus back to previous state (we know it so we can use it)
const firstEditbarElement = parent.parent.$('#editbar')
const firstEditbarElement = window.$('#editbar')
.children('ul').first().children().first()
.children().first().children().first();
$(this).trigger('blur');
@ -2603,8 +2603,8 @@ function Ace2Inner(editorInfo, cssManagers) {
padShortcutEnabled.altC) {
// Alt c focuses on the Chat window
$(this).trigger('blur');
parent.parent.chat.show();
parent.parent.$('#chatinput').trigger('focus');
window.chat.show();
window.$('#chatinput').trigger('focus');
evt.preventDefault();
}
if (!specialHandled && type === 'keydown' &&
@ -2626,12 +2626,12 @@ function Ace2Inner(editorInfo, cssManagers) {
if (authorId) authorIds.add(authorId);
}
}
const idToName = new Map(parent.parent.pad.userList().map((a) => [a.userId, a.name]));
const myId = parent.parent.clientVars.userId;
const idToName = new Map(window.pad.userList().map((a) => [a.userId, a.name]));
const myId = window.clientVars.userId;
const authors =
[...authorIds].map((id) => id === myId ? 'me' : idToName.get(id) || 'unknown');
parent.parent.$.gritter.add({
window.$.gritter.add({
title: 'Line Authors',
text:
authors.length === 0 ? 'No author information is available'
@ -2680,7 +2680,7 @@ function Ace2Inner(editorInfo, cssManagers) {
specialHandled = true;
// close all gritters when the user hits escape key
parent.parent.$.gritter.removeAll();
window.$.gritter.removeAll();
}
if (!specialHandled && isTypeForCmdKey &&
/* Do a saved revision on ctrl S */
@ -2688,13 +2688,13 @@ function Ace2Inner(editorInfo, cssManagers) {
!evt.altKey &&
padShortcutEnabled.cmdS) {
evt.preventDefault();
const originalBackground = parent.parent.$('#revisionlink').css('background');
parent.parent.$('#revisionlink').css({background: 'lightyellow'});
const originalBackground = window.$('#revisionlink').css('background');
window.$('#revisionlink').css({background: 'lightyellow'});
scheduler.setTimeout(() => {
parent.parent.$('#revisionlink').css({background: originalBackground});
window.$('#revisionlink').css({background: originalBackground});
}, 1000);
/* The parent.parent part of this is BAD and I feel bad.. It may break something */
parent.parent.pad.collabClient.sendMessage({type: 'SAVE_REVISION'});
window.pad.collabClient.sendMessage({type: 'SAVE_REVISION'});
specialHandled = true;
}
if (!specialHandled && isTypeForSpecialKey &&

View file

@ -140,7 +140,7 @@ const makeChangesetTracker = (scheduler, apool, aceCallbacksProvider) => {
toSubmit = compose(submittedChangeset, userChangeset, apool);
} else {
// Get my authorID
const authorId = parent.parent.pad.myUserInfo.userId;
const authorId = window.pad.myUserInfo.userId;
// Sanitize authorship: Replace all author attributes with this user's author ID in case the
// text was copied from another author.

View file

@ -171,7 +171,7 @@ export const getAvailablePlugins = (maxCacheAge: number|false) => {
return resolve(availablePlugins);
}
await axios.get('https://static.etherpad.org/plugins.json', {headers})
await axios.get(`${settings.updateServer}/plugins.json`, {headers})
.then((pluginsLoaded:AxiosResponse<MapArrayType<PackageInfo>>) => {
availablePlugins = pluginsLoaded.data;
cacheTimestamp = nowTimestamp;

View file

@ -15,7 +15,8 @@ class Scroll {
// DOM reference
this.outerWin = outerWin;
this.doc = this.outerWin.contentDocument!;
this.rootDocument = parent.parent.document;
this.rootDocument = document;
console.log(this.rootDocument)
}
scrollWhenCaretIsInTheLastLineOfViewportWhenNecessary(rep: RepModel, isScrollableEvent: boolean, innerHeight: number) {
@ -112,7 +113,7 @@ class Scroll {
};
_getEditorPositionTop() {
const editor = parent.document.getElementsByTagName('iframe');
const editor = document.getElementsByTagName('iframe');
const editorPositionTop = editor[0].offsetTop;
return editorPositionTop;
};