Compare commits

...

24 commits

Author SHA1 Message Date
SamTV12345
6208a04556 fix: use data postgresql mapping
Some checks are pending
Backend tests / Linux without plugins (push) Waiting to run
Backend tests / Linux with Plugins (push) Waiting to run
Backend tests / Windows without plugins (push) Waiting to run
Backend tests / Windows with Plugins (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Docker / docker (push) Waiting to run
Frontend admin tests powered by Sauce Labs / with plugins (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Chrome (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Firefox (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Webkit (push) Waiting to run
Loadtest / without plugins (push) Waiting to run
Loadtest / with Plugins (push) Waiting to run
Loadtest / long running (push) Waiting to run
Perform type checks / perform type check (push) Waiting to run
rate limit / test (push) Waiting to run
Upgrade from latest release / Linux with Plugins (push) Waiting to run
Windows Build / Build .zip (push) Waiting to run
2025-04-19 20:18:27 +02:00
dependabot[bot]
af2d7cc552 Bump the dev-dependencies group with 4 updates
Bumps the dev-dependencies group with 4 updates: [@playwright/test](https://github.com/microsoft/playwright), [i18next-browser-languagedetector](https://github.com/i18next/i18next-browser-languageDetector), [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `@playwright/test` from 1.51.1 to 1.52.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.51.1...v1.52.0)

Updates `i18next-browser-languagedetector` from 8.0.4 to 8.0.5
- [Changelog](https://github.com/i18next/i18next-browser-languageDetector/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-browser-languageDetector/compare/v8.0.4...v8.0.5)

Updates `lucide-react` from 0.488.0 to 0.501.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.501.0/packages/lucide-react)

Updates `vite` from 6.3.1 to 6.3.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: i18next-browser-languagedetector
  dependency-version: 8.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.501.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 6.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-19 20:14:07 +02:00
dependabot[bot]
050869aecd Bump the dev-dependencies group across 1 directory with 13 updates
Some checks failed
Backend tests / Linux without plugins (push) Has been cancelled
Backend tests / Linux with Plugins (push) Has been cancelled
Backend tests / Windows without plugins (push) Has been cancelled
Backend tests / Windows with Plugins (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Docker / docker (push) Has been cancelled
Frontend admin tests powered by Sauce Labs / with plugins (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Chrome (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Firefox (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Webkit (push) Has been cancelled
Loadtest / without plugins (push) Has been cancelled
Loadtest / with Plugins (push) Has been cancelled
Loadtest / long running (push) Has been cancelled
Perform type checks / perform type check (push) Has been cancelled
rate limit / test (push) Has been cancelled
Upgrade from latest release / Linux with Plugins (push) Has been cancelled
Windows Build / Build .zip (push) Has been cancelled
Bumps the dev-dependencies group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.14.0` | `22.14.1` |
| [@radix-ui/react-dialog](https://github.com/radix-ui/primitives) | `1.1.6` | `1.1.7` |
| [@radix-ui/react-toast](https://github.com/radix-ui/primitives) | `1.2.6` | `1.2.7` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.1.0` | `19.1.2` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.1.1` | `19.1.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.29.0` | `8.30.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.29.0` | `8.30.1` |
| [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react-swc) | `3.8.1` | `3.9.0` |
| [i18next](https://github.com/i18next/i18next) | `24.2.3` | `25.0.0` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.487.0` | `0.488.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.5.0` | `7.5.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `6.2.6` | `6.3.1` |
| [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy) | `2.3.0` | `2.3.1` |



Updates `@types/node` from 22.14.0 to 22.14.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@radix-ui/react-dialog` from 1.1.6 to 1.1.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@radix-ui/react-toast` from 1.2.6 to 1.2.7
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

Updates `@types/react` from 19.1.0 to 19.1.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.1.1 to 19.1.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@typescript-eslint/eslint-plugin` from 8.29.0 to 8.30.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.30.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.29.0 to 8.30.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.30.1/packages/parser)

Updates `@vitejs/plugin-react-swc` from 3.8.1 to 3.9.0
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react-swc@3.9.0/packages/plugin-react-swc)

Updates `i18next` from 24.2.3 to 25.0.0
- [Release notes](https://github.com/i18next/i18next/releases)
- [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next/compare/v24.2.3...v25.0.0)

Updates `lucide-react` from 0.487.0 to 0.488.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.488.0/packages/lucide-react)

Updates `react-router-dom` from 7.5.0 to 7.5.1
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.5.1/packages/react-router-dom)

Updates `vite` from 6.2.6 to 6.3.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@6.3.1/packages/vite)

Updates `vite-plugin-static-copy` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/sapphi-red/vite-plugin-static-copy/releases)
- [Changelog](https://github.com/sapphi-red/vite-plugin-static-copy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sapphi-red/vite-plugin-static-copy/compare/vite-plugin-static-copy@2.3.0...vite-plugin-static-copy@2.3.1)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.14.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@radix-ui/react-dialog"
  dependency-version: 1.1.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@radix-ui/react-toast"
  dependency-version: 1.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.30.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.30.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@vitejs/plugin-react-swc"
  dependency-version: 3.9.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.488.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vite
  dependency-version: 6.3.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vite-plugin-static-copy
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 19:55:49 +02:00
translatewiki.net
697c98a89f
Localisation updates from https://translatewiki.net. 2025-04-17 14:03:48 +02:00
dependabot[bot]
db16196e46 Bump @radix-ui/react-switch from 1.1.3 to 1.1.4
Some checks failed
Backend tests / Linux without plugins (push) Has been cancelled
Backend tests / Linux with Plugins (push) Has been cancelled
Backend tests / Windows without plugins (push) Has been cancelled
Backend tests / Windows with Plugins (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Docker / docker (push) Has been cancelled
Frontend admin tests powered by Sauce Labs / with plugins (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Chrome (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Firefox (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Webkit (push) Has been cancelled
Loadtest / without plugins (push) Has been cancelled
Loadtest / with Plugins (push) Has been cancelled
Loadtest / long running (push) Has been cancelled
Perform type checks / perform type check (push) Has been cancelled
rate limit / test (push) Has been cancelled
Upgrade from latest release / Linux with Plugins (push) Has been cancelled
Windows Build / Build .zip (push) Has been cancelled
Bumps [@radix-ui/react-switch](https://github.com/radix-ui/primitives) from 1.1.3 to 1.1.4.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)

---
updated-dependencies:
- dependency-name: "@radix-ui/react-switch"
  dependency-version: 1.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-11 21:24:09 +02:00
dependabot[bot]
e86f3ce643 Bump vite from 6.2.5 to 6.2.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.5 to 6.2.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.2.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-11 21:23:57 +02:00
SamTV12345
509d4a3397 fix: remove node 18 and add node23
Some checks failed
Backend tests / Linux without plugins (push) Has been cancelled
Backend tests / Linux with Plugins (push) Has been cancelled
Backend tests / Windows without plugins (push) Has been cancelled
Backend tests / Windows with Plugins (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Docker / docker (push) Has been cancelled
Frontend admin tests powered by Sauce Labs / with plugins (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Chrome (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Firefox (push) Has been cancelled
Frontend tests powered by Sauce Labs / Playwright Webkit (push) Has been cancelled
Loadtest / without plugins (push) Has been cancelled
Loadtest / with Plugins (push) Has been cancelled
Loadtest / long running (push) Has been cancelled
Perform type checks / perform type check (push) Has been cancelled
rate limit / test (push) Has been cancelled
Upgrade from latest release / Linux with Plugins (push) Has been cancelled
Windows Build / Build .zip (push) Has been cancelled
2025-04-08 19:17:12 +02:00
SamTV12345
5e8e42d022 fix: rerun pnpm-lock 2025-04-08 18:57:29 +02:00
SamTV12345
7fde6ee9bd fix: simplified code in wrapped promise 2025-04-08 18:54:35 +02:00
SamTV12345
d62d5a0460 Added authentication to axios.defaults.proxy 2025-04-08 18:54:35 +02:00
SamTV12345
77792a5f7f Change if condition
Some checks are pending
Backend tests / Linux without plugins (push) Waiting to run
Backend tests / Linux with Plugins (push) Waiting to run
Backend tests / Windows without plugins (push) Waiting to run
Backend tests / Windows with Plugins (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Docker / docker (push) Waiting to run
Frontend admin tests powered by Sauce Labs / with plugins (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Chrome (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Firefox (push) Waiting to run
Frontend tests powered by Sauce Labs / Playwright Webkit (push) Waiting to run
Loadtest / without plugins (push) Waiting to run
Loadtest / with Plugins (push) Waiting to run
Loadtest / long running (push) Waiting to run
Perform type checks / perform type check (push) Waiting to run
rate limit / test (push) Waiting to run
Upgrade from latest release / Linux with Plugins (push) Waiting to run
Windows Build / Build .zip (push) Waiting to run
2025-04-07 21:47:45 +02:00
n-goncalves
aa25a2f840 fix(frontend): add timesliderBootstrap to static resources 2025-04-07 21:47:13 +02:00
SamTV12345
65949b60f2 Fixed docker run 2025-04-07 21:19:50 +02:00
SamTV12345
c130715b32 Fixed docker run 2025-04-07 21:19:50 +02:00
SamTV12345
f8239863d8 Added digest to outputs 2025-04-07 21:19:50 +02:00
SamTV12345
6a750f191e Fixed replacing digest 2025-04-07 21:19:50 +02:00
SamTV12345
227cb59751 Add generated token 2025-04-07 21:19:50 +02:00
SamTV12345
2b1c275665 Fixed github ref 2025-04-07 21:19:50 +02:00
SamTV12345
ff73af8aad Update docker.yml 2025-04-07 21:19:50 +02:00
SamTV12345
ae15d4ea30 Also run on feature branch 2025-04-07 21:19:50 +02:00
SamTV12345
524dd6bc6d Adapted docker.yml 2025-04-07 21:19:50 +02:00
dependabot[bot]
9b31d17d04 Bump rate-limiter-flexible from 6.2.1 to 7.0.0
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 6.2.1 to 7.0.0.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/compare/v6.2.1...v7.0.0)

---
updated-dependencies:
- dependency-name: rate-limiter-flexible
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 21:00:43 +02:00
muxator
b6bdbe1a2a settings: use correct syntax for default values containing "\n" in settings.json.template
79406051fa added support for including an escaped "\n" in the default value of
an interpolated setting, but the example in `settings.json.template` and
`settings.json.docker` contained a slight syntax error. This fixes it.

No functional changes.
2025-04-07 20:59:08 +02:00
SamTV12345
49d2860b1e bump version 2025-04-07 20:59:08 +02:00
18 changed files with 647 additions and 542 deletions

View file

@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [18, 20, 22]
node: [20, 22, 23]
steps:
-
name: Checkout repository
@ -84,7 +84,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [18, 20, 22]
node: [20, 22, 23]
steps:
-
name: Checkout repository

View file

@ -22,6 +22,9 @@ jobs:
-
name: Check out
uses: actions/checkout@v4
with:
path: etherpad
-
name: Set up QEMU
if: github.event_name == 'push'
@ -33,7 +36,7 @@ jobs:
name: Build and export to Docker
uses: docker/build-push-action@v6
with:
context: .
context: ./etherpad
target: production
load: true
tags: ${{ env.TEST_TAG }}
@ -62,6 +65,7 @@ jobs:
${{ runner.os }}-pnpm-store-
-
name: Test
working-directory: etherpad
run: |
docker run --rm -d -p 9001:9001 --name test ${{ env.TEST_TAG }}
./bin/installDeps.sh
@ -98,10 +102,11 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: build-docker
if: github.event_name == 'push'
uses: docker/build-push-action@v6
with:
context: .
context: ./etherpad
target: production
platforms: linux/amd64,linux/arm64
push: true
@ -111,7 +116,28 @@ jobs:
uses: peter-evans/dockerhub-description@v4
if: github.ref == 'refs/heads/master'
with:
readme-filepath: ./etherpad/README.md
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: etherpad/etherpad
enable-url-completion: true
- name: Check out
uses: actions/checkout@v4
with:
path: ether-charts
repository: ether/ether-charts
token: ${{ secrets.ETHER_CHART_TOKEN }}
- name: Update tag in values-dev.yaml
if: success() && github.ref == 'refs/heads/develop'
working-directory: ether-charts
run: |
sed -i 's/tag: ".*"/tag: "${{ steps.build-docker.outputs.digest }}"/' values-dev.yaml
- name: Commit and push changes
working-directory: ether-charts
if: success() && github.ref == 'refs/heads/develop'
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add values-dev.yaml
git commit -m 'Update develop image tag'
git push

View file

@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [20, 22]
node: [20, 22, 23]
steps:
-

View file

@ -24,7 +24,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [18, 20, 22]
node: [20, 22, 23]
steps:
-
name: Check out latest release

View file

@ -90,7 +90,7 @@ services:
# ports:
# - "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data/pgdata
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:

View file

@ -1,7 +1,7 @@
{
"name": "admin",
"private": true,
"version": "2.2.7",
"version": "2.3.0",
"type": "module",
"scripts": {
"dev": "vite",
@ -11,31 +11,31 @@
"preview": "vite preview"
},
"dependencies": {
"@radix-ui/react-switch": "^1.1.3"
"@radix-ui/react-switch": "^1.1.4"
},
"devDependencies": {
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-toast": "^1.2.6",
"@types/react": "^19.0.12",
"@types/react-dom": "^19.0.4",
"@typescript-eslint/eslint-plugin": "^8.28.0",
"@typescript-eslint/parser": "^8.28.0",
"@vitejs/plugin-react-swc": "^3.8.1",
"@radix-ui/react-dialog": "^1.1.7",
"@radix-ui/react-toast": "^1.2.7",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@typescript-eslint/eslint-plugin": "^8.30.1",
"@typescript-eslint/parser": "^8.30.1",
"@vitejs/plugin-react-swc": "^3.9.0",
"eslint": "^9.23.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.19",
"i18next": "^24.2.3",
"i18next-browser-languagedetector": "^8.0.4",
"lucide-react": "^0.487.0",
"i18next": "^25.0.0",
"i18next-browser-languagedetector": "^8.0.5",
"lucide-react": "^0.501.0",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-hook-form": "^7.55.0",
"react-i18next": "^15.4.1",
"react-router-dom": "^7.4.1",
"react-router-dom": "^7.5.1",
"socket.io-client": "^4.8.1",
"typescript": "^5.8.2",
"vite": "^6.2.5",
"vite-plugin-static-copy": "^2.3.0",
"vite": "^6.3.2",
"vite-plugin-static-copy": "^2.3.1",
"vite-plugin-svgr": "^4.3.0",
"zustand": "^5.0.3"
}

View file

@ -1,6 +1,6 @@
{
"name": "bin",
"version": "2.2.7",
"version": "2.3.0",
"description": "",
"main": "checkAllPads.js",
"directories": {
@ -15,7 +15,7 @@
"ueberdb2": "^5.0.6"
},
"devDependencies": {
"@types/node": "^22.13.14",
"@types/node": "^22.14.1",
"@types/semver": "^7.7.0",
"typescript": "^5.8.2"
},

View file

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

990
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -96,7 +96,7 @@
* 3) if you want to use newlines in the default value of a string parameter,
* use "\n" as usual.
*
* "defaultPadText" : "${DEFAULT_PAD_TEXT}Line 1\nLine 2"
* "defaultPadText" : "${DEFAULT_PAD_TEXT:Line 1\nLine 2}"
*/
{
/*

View file

@ -87,7 +87,7 @@
* 3) if you want to use newlines in the default value of a string parameter,
* use "\n" as usual.
*
* "defaultPadText" : "${DEFAULT_PAD_TEXT}Line 1\nLine 2"
* "defaultPadText" : "${DEFAULT_PAD_TEXT:Line 1\nLine 2}"
*/
{
/*

61
src/locales/ln.json Normal file
View file

@ -0,0 +1,61 @@
{
"@metadata": {
"authors": [
"BOKOBA VEROLY"
]
},
"admin.page-title": "Admin Dashboard - Etherpad",
"admin_plugins": "Mokambi ya plug-in",
"admin_plugins.available": "Ba plugins oyo ezali",
"admin_plugins.available_not-found": "Ba plugins ezwamaki te.",
"admin_plugins.available_fetching": "Kozwa...",
"admin_plugins.available_install.value": "Kotya",
"admin_plugins.available_search.placeholder": "Bolukiluki ya ba plugins mpo na kotya",
"admin_plugins.description": "Ndimbola",
"admin_plugins.installed": "Ba plugins oyo etyamaki",
"admin_plugins.installed_fetching": "Kozwa ba plugins oyo etyamaki...",
"admin_plugins.installed_nothing": "Otikaki naino ba plugins te.",
"admin_plugins.installed_uninstall.value": "Kofungola esika",
"admin_plugins.last-update": "Makambo ya sika ya suka",
"admin_plugins.name": "Nkombo na yango",
"admin_plugins.page-title": "Gestionnaire de greffons — Etherpad",
"admin_plugins.version": "Libongoli",
"admin_plugins_info": "Informations de résolution de problème",
"admin_plugins_info.hooks": "Crochets installés",
"admin_plugins_info.hooks_client": "Crochets côté client",
"admin_plugins_info.hooks_server": "Crochets côté serveur",
"admin_plugins_info.parts": "Biteni oyo batye",
"admin_plugins_info.plugins": "Ba plugins oyo etyamaki",
"admin_plugins_info.page-title": "Makambo etali ordinatɛrɛ - Etherpad",
"admin_plugins_info.version": "Libongoli ya Etherpad",
"admin_plugins_info.version_latest": "Libongoli ya sika",
"admin_plugins_info.version_number": "Numero ya version",
"admin_settings": "Ndenge ya kobongisa yango",
"admin_settings.current": "Configuration ya lelo",
"admin_settings.current_example-devel": "Ndakisa modèle ya paramètres ya développement",
"admin_settings.current_example-prod": "Ndakisa modèle ya paramètres ya production",
"admin_settings.current_restart.value": "Bobandi lisusu Etherpad",
"admin_settings.current_save.value": "Bomba ba Paramètres",
"admin_settings.page-title": "Paramètres - Etherpad ya kosala",
"index.newPad": "Pad ya sika",
"index.createOpenPad": "to kosala/kofungola Pad na nkombo:",
"index.openPad": "kofungola Pad oyo ezali na nkombo:",
"pad.toolbar.bold.title": "Makomi ya moindo makasi (Ctrl+B)",
"pad.toolbar.underline.title": "Mokanda ya nse (Ctrl+U)",
"pad.toolbar.strikethrough.title": "Strikethrough (Ctrl+5)",
"pad.toolbar.ol.title": "Liste oyo esɛngami (Ctrl+Shift+N)",
"pad.toolbar.ul.title": "Liste oyo etyami na molongo te (Ctrl+Shift+L)",
"pad.toolbar.indent.title": "Indent (TAB)",
"pad.toolbar.unindent.title": "Mikuwa ya libándá (Shift+TAB)",
"pad.toolbar.undo.title": "Undo (Ctrl+Z)",
"pad.toolbar.redo.title": "Redo (Ctrl+Y)",
"pad.toolbar.clearAuthorship.title": "Langi ya polele ya mokomi (Ctrl+Shift+C)",
"pad.toolbar.import_export.title": "Kokotisa/kobimisa na/na ba formats ya ba fichiers ndenge na ndenge",
"pad.toolbar.timeslider.title": "Mokambi ya ntango",
"pad.toolbar.savedRevision.title": "Kobomba lisusu",
"pad.toolbar.settings.title": "Ndenge ya kobongisa yango",
"pad.toolbar.embed.title": "Kopesa mpe kobakisa yango",
"pad.toolbar.showusers.title": "Tyá bato oyo basalelaka yango",
"pad.colorpicker.save": "Kobikisa",
"pad.colorpicker.cancel": "Kolongola"
}

View file

@ -5,9 +5,10 @@ import {ErrorCaused} from "../../types/ErrorCaused";
import {QueryType} from "../../types/QueryType";
import {getAvailablePlugins, install, search, uninstall} from "../../../static/js/pluginfw/installer";
import {PackageData} from "../../types/PackageInfo";
import {PackageData, PackageInfo} from "../../types/PackageInfo";
import semver from 'semver';
import log4js from 'log4js';
import {MapArrayType} from "../../types/MapType";
const pluginDefs = require('../../../static/js/pluginfw/plugin_defs');
const logger = log4js.getLogger('adminPlugins');
@ -21,7 +22,13 @@ exports.socketio = (hookName:string, args:ArgsExpressType, cb:Function) => {
if (!isAdmin) return;
const checkPluginForUpdates = async () => {
const results = await getAvailablePlugins(/* maxCacheAge:*/ 60 * 10);
let results: MapArrayType<PackageInfo>
try {
results = await getAvailablePlugins(/* maxCacheAge:*/ 60 * 10);
} catch (error) {
console.error('Error checking for plugin updates:', error);
return [];
}
return Object.keys(pluginDefs.plugins).filter((plugin) => {
if (!results[plugin]) return false;

View file

@ -51,6 +51,7 @@ exports.authnFailureDelayMs = 1000;
const staticResources = [
/^\/padbootstrap-[a-zA-Z0-9]+\.min\.js$/,
/^\/timeSliderBootstrap-[a-zA-Z0-9]+\.min\.js$/,
/^\/manifest.json$/
]

View file

@ -42,6 +42,10 @@ if (settings.dumpOnUncleanExit) {
const addProxyToAxios = (url: URL) => {
axios.defaults.proxy = {
host: url.hostname,
auth: {
username: url.username,
password: url.password,
},
port: Number(url.port),
protocol: url.protocol,
}

View file

@ -49,6 +49,7 @@
"jsdom": "^26.0.0",
"jsonminify": "0.4.2",
"jsonwebtoken": "^9.0.2",
"jwt-decode": "^4.0.0",
"languages4translatewiki": "0.1.3",
"live-plugin-manager": "^1.0.0",
"lodash.clonedeep": "4.5.0",
@ -59,7 +60,7 @@
"oidc-provider": "^8.8.1",
"openapi-backend": "^5.11.1",
"proxy-addr": "^2.0.7",
"rate-limiter-flexible": "^6.2.1",
"rate-limiter-flexible": "^7.0.0",
"rehype": "^13.0.2",
"rehype-minify-whitespace": "^6.0.2",
"resolve": "1.22.10",
@ -70,7 +71,6 @@
"socket.io-client": "^4.8.1",
"superagent": "10.2.0",
"swagger-ui-express": "^5.0.1",
"jwt-decode": "^4.0.0",
"tinycon": "0.6.8",
"tsx": "4.19.3",
"ueberdb2": "^5.0.6",
@ -83,7 +83,7 @@
"etherpad-lite": "node/server.ts"
},
"devDependencies": {
"@playwright/test": "^1.51.1",
"@playwright/test": "^1.52.0",
"@types/async": "^3.2.24",
"@types/express": "^4.17.21",
"@types/formidable": "^3.4.5",
@ -94,7 +94,7 @@
"@types/jsonwebtoken": "^9.0.9",
"@types/mime-types": "^2.1.4",
"@types/mocha": "^10.0.9",
"@types/node": "^22.13.14",
"@types/node": "^22.14.1",
"@types/oidc-provider": "^8.8.1",
"@types/semver": "^7.7.0",
"@types/sinon": "^17.0.3",
@ -142,6 +142,6 @@
"debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts",
"test:vitest": "vitest"
},
"version": "2.2.7",
"version": "2.3.0",
"license": "Apache-2.0"
}

View file

@ -162,23 +162,18 @@ export const install = async (pluginName: string, cb:Function|null = null) => {
export let availablePlugins:MapArrayType<PackageInfo>|null = null;
let cacheTimestamp = 0;
export const getAvailablePlugins = (maxCacheAge: number|false) => {
export const getAvailablePlugins = async (maxCacheAge: number | false) => {
const nowTimestamp = Math.round(Date.now() / 1000);
return new Promise<MapArrayType<PackageInfo>>(async (resolve, reject) => {
// check cache age before making any request
if (availablePlugins && maxCacheAge && (nowTimestamp - cacheTimestamp) <= maxCacheAge) {
return resolve(availablePlugins);
}
// check cache age before making any request
if (availablePlugins && maxCacheAge && (nowTimestamp - cacheTimestamp) <= maxCacheAge) {
return availablePlugins;
}
await axios.get(`${settings.updateServer}/plugins.json`, {headers})
.then((pluginsLoaded:AxiosResponse<MapArrayType<PackageInfo>>) => {
availablePlugins = pluginsLoaded.data;
cacheTimestamp = nowTimestamp;
resolve(availablePlugins);
})
.catch(async (err) => reject(err));
});
const pluginsLoaded: AxiosResponse<MapArrayType<PackageInfo>> = await axios.get(`${settings.updateServer}/plugins.json`, {headers})
availablePlugins = pluginsLoaded.data;
cacheTimestamp = nowTimestamp;
return availablePlugins;
};
@ -211,4 +206,7 @@ export const search = (searchTerm: string, maxCacheAge: number) => getAvailableP
return res;
}
);
).catch((err)=>{
logger.error(`Error searching plugins: ${err}`);
return {} as MapArrayType<PackageInfo>;
});

View file

@ -12,6 +12,6 @@
"devDependencies": {
"ep_etherpad-lite": "workspace:../src",
"typescript": "^5.8.2",
"vite": "^6.2.5"
"vite": "^6.3.2"
}
}