Compare commits

...

101 commits

Author SHA1 Message Date
dependabot[bot]
e774113659
build(deps-dev): bump the dev-dependencies group across 1 directory with 4 updates (#7294)
Bumps the dev-dependencies group with 4 updates in the / directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy).


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

Updates `@typescript-eslint/eslint-plugin` from 8.53.0 to 8.53.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.53.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.53.0 to 8.53.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.53.1/packages/parser)

Updates `vite-plugin-static-copy` from 3.1.4 to 3.1.5
- [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@3.1.4...vite-plugin-static-copy@3.1.5)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.53.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.53.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vite-plugin-static-copy
  dependency-version: 3.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-19 19:27:25 +01:00
translatewiki.net
50d966ac06
Localisation updates from https://translatewiki.net. 2026-01-19 13:03:53 +01:00
translatewiki.net
d5b83dd160
Localisation updates from https://translatewiki.net. 2026-01-15 13:04:13 +01:00
dependabot[bot]
7917c22b16
build(deps-dev): bump the dev-dependencies group with 3 updates (#7290)
Bumps the dev-dependencies group with 3 updates: [react-hook-form](https://github.com/react-hook-form/react-hook-form), [react-i18next](https://github.com/i18next/react-i18next) and [vite-plugin-babel](https://github.com/owlsdepartment/vite-plugin-babel).


Updates `react-hook-form` from 7.71.0 to 7.71.1
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.71.0...v7.71.1)

Updates `react-i18next` from 16.5.2 to 16.5.3
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.5.2...v16.5.3)

Updates `vite-plugin-babel` from 1.3.2 to 1.4.1
- [Commits](https://github.com/owlsdepartment/vite-plugin-babel/commits)

---
updated-dependencies:
- dependency-name: react-hook-form
  dependency-version: 7.71.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.5.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vite-plugin-babel
  dependency-version: 1.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-14 19:57:41 +01:00
dependabot[bot]
fb9d759c45
build(deps-dev): bump @types/node in the dev-dependencies group (#7289)
Bumps the dev-dependencies group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


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

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-13 20:47:39 +01:00
dependabot[bot]
a407c7a21c
build(deps-dev): bump the dev-dependencies group with 9 updates (#7288)
Bumps the dev-dependencies group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.3` | `25.0.6` |
| [set-cookie-parser](https://github.com/nfriedly/set-cookie-parser) | `2.7.2` | `3.0.1` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.16` | `4.0.17` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.7` | `19.2.8` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.52.0` | `8.53.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.52.0` | `8.53.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.70.0` | `7.71.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.5.1` | `16.5.2` |
| [zustand](https://github.com/pmndrs/zustand) | `5.0.9` | `5.0.10` |


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

Updates `set-cookie-parser` from 2.7.2 to 3.0.1
- [Changelog](https://github.com/nfriedly/set-cookie-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nfriedly/set-cookie-parser/compare/v2.7.2...v3.0.1)

Updates `vitest` from 4.0.16 to 4.0.17
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.17/packages/vitest)

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

Updates `@typescript-eslint/eslint-plugin` from 8.52.0 to 8.53.0
- [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.53.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.52.0 to 8.53.0
- [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.53.0/packages/parser)

Updates `react-hook-form` from 7.70.0 to 7.71.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.70.0...v7.71.0)

Updates `react-i18next` from 16.5.1 to 16.5.2
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.5.1...v16.5.2)

Updates `zustand` from 5.0.9 to 5.0.10
- [Release notes](https://github.com/pmndrs/zustand/releases)
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.9...v5.0.10)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: set-cookie-parser
  dependency-version: 3.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.71.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.5.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: zustand
  dependency-version: 5.0.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 22:29:55 +01:00
SamTV12345
8cda32aa49 chore: fixed duplicate files 2026-01-10 20:31:09 +01:00
Aditya
9ff003c4c3
security: run Etherpad container as non-root user (fixes #7134) (#7287)
Change the Docker Compose user from "0:0" (root) to "5001:0" (etherpad user)
to follow security best practices and the principle of least privilege.

The Dockerfile already creates a non-root user 'etherpad' with UID 5001
and GID 0, so this change aligns the docker-compose.yml configuration
with the Dockerfile's security model.

Benefits:
- Reduces attack surface by not running as root
- Follows Docker security best practices
- Aligns with the Dockerfile's existing non-root user setup
- Compatible with OpenShift and other platforms that restrict root containers
- Maintains group permissions (GID 0) for volume access

Fixes #7134
2026-01-10 20:28:58 +01:00
dependabot[bot]
adca869be7
build(deps-dev): bump the dev-dependencies group across 1 directory with 7 updates (#7286)
Bumps the dev-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [supertest](https://github.com/ladjs/supertest) | `7.1.4` | `7.2.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.50.1` | `8.52.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.50.1` | `8.52.0` |
| [i18next](https://github.com/i18next/i18next) | `25.7.3` | `25.7.4` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.69.0` | `7.70.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.5.0` | `16.5.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.11.0` | `7.12.0` |



Updates `supertest` from 7.1.4 to 7.2.2
- [Release notes](https://github.com/ladjs/supertest/releases)
- [Commits](https://github.com/ladjs/supertest/compare/v7.1.4...v7.2.2)

Updates `@typescript-eslint/eslint-plugin` from 8.50.1 to 8.52.0
- [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.52.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.50.1 to 8.52.0
- [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.52.0/packages/parser)

Updates `i18next` from 25.7.3 to 25.7.4
- [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/v25.7.3...v25.7.4)

Updates `react-hook-form` from 7.69.0 to 7.70.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.69.0...v7.70.0)

Updates `react-i18next` from 16.5.0 to 16.5.1
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.5.0...v16.5.1)

Updates `react-router-dom` from 7.11.0 to 7.12.0
- [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.12.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: supertest
  dependency-version: 7.2.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.7.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.70.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-10 20:18:45 +01:00
dependabot[bot]
617de201c8
build(deps): bump superagent from 10.2.3 to 10.3.0 (#7284)
Bumps [superagent](https://github.com/ladjs/superagent) from 10.2.3 to 10.3.0.
- [Release notes](https://github.com/ladjs/superagent/releases)
- [Changelog](https://github.com/forwardemail/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/ladjs/superagent/compare/v10.2.3...v10.3.0)

---
updated-dependencies:
- dependency-name: superagent
  dependency-version: 10.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-10 20:16:42 +01:00
translatewiki.net
071e5b55e3
Localisation updates from https://translatewiki.net. 2026-01-08 13:04:14 +01:00
Etherpad Release Bot
0bfba432ca Merge branch 'master' into develop 2025-12-28 17:23:46 +00:00
Etherpad Release Bot
e1161e5eec Merge branch 'develop' 2025-12-28 17:23:46 +00:00
Etherpad Release Bot
d37ea75bcd bump version 2025-12-28 17:23:45 +00:00
SamTV12345
a00f75b306 chore: added final note for 2026 2025-12-28 18:21:20 +01:00
SamTV12345
7457284a47 chore: added changelog for v2.6.0 2025-12-28 18:19:17 +01:00
dependabot[bot]
cdaab2f9bf
build(deps): bump oidc-provider from 9.5.1 to 9.6.0 (#7260)
Bumps [oidc-provider](https://github.com/panva/node-oidc-provider) from 9.5.1 to 9.6.0.
- [Release notes](https://github.com/panva/node-oidc-provider/releases)
- [Changelog](https://github.com/panva/node-oidc-provider/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/node-oidc-provider/compare/v9.5.1...v9.6.0)

---
updated-dependencies:
- dependency-name: oidc-provider
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-27 20:16:18 +01:00
dependabot[bot]
206b0f2099
build(deps-dev): bump the dev-dependencies group across 1 directory with 3 updates (#7276)
Bumps the dev-dependencies group with 3 updates in the / directory: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [react-hook-form](https://github.com/react-hook-form/react-hook-form).


Updates `@typescript-eslint/eslint-plugin` from 8.50.0 to 8.50.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.50.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.50.0 to 8.50.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.50.1/packages/parser)

Updates `react-hook-form` from 7.68.0 to 7.69.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.68.0...v7.69.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.50.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.50.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.69.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-27 20:16:06 +01:00
dependabot[bot]
ebbc4c32c1
build(deps): bump socket.io-client from 4.8.1 to 4.8.3 (#7278)
Bumps [socket.io-client](https://github.com/socketio/socket.io) from 4.8.1 to 4.8.3.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-client@4.8.1...socket.io-client@4.8.3)

---
updated-dependencies:
- dependency-name: socket.io-client
  dependency-version: 4.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-27 20:15:56 +01:00
dependabot[bot]
abe5f3b95f
build(deps): bump socket.io from 4.8.1 to 4.8.3 (#7279)
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.8.1 to 4.8.3.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io@4.8.1...socket.io@4.8.3)

---
updated-dependencies:
- dependency-name: socket.io
  dependency-version: 4.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-27 20:12:01 +01:00
dependabot[bot]
9afc0e4ca8
build(deps): bump jsdom from 27.3.0 to 27.4.0 (#7280)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.3.0 to 27.4.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.3.0...27.4.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-27 20:11:53 +01:00
translatewiki.net
972f3fb119
Localisation updates from https://translatewiki.net. 2025-12-22 13:04:25 +01:00
dependabot[bot]
8ab65fe590
build(deps-dev): bump the dev-dependencies group across 1 directory with 14 updates (#7272)
* build(deps-dev): bump the dev-dependencies group across 1 directory with 14 updates

Bumps the dev-dependencies group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.1` | `25.0.3` |
| [eslint](https://github.com/eslint/eslint) | `9.39.1` | `9.39.2` |
| [sinon](https://github.com/sinonjs/sinon) | `21.0.0` | `21.0.1` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.15` | `4.0.16` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.1` | `8.50.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.48.1` | `8.50.0` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.1` | `5.1.2` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.24` | `0.4.26` |
| [i18next](https://github.com/i18next/i18next) | `25.7.1` | `25.7.3` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.556.0` | `0.562.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.1` | `19.2.3` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.1` | `19.2.3` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.3.5` | `16.5.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.10.1` | `7.11.0` |



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

Updates `eslint` from 9.39.1 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2)

Updates `sinon` from 21.0.0 to 21.0.1
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v21.0.0...v21.0.1)

Updates `vitest` from 4.0.15 to 4.0.16
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/vitest)

Updates `@typescript-eslint/eslint-plugin` from 8.48.1 to 8.50.0
- [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.50.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.48.1 to 8.50.0
- [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.50.0/packages/parser)

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

Updates `eslint-plugin-react-refresh` from 0.4.24 to 0.4.26
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.24...v0.4.26)

Updates `i18next` from 25.7.1 to 25.7.3
- [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/v25.7.1...v25.7.3)

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

Updates `react` from 19.2.1 to 19.2.3
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.3/packages/react)

Updates `react-dom` from 19.2.1 to 19.2.3
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.3/packages/react-dom)

Updates `react-i18next` from 16.3.5 to 16.5.0
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.3.5...v16.5.0)

Updates `react-router-dom` from 7.10.1 to 7.11.0
- [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.11.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: sinon
  dependency-version: 21.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.50.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.50.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.4.26
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.7.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.562.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react
  dependency-version: 19.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-dom
  dependency-version: 19.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.11.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: fixed error in typescript

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: SamTV12345 <40429738+samtv12345@users.noreply.github.com>
2025-12-19 21:38:53 +01:00
dependabot[bot]
4553ed1190
build(deps): bump rate-limiter-flexible from 9.0.0 to 9.0.1 (#7267)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/compare/v9.0.0...v9.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:25:08 +01:00
dependabot[bot]
5306df6bae
build(deps): bump actions/cache from 4 to 5 (#7264)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:24:15 +01:00
dependabot[bot]
5f30b80b4c
build(deps): bump ueberdb2 from 5.0.22 to 5.0.23 (#7244)
Bumps [ueberdb2](https://github.com/ether/ueberDB) from 5.0.22 to 5.0.23.
- [Changelog](https://github.com/ether/ueberDB/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ether/ueberDB/compare/v5.0.22...v5.0.23)

---
updated-dependencies:
- dependency-name: ueberdb2
  dependency-version: 5.0.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:19:22 +01:00
dependabot[bot]
c3fe1da5ec
build(deps): bump jose from 6.1.2 to 6.1.3 (#7247)
Bumps [jose](https://github.com/panva/jose) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: jose
  dependency-version: 6.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:19:13 +01:00
dependabot[bot]
ac6f2378fb
build(deps): bump jsdom from 27.2.0 to 27.3.0 (#7261)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.2.0 to 27.3.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.2.0...27.3.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:19:02 +01:00
dependabot[bot]
d9aaa9d4d8
build(deps): bump actions/upload-artifact from 5 to 6 (#7266)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:18:54 +01:00
dependabot[bot]
12bca64f7f
build(deps): bump esbuild from 0.27.0 to 0.27.2 (#7270)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.27.0 to 0.27.2.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.27.0...v0.27.2)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.27.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 21:18:42 +01:00
translatewiki.net
a136c94df9
Localisation updates from https://translatewiki.net. 2025-12-18 13:05:41 +01:00
translatewiki.net
e016576cf2
Localisation updates from https://translatewiki.net. 2025-12-15 13:04:54 +01:00
translatewiki.net
335f8e364c
Localisation updates from https://translatewiki.net. 2025-12-08 13:03:51 +01:00
SamTV12345
360ac3f763
chore: removed unresolved entry (#7257) 2025-12-06 15:55:16 +01:00
dependabot[bot]
b19a5597b9
build(deps): bump express and @types/express (#7248)
Bumps [express](https://github.com/expressjs/express) and [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express). These dependencies needed to be updated together.

Updates `express` from 5.1.0 to 5.2.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

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

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/express"
  dependency-version: 5.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:54:33 +01:00
dependabot[bot]
31fc8d02e9
build(deps): bump jsonwebtoken from 9.0.2 to 9.0.3 (#7252)
Bumps [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) from 9.0.2 to 9.0.3.
- [Changelog](https://github.com/auth0/node-jsonwebtoken/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/node-jsonwebtoken/compare/v9.0.2...v9.0.3)

---
updated-dependencies:
- dependency-name: jsonwebtoken
  dependency-version: 9.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:54:21 +01:00
dependabot[bot]
602acdc9ab
build(deps): bump lru-cache from 11.2.2 to 11.2.4 (#7243)
Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 11.2.2 to 11.2.4.
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v11.2.2...v11.2.4)

---
updated-dependencies:
- dependency-name: lru-cache
  dependency-version: 11.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:54:14 +01:00
dependabot[bot]
c39feb19f3
build(deps): bump tsx from 4.20.6 to 4.21.0 (#7242)
Bumps [tsx](https://github.com/privatenumber/tsx) from 4.20.6 to 4.21.0.
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.20.6...v4.21.0)

---
updated-dependencies:
- dependency-name: tsx
  dependency-version: 4.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:54:08 +01:00
SamTV12345
1bc943b1cb chore: use stable version of vite rolldown 2025-12-06 15:49:23 +01:00
dependabot[bot]
b58a3533fa
build(deps): bump mime-types from 3.0.1 to 3.0.2 (#7234)
Bumps [mime-types](https://github.com/jshttp/mime-types) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/jshttp/mime-types/releases)
- [Changelog](https://github.com/jshttp/mime-types/blob/master/HISTORY.md)
- [Commits](https://github.com/jshttp/mime-types/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: mime-types
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:41:57 +01:00
dependabot[bot]
6eaa4b5a9f
build(deps-dev): bump the dev-dependencies group across 1 directory with 10 updates (#7254)
Bumps the dev-dependencies group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.14` | `4.0.15` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.0` | `8.48.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.48.0` | `8.48.1` |
| [i18next](https://github.com/i18next/i18next) | `25.6.3` | `25.7.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.555.0` | `0.556.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.0` | `19.2.1` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.0` | `19.2.1` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.66.1` | `7.68.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.9.6` | `7.10.1` |
| [zustand](https://github.com/pmndrs/zustand) | `5.0.8` | `5.0.9` |



Updates `vitest` from 4.0.14 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest)

Updates `@typescript-eslint/eslint-plugin` from 8.48.0 to 8.48.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.48.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.48.0 to 8.48.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.48.1/packages/parser)

Updates `i18next` from 25.6.3 to 25.7.1
- [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/v25.6.3...v25.7.1)

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

Updates `react` from 19.2.0 to 19.2.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.1/packages/react)

Updates `react-dom` from 19.2.0 to 19.2.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.1/packages/react-dom)

Updates `react-hook-form` from 7.66.1 to 7.68.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.66.1...v7.68.0)

Updates `react-router-dom` from 7.9.6 to 7.10.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.10.1/packages/react-router-dom)

Updates `zustand` from 5.0.8 to 5.0.9
- [Release notes](https://github.com/pmndrs/zustand/releases)
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.8...v5.0.9)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.48.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.48.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.7.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.556.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react
  dependency-version: 19.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-dom
  dependency-version: 19.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.68.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.10.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: zustand
  dependency-version: 5.0.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 15:41:24 +01:00
translatewiki.net
dbb616d98a
Localisation updates from https://translatewiki.net. 2025-12-04 13:04:11 +01:00
translatewiki.net
27f2c5ef59
Localisation updates from https://translatewiki.net. 2025-12-01 13:04:36 +01:00
dependabot[bot]
598ef1edc1
build(deps): bump http-errors from 2.0.0 to 2.0.1 (#7235)
Bumps [http-errors](https://github.com/jshttp/http-errors) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/jshttp/http-errors/releases)
- [Changelog](https://github.com/jshttp/http-errors/blob/master/HISTORY.md)
- [Commits](https://github.com/jshttp/http-errors/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: http-errors
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 21:15:46 +01:00
dependabot[bot]
438c9b124a
build(deps): bump rate-limiter-flexible from 8.2.0 to 8.3.0 (#7237)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 8.2.0 to 8.3.0.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/compare/v8.2.0...v8.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 21:15:38 +01:00
dependabot[bot]
831c3cf625
build(deps-dev): bump the dev-dependencies group across 1 directory with 13 updates (#7239)
Bumps the dev-dependencies group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.56.1` | `1.57.0` |
| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `20.0.0` | `21.0.0` |
| [chokidar](https://github.com/paulmillr/chokidar) | `4.0.3` | `5.0.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.8` | `4.0.14` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.4` | `19.2.7` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.4` | `8.48.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.4` | `8.48.0` |
| [i18next](https://github.com/i18next/i18next) | `25.6.2` | `25.6.3` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.553.0` | `0.555.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.66.0` | `7.66.1` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.3.1` | `16.3.5` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.9.5` | `7.9.6` |
| [vitepress](https://github.com/vuejs/vitepress) | `2.0.0-alpha.13` | `2.0.0-alpha.15` |



Updates `@playwright/test` from 1.56.1 to 1.57.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.56.1...v1.57.0)

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

Updates `chokidar` from 4.0.3 to 5.0.0
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/4.0.3...5.0.0)

Updates `vitest` from 4.0.8 to 4.0.14
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.14/packages/vitest)

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

Updates `@typescript-eslint/eslint-plugin` from 8.46.4 to 8.48.0
- [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.48.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.4 to 8.48.0
- [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.48.0/packages/parser)

Updates `i18next` from 25.6.2 to 25.6.3
- [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/v25.6.2...v25.6.3)

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

Updates `react-hook-form` from 7.66.0 to 7.66.1
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.66.0...v7.66.1)

Updates `react-i18next` from 16.3.1 to 16.3.5
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.3.1...v16.3.5)

Updates `react-router-dom` from 7.9.5 to 7.9.6
- [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.9.6/packages/react-router-dom)

Updates `vitepress` from 2.0.0-alpha.13 to 2.0.0-alpha.15
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.13...v2.0.0-alpha.15)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@types/sinon"
  dependency-version: 21.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: chokidar
  dependency-version: 5.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.48.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.48.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.6.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.555.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.66.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.9.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 20:31:30 +01:00
dependabot[bot]
4f469d666c
build(deps): bump actions/checkout from 5 to 6 (#7233)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 20:31:22 +01:00
dependabot[bot]
7c116c4750
build(deps): bump jose from 6.1.1 to 6.1.2 (#7231)
Bumps [jose](https://github.com/panva/jose) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: jose
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 20:31:12 +01:00
translatewiki.net
b85de0923b
Localisation updates from https://translatewiki.net. 2025-11-27 13:04:23 +01:00
translatewiki.net
42aea9d24d
Localisation updates from https://translatewiki.net. 2025-11-24 13:04:21 +01:00
translatewiki.net
b827f5b3d9
Localisation updates from https://translatewiki.net. 2025-11-20 13:06:42 +01:00
SamTV12345
41cb6803d2
7139 let user maintain a single session across multiple browsers (#7228)
* chore: started with implementation

* chore: finished index page

* chore: started with double sided modal

* chore: continue

* chore: completed implementation of transfer token

* chore: fixed typescript checks
2025-11-18 12:23:55 +01:00
Edge-Seven
658ae78922
Fix typos in some files (#7227)
Co-authored-by: khanhkhanhlele <namkhanh20xx@gmail.com>
2025-11-18 10:33:10 +01:00
dependabot[bot]
cedbe6e0d5
build(deps-dev): bump the dev-dependencies group across 1 directory with 10 updates (#7226)
Bumps the dev-dependencies group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.10.0` | `24.10.1` |
| [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) | `17.0.4` | `20.0.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.2` | `19.2.4` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.2` | `19.2.3` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.3` | `8.46.4` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.3` | `8.46.4` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.0` | `5.1.1` |
| [i18next](https://github.com/i18next/i18next) | `25.6.1` | `25.6.2` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.2.4` | `16.3.1` |
| [vitepress](https://github.com/vuejs/vitepress) | `2.0.0-alpha.12` | `2.0.0-alpha.13` |



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

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

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

Updates `@types/react-dom` from 19.2.2 to 19.2.3
- [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.46.3 to 8.46.4
- [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.46.4/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.3 to 8.46.4
- [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.46.4/packages/parser)

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

Updates `i18next` from 25.6.1 to 25.6.2
- [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/v25.6.1...v25.6.2)

Updates `react-i18next` from 16.2.4 to 16.3.1
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.2.4...v16.3.1)

Updates `vitepress` from 2.0.0-alpha.12 to 2.0.0-alpha.13
- [Release notes](https://github.com/vuejs/vitepress/releases)
- [Changelog](https://github.com/vuejs/vitepress/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.12...v2.0.0-alpha.13)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.10.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/sinon"
  dependency-version: 20.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.3.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vitepress
  dependency-version: 2.0.0-alpha.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 21:07:44 +01:00
translatewiki.net
ffa6dbe0b4
Localisation updates from https://translatewiki.net. 2025-11-13 13:06:10 +01:00
dependabot[bot]
32c28924ee
build(deps): bump jsdom from 27.1.0 to 27.2.0 (#7224)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.1.0 to 27.2.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.1.0...27.2.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 19:14:01 +01:00
dependabot[bot]
af43b1a8ca
build(deps): bump rate-limiter-flexible from 8.1.0 to 8.2.0 (#7221)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/compare/v8.1.0...v8.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 19:13:51 +01:00
dependabot[bot]
fb12162935
build(deps): bump jose from 6.1.0 to 6.1.1 (#7220)
Bumps [jose](https://github.com/panva/jose) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v6.1.0...v6.1.1)

---
updated-dependencies:
- dependency-name: jose
  dependency-version: 6.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 19:30:47 +01:00
dependabot[bot]
341a676171
build(deps): bump esbuild from 0.25.12 to 0.27.0 (#7222)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.12 to 0.27.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.12...v0.27.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 19:30:39 +01:00
dependabot[bot]
2d57c08946
build(deps-dev): bump the dev-dependencies group with 3 updates (#7218)
Bumps the dev-dependencies group with 3 updates: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest), [i18next](https://github.com/i18next/i18next) and [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).


Updates `vitest` from 4.0.7 to 4.0.8
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.8/packages/vitest)

Updates `i18next` from 25.6.0 to 25.6.1
- [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/v25.6.0...v25.6.1)

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

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.6.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.553.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-07 19:11:45 +01:00
translatewiki.net
0d70bfb979
Localisation updates from https://translatewiki.net. 2025-11-06 13:06:45 +01:00
dependabot[bot]
9c76854ef3
build(deps-dev): bump the dev-dependencies group across 1 directory with 8 updates (#7217)
Bumps the dev-dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.9.2` | `24.10.0` |
| [eslint](https://github.com/eslint/eslint) | `9.38.0` | `9.39.1` |
| [mocha](https://github.com/mochajs/mocha) | `11.7.4` | `11.7.5` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.6` | `4.0.7` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.2` | `8.46.3` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.2` | `8.46.3` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.65.0` | `7.66.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.2.3` | `16.2.4` |



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

Updates `eslint` from 9.38.0 to 9.39.1
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.38.0...v9.39.1)

Updates `mocha` from 11.7.4 to 11.7.5
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/v11.7.5/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v11.7.4...v11.7.5)

Updates `vitest` from 4.0.6 to 4.0.7
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.7/packages/vitest)

Updates `@typescript-eslint/eslint-plugin` from 8.46.2 to 8.46.3
- [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.46.3/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.2 to 8.46.3
- [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.46.3/packages/parser)

Updates `react-hook-form` from 7.65.0 to 7.66.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.65.0...v7.66.0)

Updates `react-i18next` from 16.2.3 to 16.2.4
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.2.3...v16.2.4)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-version: 9.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: mocha
  dependency-version: 11.7.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.46.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.66.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 22:26:15 +01:00
Etherpad Release Bot
0bb9670f73 Merge branch 'master' into develop 2025-11-05 21:22:48 +00:00
Etherpad Release Bot
3c9141264a Merge branch 'develop' 2025-11-05 21:22:47 +00:00
Etherpad Release Bot
c8b68fa719 bump version 2025-11-05 21:22:47 +00:00
SamTV12345
2905af0335 chore: added changelog for release 2.5.3 2025-11-05 22:20:56 +01:00
dependabot[bot]
c70671436d
build(deps): bump axios from 1.13.1 to 1.13.2 (#7216)
Bumps [axios](https://github.com/axios/axios) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.1...v1.13.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 22:15:21 +01:00
SamTV12345
26369b8488 chore: fixed generatereleasenotes to respect filename 2025-11-05 22:14:58 +01:00
SamTV12345
660d2b511e chore: generate changelog also on develop 2025-11-05 22:11:29 +01:00
dependabot[bot]
24ee13be54
build(deps): bump express-rate-limit from 8.1.0 to 8.2.1 (#7210)
Bumps [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) from 8.1.0 to 8.2.1.
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.1.0...v8.2.1)

---
updated-dependencies:
- dependency-name: express-rate-limit
  dependency-version: 8.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 21:11:28 +01:00
dependabot[bot]
e3b420bbe5
build(deps): bump esbuild from 0.25.11 to 0.25.12 (#7209)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.11 to 0.25.12.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.11...v0.25.12)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 21:11:18 +01:00
SamTV12345
0cf8752359 chore: fix changelog script 2025-10-31 21:21:02 +01:00
dependabot[bot]
dcb1dea739
build(deps-dev): bump the dev-dependencies group with 3 updates (#7206)
Bumps the dev-dependencies group with 3 updates: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest), [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) and [react-i18next](https://github.com/i18next/react-i18next).


Updates `vitest` from 4.0.5 to 4.0.6
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.6/packages/vitest)

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

Updates `react-i18next` from 16.2.2 to 16.2.3
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.2.2...v16.2.3)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.552.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-31 21:13:44 +01:00
dependabot[bot]
32ee93d81c
build(deps): bump jsdom from 27.0.1 to 27.1.0 (#7207)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.0.1 to 27.1.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.0.1...27.1.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-31 20:16:03 +01:00
dependabot[bot]
d693ef1f86
build(deps-dev): bump react-i18next in the dev-dependencies group (#7205)
Bumps the dev-dependencies group with 1 update: [react-i18next](https://github.com/i18next/react-i18next).


Updates `react-i18next` from 16.2.1 to 16.2.2
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.2.1...v16.2.2)

---
updated-dependencies:
- dependency-name: react-i18next
  dependency-version: 16.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 17:36:18 +01:00
translatewiki.net
eb1ef9a201
Localisation updates from https://translatewiki.net. 2025-10-30 13:07:18 +01:00
Etherpad Release Bot
9df37a8705 Merge branch 'develop' 2025-10-29 19:44:04 +00:00
Etherpad Release Bot
c43670def9 Merge branch 'master' into develop 2025-10-29 19:44:04 +00:00
Etherpad Release Bot
af0c956a39 bump version 2025-10-29 19:44:04 +00:00
SamTV12345
b78a803e7a chore: added changelog for Etherpad 2025-10-29 20:36:06 +01:00
SamTV12345
21f0992a17
chore: added settings for darkmode and relaxed width and height of inputs (#7204)
* chore: added settings for darkmode and relaxed width and height of inputs

* chore: add explanation for showRecentPads
2025-10-29 20:29:40 +01:00
dependabot[bot]
c64d6ffe03
build(deps): bump axios from 1.12.2 to 1.13.1 (#7198)
Bumps [axios](https://github.com/axios/axios) from 1.12.2 to 1.13.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.12.2...v1.13.1)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 19:59:42 +01:00
SamTV12345
be687d4d3b
chore: remove package manager declaration (#7203) 2025-10-29 18:59:26 +01:00
dependabot[bot]
685e8ff3e4
build(deps): bump actions/upload-artifact from 4 to 5 (#7194)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 18:59:17 +01:00
SamTV12345
8a8f292740
chore: pin version of oidc provider (#7201) 2025-10-29 18:54:47 +01:00
dependabot[bot]
746d1ef931
build(deps-dev): bump the dev-dependencies group across 1 directory with 10 updates (#7200)
Bumps the dev-dependencies group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/cookie-parser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cookie-parser) | `1.4.9` | `1.4.10` |
| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `5.0.3` | `5.0.5` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.9.1` | `24.9.2` |
| [set-cookie-parser](https://github.com/nfriedly/set-cookie-parser) | `2.7.1` | `2.7.2` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.1` | `4.0.5` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.0.4` | `5.1.0` |
| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.0` | `7.0.1` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.546.0` | `0.548.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.1.6` | `16.2.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.9.4` | `7.9.5` |



Updates `@types/cookie-parser` from 1.4.9 to 1.4.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cookie-parser)

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

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

Updates `set-cookie-parser` from 2.7.1 to 2.7.2
- [Changelog](https://github.com/nfriedly/set-cookie-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nfriedly/set-cookie-parser/compare/v2.7.1...v2.7.2)

Updates `vitest` from 4.0.1 to 4.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.5/packages/vitest)

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

Updates `eslint-plugin-react-hooks` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

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

Updates `react-i18next` from 16.1.6 to 16.2.1
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.1.6...v16.2.1)

Updates `react-router-dom` from 7.9.4 to 7.9.5
- [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.9.5/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: "@types/cookie-parser"
  dependency-version: 1.4.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/express"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.9.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: set-cookie-parser
  dependency-version: 2.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-react-hooks
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.548.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.9.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 18:54:25 +01:00
dependabot[bot]
7472be45a9
build(deps): bump jsdom from 27.0.0 to 27.0.1 (#7184)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 27.0.0 to 27.0.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/27.0.0...27.0.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 27.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 23:32:22 +02:00
dependabot[bot]
7b2d06a930
build(deps): bump resolve from 1.22.10 to 1.22.11 (#7186)
Bumps [resolve](https://github.com/browserify/resolve) from 1.22.10 to 1.22.11.
- [Commits](https://github.com/browserify/resolve/compare/v1.22.10...v1.22.11)

---
updated-dependencies:
- dependency-name: resolve
  dependency-version: 1.22.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-23 22:37:26 +02:00
dependabot[bot]
a1a21be10c
build(deps-dev): bump the dev-dependencies group with 2 updates (#7189)
Bumps the dev-dependencies group with 2 updates: [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [react-i18next](https://github.com/i18next/react-i18next).


Updates `vitest` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.1/packages/vitest)

Updates `react-i18next` from 16.1.5 to 16.1.6
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.1.5...v16.1.6)

---
updated-dependencies:
- dependency-name: vitest
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.1.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-23 22:37:18 +02:00
dependabot[bot]
3245486a25
build(deps-dev): bump the dev-dependencies group across 1 directory with 6 updates (#7188)
Bumps the dev-dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.8.1` | `24.9.1` |
| [eslint](https://github.com/eslint/eslint) | `9.37.0` | `9.38.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `3.2.4` | `4.0.0` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.1` | `8.46.2` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.1` | `8.46.2` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.0.1` | `16.1.5` |



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

Updates `eslint` from 9.37.0 to 9.38.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.37.0...v9.38.0)

Updates `vitest` from 3.2.4 to 4.0.0
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.0/packages/vitest)

Updates `@typescript-eslint/eslint-plugin` from 8.46.1 to 8.46.2
- [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.46.2/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.1 to 8.46.2
- [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.46.2/packages/parser)

Updates `react-i18next` from 16.0.1 to 16.1.5
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.0.1...v16.1.5)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint
  dependency-version: 9.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vitest
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.46.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.1.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-22 19:45:09 +02:00
translatewiki.net
8fc094dcf5
Localisation updates from https://translatewiki.net. 2025-10-20 06:36:47 +02:00
Phillip
06f67b4c01
fix prometheus metric and add total users and active pad count (#7179)
* fix prometheus metric registration

* add totalUsers and activePads metric to prometheus
2025-10-19 17:27:21 +02:00
yena
49d431b6b8
Fix german translation for pad.settings.poweredBy (#7176) 2025-10-19 17:27:11 +02:00
dependabot[bot]
8d4c43bda1
build(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates (#7180)
Bumps the dev-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.56.0` | `1.56.1` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.7.2` | `24.8.1` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.23` | `0.4.24` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `0.545.0` | `0.546.0` |
| [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy) | `3.1.3` | `3.1.4` |



Updates `@playwright/test` from 1.56.0 to 1.56.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.56.0...v1.56.1)

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

Updates `eslint-plugin-react-refresh` from 0.4.23 to 0.4.24
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.23...v0.4.24)

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

Updates `vite-plugin-static-copy` from 3.1.3 to 3.1.4
- [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@3.1.3...vite-plugin-static-copy@3.1.4)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.56.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.4.24
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: lucide-react
  dependency-version: 0.546.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: vite-plugin-static-copy
  dependency-version: 3.1.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-19 15:59:06 +02:00
dependabot[bot]
b10de33da7
build(deps): bump esbuild from 0.25.10 to 0.25.11 (#7174)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.10 to 0.25.11.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.10...v0.25.11)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 21:50:22 +02:00
dependabot[bot]
ab5c2767ba
build(deps): bump awalsh128/cache-apt-pkgs-action from 1.5.3 to 1.6.0 (#7172)
Bumps [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/v1.5.3...v1.6.0)

---
updated-dependencies:
- dependency-name: awalsh128/cache-apt-pkgs-action
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 21:48:44 +02:00
dependabot[bot]
6b2cc5a635
build(deps): bump rate-limiter-flexible from 8.0.1 to 8.1.0 (#7168)
Bumps [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/animir/node-rate-limiter-flexible/releases)
- [Commits](https://github.com/animir/node-rate-limiter-flexible/compare/v8.0.1...v8.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 19:46:26 +02:00
dependabot[bot]
861d2c6075
build(deps-dev): bump the dev-dependencies group across 1 directory with 10 updates (#7170)
Bumps the dev-dependencies group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@types/formidable](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/formidable) | `3.4.5` | `3.4.6` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.7.0` | `24.7.2` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.1` | `19.2.2` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.0` | `8.46.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.0` | `8.46.1` |
| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `6.1.1` | `7.0.0` |
| [i18next](https://github.com/i18next/i18next) | `25.5.3` | `25.6.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.64.0` | `7.65.0` |
| [react-i18next](https://github.com/i18next/react-i18next) | `16.0.0` | `16.0.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.9.3` | `7.9.4` |



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

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

Updates `@types/react-dom` from 19.2.1 to 19.2.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.46.0 to 8.46.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.46.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.46.0 to 8.46.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.46.1/packages/parser)

Updates `eslint-plugin-react-hooks` from 6.1.1 to 7.0.0
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

Updates `i18next` from 25.5.3 to 25.6.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/v25.5.3...v25.6.0)

Updates `react-hook-form` from 7.64.0 to 7.65.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.64.0...v7.65.0)

Updates `react-i18next` from 16.0.0 to 16.0.1
- [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/react-i18next/compare/v16.0.0...v16.0.1)

Updates `react-router-dom` from 7.9.3 to 7.9.4
- [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.9.4/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: "@types/formidable"
  dependency-version: 3.4.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.46.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.46.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-react-hooks
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-dependencies
- dependency-name: i18next
  dependency-version: 25.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-hook-form
  dependency-version: 7.65.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
- dependency-name: react-i18next
  dependency-version: 16.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: react-router-dom
  dependency-version: 7.9.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 19:46:18 +02:00
translatewiki.net
fc524c535d
Localisation updates from https://translatewiki.net. 2025-10-13 14:05:49 +02:00
SamTV12345
3ce6d0e45e chore: only on tags 2025-10-10 13:00:40 +02:00
Etherpad Release Bot
4114d998b9 Merge branch 'master' into develop 2025-10-10 10:36:44 +00:00
67 changed files with 3386 additions and 2008 deletions

View file

@ -31,8 +31,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -50,7 +50,7 @@ jobs:
version: 0.0.12
-
name: Install libreoffice
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@ -87,8 +87,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup pnpm cache
if: always()
with:
@ -106,7 +106,7 @@ jobs:
version: 0.0.12
-
name: Install libreoffice
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@ -156,8 +156,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup pnpm cache
if: always()
with:
@ -209,8 +209,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup pnpm cache
if: always()
with:

View file

@ -32,8 +32,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:

View file

@ -25,7 +25,7 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.

View file

@ -15,6 +15,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: 'Dependency Review'
uses: actions/dependency-review-action@v4

View file

@ -23,7 +23,7 @@ jobs:
steps:
-
name: Check out
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
path: etherpad
@ -44,7 +44,7 @@ jobs:
tags: ${{ env.TEST_TAG }}
cache-from: type=gha
cache-to: type=gha,mode=max
- uses: actions/cache@v4
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -120,7 +120,7 @@ jobs:
enable-url-completion: true
- name: Check out
if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
path: ether-charts
repository: ether/ether-charts

View file

@ -30,8 +30,8 @@ jobs:
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}-node${{ matrix.node }}'
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -48,7 +48,7 @@ jobs:
with:
version: 0.0.12
- name: Cache playwright binaries
uses: actions/cache@v4
uses: actions/cache@v5
id: playwright-cache
with:
path: |
@ -141,7 +141,7 @@ jobs:
gnpm exec playwright install --runtimeVersion="${{ matrix.node }}"
gnpm exec playwright install-deps --runtimeVersion="${{ matrix.node }}"
gnpm run test-admin --runtimeVersion="${{ matrix.node }}"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: always()
with:
name: playwright-report-${{ matrix.node }}

View file

@ -24,8 +24,8 @@ jobs:
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -69,7 +69,7 @@ jobs:
cd src
gnpm exec playwright install chromium --with-deps
gnpm run test-ui --project=chromium
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: always()
with:
name: playwright-report-${{ matrix.node }}-chrome
@ -87,8 +87,8 @@ jobs:
printf %s\\n '::set-output name=name::${{ github.workflow }} - ${{ github.job }}'
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
- name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -129,7 +129,7 @@ jobs:
cd src
gnpm exec playwright install firefox --with-deps
gnpm run test-ui --project=firefox
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: always()
with:
name: playwright-report-${{ matrix.node }}-firefox
@ -149,8 +149,8 @@ jobs:
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -193,7 +193,7 @@ jobs:
cd src
gnpm exec playwright install webkit --with-deps
gnpm run test-ui --project=webkit || true
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v6
if: always()
with:
name: playwright-report-${{ matrix.node }}-webkit

View file

@ -1,10 +1,12 @@
name: "Handle release"
# any branch is useful for testing before a PR is submitted
on:
workflow_run:
workflows:
- "Docker"
push:
tags:
- 'v*.*.*'
# allow manual triggering of the workflow
workflow_dispatch:
permissions:
contents: read
@ -25,8 +27,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -49,7 +51,6 @@ jobs:
run: gnpm run build:etherpad
# On release, create release
- name: Generate Changelog
if: ${{startsWith(github.ref, 'refs/tags/v') }}
working-directory: bin
run: gnpm run generateChangelog ${{ github.ref }} > ${{ github.workspace }}-CHANGELOG.txt
- name: Release

View file

@ -28,8 +28,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -71,8 +71,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -139,8 +139,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:

View file

@ -24,8 +24,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:

View file

@ -27,8 +27,8 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v5
- uses: actions/cache@v4
uses: actions/checkout@v6
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:

View file

@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
repository: ether/etherpad-lite
path: etherpad
@ -42,12 +42,12 @@ jobs:
git checkout develop
git reset --hard origin/develop
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
repository: ether/ether.github.com
path: ether.github.com
token: '${{ secrets.ETHER_RELEASE_TOKEN }}'
- uses: actions/cache@v4
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:

View file

@ -12,12 +12,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
- uses: actions/cache@v5
name: Setup pnpm cache
if: always()
with:

View file

@ -31,10 +31,10 @@ jobs:
steps:
-
name: Check out latest release
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
ref: develop #FIXME change to master when doing release
- uses: actions/cache@v4
- uses: actions/cache@v5
name: Setup gnpm cache
if: always()
with:
@ -52,13 +52,13 @@ jobs:
with:
version: 0.0.12
- name: Install libreoffice
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
-
name: Install libreoffice
uses: awalsh128/cache-apt-pkgs-action@v1.5.3
uses: awalsh128/cache-apt-pkgs-action@v1.6.0
with:
packages: libreoffice libreoffice-pdfimport
version: 1.0
@ -90,7 +90,7 @@ jobs:
-
name: Install all dependencies and symlink for ep_etherpad-lite
run: gnpm install --frozen-lockfile --runtimeVersion="${{ matrix.node }}"
# Because actions/checkout@v5 is called with "ref: master" and without
# Because actions/checkout@v6 is called with "ref: master" and without
# "fetch-depth: 0", the local clone does not have the ${GITHUB_SHA}
# commit. Fetch ${GITHUB_REF} to get the ${GITHUB_SHA} commit. Note that a
# plain "git fetch" only fetches "normal" references (refs/heads/* and

View file

@ -1,3 +1,25 @@
# 2.6.0
### Notable enhancements and fixes
- Added native option to transfer your Etherpad session between browsers. If you use multiple browsers or different PC for Etherpad they are different sessions. Meaning typing on one PC and then switching to another one in the same pad will result in different authorship colors. With this new feature you can now transfer your session to another browser or PC. To do so, open the home page and click on the wheel icon in the top right corner. After that click through the first dialog prompting you to copy a code to your clipboard. On your second browser open the same dialog and switch to "Receive Session" tab. There you can paste the code you copied before and click on "Receive Session". After that your session is transferred, and you can continue editing with the same authorship color as before. Just be aware that you can't have two active sessions at once in a pad.
- Updated to oidc provider v2.6.0 after resolving compatibility issues.
🎉 For all the people celebrating: Have a happy and awesome new year! 🎉 There is something big on the horizon for Etherpad in 2026. Stay tuned!
# 2.5.3
### Notable enhancements and fixes
- Fixed an issue with the release script that caused the release to not be created correctly.
# 2.5.2
### Notable enhancements and fixes
- Fixes the no skin theme having an overlapping
- Adds a new setting to disable recent pads to be shown. By setting `showRecentPads` to false in the `settings.json` file you can disable the recent pads feature on the home screen.
- Sets the oidc-provider version to 9.5.1 as 9.5.2 crashes Etherpad on startup.
# 2.5.1
### Notable enhancements and fixes

View file

@ -1,7 +1,7 @@
{
"name": "admin",
"private": true,
"version": "2.5.1",
"version": "2.6.0",
"type": "module",
"scripts": {
"dev": "vite",
@ -16,31 +16,31 @@
"devDependencies": {
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-toast": "^1.2.15",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.1",
"@typescript-eslint/eslint-plugin": "^8.46.0",
"@typescript-eslint/parser": "^8.46.0",
"@vitejs/plugin-react": "^5.0.4",
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^8.53.1",
"@typescript-eslint/parser": "^8.53.1",
"@vitejs/plugin-react": "^5.1.2",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"eslint": "^9.37.0",
"eslint-plugin-react-hooks": "^6.1.1",
"eslint-plugin-react-refresh": "^0.4.23",
"i18next": "^25.5.3",
"eslint": "^9.39.2",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.26",
"i18next": "^25.7.4",
"i18next-browser-languagedetector": "^8.2.0",
"lucide-react": "^0.545.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-hook-form": "^7.64.0",
"react-i18next": "^16.0.0",
"react-router-dom": "^7.9.0",
"socket.io-client": "^4.8.1",
"lucide-react": "^0.562.0",
"react": "^19.2.3",
"react-dom": "^19.2.3",
"react-hook-form": "^7.71.1",
"react-i18next": "^16.5.3",
"react-router-dom": "^7.12.0",
"socket.io-client": "^4.8.3",
"typescript": "^5.9.3",
"vite": "npm:rolldown-vite@latest",
"vite-plugin-babel": "^1.3.2",
"vite-plugin-static-copy": "^3.1.3",
"zustand": "^5.0.8"
"vite": "npm:rolldown-vite@7.2.10",
"vite-plugin-babel": "^1.4.1",
"vite-plugin-static-copy": "^3.1.5",
"zustand": "^5.0.10"
},
"overrides": {
"vite": "npm:rolldown-vite@latest"
"vite": "npm:rolldown-vite@7.2.10"
}
}

View file

@ -21,7 +21,7 @@ export const SettingsPage = ()=>{
settingsSocket!.emit('saveSettings', settings!);
useStore.getState().setToastState({
open: true,
title: "Succesfully saved settings",
title: "Successfully saved settings",
success: true
})
} else {

View file

@ -1,6 +1,6 @@
import {readFileSync} from "node:fs";
const changelog = readFileSync('../changelog.md')
const changelog = readFileSync('../CHANGELOG.md')
const changelogText = changelog.toString()
const changelogLines = changelogText.split('\n')

View file

@ -1,21 +1,21 @@
{
"name": "bin",
"version": "2.5.1",
"version": "2.6.0",
"description": "",
"main": "checkAllPads.js",
"directories": {
"doc": "doc"
},
"dependencies": {
"axios": "^1.12.1",
"axios": "^1.13.2",
"ep_etherpad-lite": "workspace:../src",
"log4js": "^6.9.1",
"semver": "^7.7.3",
"tsx": "^4.20.6",
"ueberdb2": "^5.0.22"
"tsx": "^4.21.0",
"ueberdb2": "^5.0.23"
},
"devDependencies": {
"@types/node": "^24.7.0",
"@types/node": "^25.0.9",
"@types/semver": "^7.7.1",
"typescript": "^5.9.3"
},

View file

@ -1,6 +1,6 @@
{
"devDependencies": {
"vitepress": "^2.0.0-alpha.12"
"vitepress": "^2.0.0-alpha.15"
},
"scripts": {
"docs:dev": "vitepress dev",
@ -11,6 +11,6 @@
"search-insights": "^2.17.3"
},
"overrides": {
"vite": "npm:rolldown-vite@latest"
"vite": "npm:rolldown-vite@7.2.10"
}
}

View file

@ -1,6 +1,6 @@
services:
app:
user: "0:0"
user: "5001:0"
image: etherpad/etherpad:latest
tty: true
stdin_open: true

View file

@ -34,12 +34,12 @@
"makeDocs": "pnpm --filter bin run makeDocs"
},
"dependencies": {
"ep_etherpad-lite": "workspace:./src"
"ep_etherpad-lite": "link:src"
},
"devDependencies": {
"admin": "workspace:./admin",
"docs": "workspace:./doc",
"ui": "workspace:./ui"
"admin": "link:admin",
"docs": "link:doc",
"ui": "link:ui"
},
"engines": {
"node": ">=20.0.0"
@ -48,8 +48,7 @@
"type": "git",
"url": "https://github.com/ether/etherpad-lite.git"
},
"packageManager": "pnpm@10.18.0",
"engineStrict": true,
"version": "2.5.1",
"version": "2.6.0",
"license": "Apache-2.0"
}

4297
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -104,6 +104,11 @@
*/
"title": "${TITLE:Etherpad}",
/*
* Whether to show recent pads on the homepage or not.
*/
"showRecentPads": "${SHOW_RECENT_PADS:true}",
/*
* Pathname of the favicon you want to use. If null, the skin's favicon is
* used if one is provided by the skin, otherwise the default Etherpad favicon

View file

@ -95,6 +95,11 @@
*/
"title": "Etherpad",
/*
* Whether to show recent pads on the homepage or not.
*/
"showRecentPads": true,
/*
* Pathname of the favicon you want to use. If null, the skin's favicon is
* used if one is provided by the skin, otherwise the default Etherpad favicon

View file

@ -58,6 +58,12 @@
"expressCreateServer": "ep_etherpad-lite/node/hooks/express/padurlsanitize"
}
},
{
"name": "transferToken",
"hooks": {
"expressCreateServer": "ep_etherpad-lite/node/hooks/express/tokenTransfer"
}
},
{
"name": "pwa",
"hooks": {

View file

@ -49,6 +49,18 @@
"admin_settings.current_save.value": "حفظ الإعدادات",
"admin_settings.page-title": "الإعدادات - Etherpad",
"index.newPad": "باد جديد",
"index.settings": "إعدادات",
"index.transferSessionTitle": "جلسة النقل",
"index.receiveSessionTitle": "تلقي الجلسة",
"index.receiveSessionDescription": "هنا يمكنك استقبال جلسة Etherpad من متصفح أو جهاز آخر. مع ذلك، يُرجى العلم أن هذا سيؤدي إلى حذف جلستك الحالية، إن وُجدت.",
"index.transferSession": "1. جلسة النقل",
"index.transferSessionNow": "نقل الجلسة الآن",
"index.copyLink": "2. نسخ الرابط",
"index.copyLinkDescription": "انقر على الزر أدناه لنسخ الرابط إلى الحافظة الخاصة بك.",
"index.copyLinkButton": "نسخ الرابط إلى الحافظة",
"index.transferToSystem": "3. نسخ الجلسة إلى النظام الجديد",
"index.transferToSystemDescription": "افتح الرابط المنسوخ في المتصفح أو الجهاز المستهدف لنقل جلستك.",
"index.transferSessionDescription": "انقل جلستك الحالية إلى المتصفح أو الجهاز بالنقر على الزر أدناه. سيؤدي هذا إلى نسخ رابط لصفحة ستنقل جلستك عند فتحها في المتصفح أو الجهاز المستهدف.",
"index.createOpenPad": "افتح الوسادة حسب الاسم",
"index.openPad": "افتح باد موجودة بالاسم:",
"index.recentPads": "الوسادات الأخيرة",

View file

@ -49,8 +49,27 @@
"admin_settings.current_save.value": "Uložit nastavení",
"admin_settings.page-title": "Nastavení - Etherpad",
"index.newPad": "Založ nový Pad",
"index.createOpenPad": "nebo vytvoř/otevři Pad s názvem:",
"index.settings": "Nastavení",
"index.transferSessionTitle": "relace Přenosu",
"index.receiveSessionTitle": "Přijmout relaci",
"index.receiveSessionDescription": "Zde můžete přijímat relaci Etherpad z jiného prohlížeče nebo zařízení. Upozorňujeme však, že tím se smaže vaše aktuální relace, pokud nějaká existuje.",
"index.transferSession": "1. Přenos relace",
"index.transferSessionNow": "Přenést relaci nyní",
"index.copyLink": "2. Zkopírovat odkaz",
"index.copyLinkDescription": "Kliknutím na tlačítko níže zkopírujete odkaz do schránky.",
"index.copyLinkButton": "Kopírovat odkaz do schránky",
"index.transferToSystem": "3. Zkopírujte relaci do nového systému",
"index.transferToSystemDescription": "Otevřete zkopírovaný odkaz v cílovém prohlížeči nebo zařízení a přeneste svou relaci.",
"index.transferSessionDescription": "Přeneste svou aktuální relaci do prohlížeče nebo zařízení kliknutím na tlačítko níže. Tím se zkopíruje odkaz na stránku, která přenese vaši relaci po otevření v cílovém prohlížeči nebo zařízení.",
"index.createOpenPad": "Otevřít pad podle jména",
"index.openPad": "otevřít existující Pad se jménem:",
"index.recentPads": "Poslední Pady",
"index.recentPadsEmpty": "Nebyly nalezeny žádné nedávné pady.",
"index.generateNewPad": "Generovat náhodný název padu",
"index.labelPad": "Název Padu (volitelné)",
"index.placeholderPadEnter": "Zadejte prosím název padu...",
"index.createAndShareDocuments": "Vytvářejte a sdílejte dokumenty v reálném čase",
"index.createAndShareDocumentsDescription": "Etherpad umožňuje kolaborativní úpravu dokumentů v reálném čase, podobně jako živý multiplayerový editor, který běží ve vašem prohlížeči.",
"pad.toolbar.bold.title": "Tučný text (Ctrl-B)",
"pad.toolbar.italic.title": "Kurzíva (Ctrl-I)",
"pad.toolbar.underline.title": "Podtržené písmo (Ctrl-U)",
@ -67,6 +86,7 @@
"pad.toolbar.savedRevision.title": "Uložit revizi",
"pad.toolbar.settings.title": "Nastavení",
"pad.toolbar.embed.title": "Sdílet a umístit tento Pad",
"pad.toolbar.home.title": "Zpět domů",
"pad.toolbar.showusers.title": "Zobrazit uživatele u tohoto Padu",
"pad.colorpicker.save": "Uložit",
"pad.colorpicker.cancel": "Zrušit",

View file

@ -2,11 +2,13 @@
"@metadata": {
"authors": [
"Bjarncraft",
"Brettchenweber",
"Dom",
"Justman10000",
"Killarnee",
"Metalhead64",
"Mklehr",
"Mukeber",
"Nipsky",
"Predatorix",
"SamTV",
@ -52,6 +54,18 @@
"admin_settings.current_save.value": "Einstellungen speichern",
"admin_settings.page-title": "Einstellungen - Etherpad",
"index.newPad": "Neues Pad",
"index.settings": "Einstellungen",
"index.transferSessionTitle": "Sitzung übertragen",
"index.receiveSessionTitle": "Sitzung empfangen",
"index.receiveSessionDescription": "Hier kannst du eine Etherpad-Sitzung aus einem anderen Browser oder Gerät empfangen. Bedenke allerdings, dass dadurch deine aktuelle Sitzung, falls vorhanden, gelöscht wird.",
"index.transferSession": "1. Sitzung übertragen",
"index.transferSessionNow": "Jetzt übertragen",
"index.copyLink": "2. Link kopieren",
"index.copyLinkDescription": "Klicke auf den untenstehenden Button, um den Übertragungscode in deine Zwischenablage zu kopieren.",
"index.copyLinkButton": "Übertragungscode kopieren",
"index.transferToSystem": "3. Sitzung einfügen",
"index.transferToSystemDescription": "Öffne den kopierten Link in dem neuen Browser oder Gerät, um deine aktuelle Etherpad-Sitzung zu übertragen.",
"index.transferSessionDescription": "Übertrage deine aktuelle Etherpad-Sitzung zu einem anderen Browser oder Gerät, indem du den untenstehenden Button klickst. Dabei wird ein Link in deine Zwischenablage kopiert, den du im neuen Browser oder Gerät öffnen kannst, um deine Sitzung zu übertragen.",
"index.createOpenPad": "Pad öffnen",
"index.openPad": "Öffne ein vorhandenes Pad mit folgendem Namen:",
"index.recentPads": "Zuletzt bearbeitete Pads",

View file

@ -38,8 +38,27 @@
"admin_settings.current_save.value": "Nastajenja składowaś",
"admin_settings.page-title": "Nastajenja Etherpad",
"index.newPad": "Nowy zapisnik",
"index.createOpenPad": "abo napóraj/wócyń zapisnik z mjenim:",
"index.settings": "Nastajenja",
"index.transferSessionTitle": "Pósejźenje pśenosowaś",
"index.receiveSessionTitle": "Pósejźenje dostaś",
"index.receiveSessionDescription": "How móžoš póseźenje Etherpad z drugego wobglědowaka abo rěda dostaś. Pšosym źiwaj na to, až to wašo aktualne pósejźenje wulašujo, jolic take eksistěrujo.",
"index.transferSession": "1. Pósejźenje pśenosowaś",
"index.transferSessionNow": "Pósejźenje něnto pśenosowaś",
"index.copyLink": "2. Wótkaz kopěrowaś",
"index.copyLinkDescription": "Klikni na slědujucy tłocašk, aby wótkaz do mjazywótkłada kopěrował.",
"index.copyLinkButton": "Wótkaz do mjazywótkłada kopěrowaś",
"index.transferToSystem": "3. Pósejźenje do nowego systema kopěrowaś",
"index.transferToSystemDescription": "Wócyń kopěrowany wótkaz w celowem wobglědowaku abo rěźe, aby swóje pósejźenje pśenosował.",
"index.transferSessionDescription": "Klikni na slědujucy tłocašk, aby swójo aktualne pósejźenje do wobglědowaka abo rěda pśenosował. To buźo wótkaz do boka kopěrowaś, kótaryž buźo wašo pósejźenje pśenosowaś, gaž se w celowem wobglědowaku abo rěźe woócynja.",
"index.createOpenPad": "Zapisnik pó mjenju wócyniś",
"index.openPad": "wócyńśo eksistěrujucy Pad z mjenim:",
"index.recentPads": "Nejnowše zapisniki",
"index.recentPadsEmpty": "Žedne nejnowše zapisniki namakane.",
"index.generateNewPad": "Pśipadne mě zapisnika generěrowaś",
"index.labelPad": "Mě zapisnika (pó žycenju)",
"index.placeholderPadEnter": "Pšosym zapódaj mě zapisnika…",
"index.createAndShareDocuments": "Napóraj a źěl dokumenty w napšawdnem casu",
"index.createAndShareDocumentsDescription": "Etherpad wam zmóžnja, dokumenty zgromadnje w napšawdnem casu wobźěłaś, kaž editor live multi-player, kótaryž we wašom wobglědowaku běžy.",
"pad.toolbar.bold.title": "Tucny (Strg-B)",
"pad.toolbar.italic.title": "Kursiwny (Strg-I)",
"pad.toolbar.underline.title": "Pódšmarnuś (Strg-U)",
@ -56,6 +75,7 @@
"pad.toolbar.savedRevision.title": "Wersiju składowaś",
"pad.toolbar.settings.title": "Nastajenja",
"pad.toolbar.embed.title": "Toś ten zapisnik źěliś a zasajźiś",
"pad.toolbar.home.title": "Slědk k startowemu bokoju",
"pad.toolbar.showusers.title": "Wužywarje na toś tom zapisniku pokazaś",
"pad.colorpicker.save": "Składowaś",
"pad.colorpicker.cancel": "Pśetergnuś",

View file

@ -44,6 +44,16 @@
"admin_settings.current_save.value": "Αποθήκευση Ρυθμίσεων",
"admin_settings.page-title": "Ρυθμίσεις - Etherpad",
"index.newPad": "Νέος Κοινόχρηστος Πίνακας",
"index.settings": "Ρυθμίσεις",
"index.transferSessionTitle": "Μεταφορά συνεδρίας",
"index.receiveSessionTitle": "Λήψη συνεδρίας",
"index.transferSession": "1. Μεταφορά συνεδρίας",
"index.transferSessionNow": "Μεταφορά συνεδρίας τώρα",
"index.copyLink": "2. Αντιγραφή συνδέσμου",
"index.copyLinkDescription": "Πατήστε στο παρακάτω κουμπί για να αντιγράψετε τον σύνδεσμο στο πρόχειρό σας.",
"index.copyLinkButton": "Αντιγραφή συνδέσμου στο πρόχειρο",
"index.transferToSystem": "3. Αντιγραφή συνεδρίας στο νέο σύστημα",
"index.transferToSystemDescription": "Ανοίξτε τον αντιγραμμένο σύνδεσμο στο πρόγραμμα περιήγησης ή στη συσκευή προορισμού για να μεταφέρετε την συνεδρία σας.",
"index.createOpenPad": "ή δημιουργία/άνοιγμα ενός κοινόχρηστου πίνακα με όνομα:",
"index.openPad": "άνοιγμα υπάρχοντος κοινόχρηστού πίνακα με όνομα:",
"pad.toolbar.bold.title": "Έντονα (Ctrl-B)",

View file

@ -34,6 +34,18 @@
"admin_settings.page-title": "Settings - Etherpad",
"index.newPad": "New Pad",
"index.settings": "Settings",
"index.transferSessionTitle": "Transfer session",
"index.receiveSessionTitle": "Receive session",
"index.receiveSessionDescription": "Here you can receive an Etherpad session from another browser or device. Please note, however, that this will delete your current session, if any.",
"index.transferSession": "1. Transfer session",
"index.transferSessionNow": "Transfer session now",
"index.copyLink": "2. Copy link",
"index.copyLinkDescription": "Click on the button below to copy the link to your clipboard.",
"index.copyLinkButton": "Copy link to clipboard",
"index.transferToSystem": "3. Copy session to new system",
"index.transferToSystemDescription": "Open the copied link in the target browser or device to transfer your session.",
"index.transferSessionDescription": "Transfer your current session to browser or device by clicking the button below. This will copy a link to a page that will transfer your session when opened in the target browser or device.",
"index.createOpenPad": "Open pad by name",
"index.openPad": "open an existing Pad with the name:",
"index.recentPads": "Recent Pads",

View file

@ -67,6 +67,18 @@
"admin_settings.current_save.value": "Enregistrer les paramètres",
"admin_settings.page-title": "Paramètres — Etherpad",
"index.newPad": "Nouveau bloc-notes",
"index.settings": "Paramètres",
"index.transferSessionTitle": "Session de transfert",
"index.receiveSessionTitle": "Résumé de la séance",
"index.receiveSessionDescription": "Vous pouvez ici recevoir une session Etherpad depuis un autre navigateur ou appareil. Veuillez noter toutefois que cela supprimera votre session actuelle, le cas échéant.",
"index.transferSession": "1. Séance de transfert",
"index.transferSessionNow": "Séance de transfert maintenant",
"index.copyLink": "Copier le lien",
"index.copyLinkDescription": "Cliquez sur le bouton ci-dessous pour copier le lien dans votre presse-papiers.",
"index.copyLinkButton": "Copier le lien dans le presse-papiers",
"index.transferToSystem": "3. Copier la séance sur le nouveau système",
"index.transferToSystemDescription": "Ouvrir le lien copié dans le navigateur ou l'appareil cible pour transférer votre séance.",
"index.transferSessionDescription": "Transférez votre session actuelle vers le navigateur ou l'appareil en cliquant sur le bouton ci-dessous. Cela copiera un lien vers une page qui transférera votre session lors de l'ouverture dans le navigateur ou l'appareil cible.",
"index.createOpenPad": "Ouvrir le bloc-notes par son nom",
"index.openPad": "ouvrir un bloc-note existant avec le nom:",
"index.recentPads": "Bloc-notes récents",

View file

@ -40,6 +40,18 @@
"admin_settings.current_save.value": "Gardar axustes",
"admin_settings.page-title": "Axustes - Etherpad",
"index.newPad": "Novo documento",
"index.settings": "Axustes",
"index.transferSessionTitle": "Transferir a sesión",
"index.receiveSessionTitle": "Recibir a sesión",
"index.receiveSessionDescription": "Aquí podes recibir unha sesión de Etherpad desde outro navegador ou dispositivo. Ten en conta, non obstante, que isto eliminará a túa sesión actual, se a houbese.",
"index.transferSession": "1. Transfire a sesión",
"index.transferSessionNow": "Transfire a sesión agora",
"index.copyLink": "2. Copia a ligazón",
"index.copyLinkDescription": "Fai clic no botón de embaixo para copiar a ligazón no portapapeis.",
"index.copyLinkButton": "Copiar a ligazón no portapapeis",
"index.transferToSystem": "3. Copia a sesión no novo sistema",
"index.transferToSystemDescription": "Abre a ligazón copiada no navegador ou dispositivo de destino para transferir a túa sesión.",
"index.transferSessionDescription": "Transfire a túa sesión actual ao navegador ou dispositivo facendo clic no botón de embaixo. Isto copiará unha ligazón cara a unha páxina que transferirá a túa sesión cando se abra no navegador ou dispositivo de destino.",
"index.createOpenPad": "Abrir un documento por nome",
"index.openPad": "abrir un documento existente co nome:",
"index.recentPads": "Documentos recentes",

View file

@ -42,6 +42,18 @@
"admin_settings.current_save.value": "שמירת הגדרות",
"admin_settings.page-title": "הגדרות - Etherpad",
"index.newPad": "פנקס חדש",
"index.settings": "הגדרות",
"index.transferSessionTitle": "העברת הפעלה",
"index.receiveSessionTitle": "קבלת הפעלה",
"index.receiveSessionDescription": "כאן אפשר לקבל הפעלת Etherpad מדפדפן או מכשיר אחרים. נא לשים לב, שזה עלול למחוק את ההפעלה הנוכחית שלך, אם יש כזאת.",
"index.transferSession": "1. העברת הפעלה",
"index.transferSessionNow": "העברת הפעלה כעת",
"index.copyLink": "2. להעתיק קישור",
"index.copyLinkDescription": "לחיצה על הכפתור להלן תעתיק את הקישור ללוח הגזירים שלך.",
"index.copyLinkButton": "העתקת קישור ללוח",
"index.transferToSystem": "3. העתקת הפעלה למערכת חדשה",
"index.transferToSystemDescription": "יש לפתוח את הקישור שהועתק בדפדפן או מכשיר היעד כדי להעביר את ההפעלה שלך.",
"index.transferSessionDescription": "אפשר להעביר את ההתחברות הנוכחית שלך לדפדפן או למכשיר בלחיצה על הכפתור שלהלן. הפעולה הזאת תעתיק את הקישור לדף שיעביר את ההפעלה שלך כשייפתח בדפדפן או מכשיר היעד.",
"index.createOpenPad": "פתיחת פנקס לפי שם",
"index.openPad": "פתיחת פנקס קיים עם השם:",
"index.recentPads": "פנקסים אחרונים",

View file

@ -38,6 +38,18 @@
"admin_settings.current_save.value": "Nastajenja składować",
"admin_settings.page-title": "Nastajenja Etherpad",
"index.newPad": "Nowy zapisnik",
"index.settings": "Nastajenja",
"index.transferSessionTitle": "Posedźenje přenošować",
"index.receiveSessionTitle": "Posedźenje přijeć",
"index.receiveSessionDescription": "Tu móžeš posedźenje Etherpad z druheho wobhladowaka abo grata přijeć. Prošu dźiwaj na to, zo to waše aktualne posedźenje zhaša, jeli tajke eksistuje.",
"index.transferSession": "1. Posedźenje přenošować",
"index.transferSessionNow": "Posedźenje nětko přenošować",
"index.copyLink": "2. Wotkaz kopěrować",
"index.copyLinkDescription": "Klikń na slědowace tłóčatko, zo by wotkaz do mjezyskłada kopěrował.",
"index.copyLinkButton": "Wotkaz do mjezyskłada kopěrować",
"index.transferToSystem": "3. Posedźenje do noweho systema kopěrować",
"index.transferToSystemDescription": "Wočiń kopěrowany wotkaz w cilowym wobhladowaku abo graće, zo by swoje posedźenje přenošował.",
"index.transferSessionDescription": "Klikń na slědowace tłóčatko, zo by swoje aktualne posedźenje do wobhladowaka abo grata přenošował. To budźe wotkaz do strony kopěrować, kotraž budźe waše posedźenje přenošować, hdyž so w cilowym wobhladowaku abo graće wočinja.",
"index.createOpenPad": "Zapisnik po mjenje wočinić",
"index.openPad": "wočińće eksistowacy Pad z mjenom:",
"index.recentPads": "Najnowše zapisniki",

View file

@ -6,11 +6,12 @@
"Bennylin",
"IvanLanin",
"Marwan Mohamad",
"Penyuwangi",
"Veracious"
]
},
"admin.page-title": "Dasbor Pengurus - Etherpad",
"admin_plugins": "Manajer plugin",
"admin_plugins": "Pengelola plugin",
"admin_plugins.available": "Plugin yang tersedia",
"admin_plugins.available_not-found": "Tidak ada plugin yang ditemukan.",
"admin_plugins.available_fetching": "Mengambil…",
@ -23,12 +24,12 @@
"admin_plugins.installed_uninstall.value": "Uninstal",
"admin_plugins.last-update": "Pembaruan terakhir",
"admin_plugins.name": "Nama",
"admin_plugins.page-title": "Manajer plugin - Etherpad",
"admin_plugins.page-title": "Pengelola plugin - Etherpad",
"admin_plugins.version": "Versi",
"admin_plugins_info": "Informasi penelusuran masalah",
"admin_plugins_info.hooks": "Kait terpasang",
"admin_plugins_info.hooks_client": "Kait sisi klien",
"admin_plugins_info.hooks_server": "Kait sisi server",
"admin_plugins_info.hooks_server": "Kait sisi peladen",
"admin_plugins_info.parts": "Bagian terpasang",
"admin_plugins_info.plugins": "Plugin terpasang",
"admin_plugins_info.page-title": "Informasi plugin - Etherpad",
@ -106,21 +107,21 @@
"pad.modals.initsocketfail": "Peladen tidak dapat dihubungi.",
"pad.modals.initsocketfail.explanation": "Peladen sinkronisasi tidak dapat dihubungi.",
"pad.modals.initsocketfail.cause": "Ini mungkin disebabkan oleh masalah dengan peramban atau sambungan internet Anda.",
"pad.modals.slowcommit.explanation": "Peladen tidak merespons.",
"pad.modals.slowcommit.explanation": "Peladen tidak menanggapi.",
"pad.modals.slowcommit.cause": "Ini mungkin disebabkan oleh masalah dengan sambungan jaringan Anda.",
"pad.modals.badChangeset.explanation": "Suntingan yang Anda lakukan dianggap ilegal oleh server sinkronisasi.",
"pad.modals.badChangeset.cause": "Hal ini mungkin disebabkan oleh konfigurasi peladen salah atau sesuatu perilaku yang tidak diperkirakan. Silahkan hubungi administrator Anda jika Anda merasakan ini adalah satu kesalahan. Coba sambungkan kembali untuk terus menyunting.",
"pad.modals.badChangeset.explanation": "Suntingan yang telah Anda buat digolongkan ilegal oleh peladen sinkronisasi.",
"pad.modals.badChangeset.cause": "Ini mungkin disebabkan oleh konfigurasi peladen salah atau perilaku tak terduga lainnya. Harap hubungi pengurus layanan Anda jika Anda merasakan ini adalah satu kesalahan. Coba sambungkan kembali untuk terus menyunting.",
"pad.modals.corruptPad.explanation": "Pad yang Anda coba akses telah korup.",
"pad.modals.corruptPad.cause": "Hal ini mungkin disebabkan oleh konfigurasi peladen salah atau sesuatu perilaku yang tidak diperkirakan. Silahkan hubungi administrator Anda jika Anda merasakan ini adalah satu kesalahan.",
"pad.modals.corruptPad.cause": "Ini mungkin disebabkan oleh konfigurasi peladen salah atau perilaku tak terduga lainnya. Harap hubungi pengurus layanan.",
"pad.modals.deleted": "Dihapus",
"pad.modals.deleted.explanation": "Pad ini telah dibuang.",
"pad.modals.rateLimited": "Laju Dibatasi.",
"pad.modals.rateLimited.explanation": "Anda mengirim terlalu banyak pesan ke pad ini sehingga itu memutus Anda.",
"pad.modals.rejected.explanation": "Server menolak suatu pesan yang dikirim oleh peramban Anda.",
"pad.modals.rejected.cause": "Server mungkin telah diperbarui ketika Anda sedang melihat pad, atau mungkin ada bug dalam Etherpad. Cobalah memuat ulang halaman.",
"pad.modals.rejected.explanation": "Peladen menolak suatu pesan yang dikirim oleh peramban Anda.",
"pad.modals.rejected.cause": "Peladen mungkin telah diperbarui ketika Anda sedang melihat pad, atau mungkin ada kekutu dalam Etherpad. Coba muat ulang halaman.",
"pad.modals.disconnected": "Sambungan Anda telah diputuskan.",
"pad.modals.disconnected.explanation": "Sambungan ke peladen terputus",
"pad.modals.disconnected.cause": "Peladen ini mungkin tidak tersedia. Silakan beritahu administrator jika masalah ini berkelanjutan.",
"pad.modals.disconnected.cause": "Peladen ini mungkin tak tersedia. Silakan beritahukan pengurus jika masalah ini berlanjut.",
"pad.share": "Bagikan pad ini",
"pad.share.readonly": "Baca saja",
"pad.share.link": "Pranala",
@ -169,6 +170,6 @@
"pad.impexp.uploadFailed": "Penunggahan gagal, silakan mencoba lagi",
"pad.impexp.importfailed": "Impor gagal",
"pad.impexp.copypaste": "Silahkan salin tempel",
"pad.impexp.exportdisabled": "Mengekspor dalam format {{type}} dilarang. Silakan hubungi administrator untuk detilnya.",
"pad.impexp.maxFileSize": "Berkas terlalu besar. Hubungi administrator situs Anda untuk menaikkan ukuran berkas yang diizinkan untuk impor"
"pad.impexp.exportdisabled": "Mengekspor dalam format {{type}} dimatikan. Silakan hubungi pengurus sistem Anda untuk rincian.",
"pad.impexp.maxFileSize": "Berkas terlalu besar. Hubungi pengurus situs Anda untuk menaikkan ukuran berkas yang diizinkan untuk impor"
}

View file

@ -3,6 +3,7 @@
"authors": [
"Ajeje Brazorf",
"Albano",
"Ayub Abdulla",
"Beta16",
"Gianfranco",
"Jack",
@ -47,6 +48,18 @@
"admin_settings.current_save.value": "Salva impostazioni",
"admin_settings.page-title": "Impostazioni - Etherpad",
"index.newPad": "Nuovo pad",
"index.settings": "Impostazioni",
"index.transferSessionTitle": "Sessione di trasferimento",
"index.receiveSessionTitle": "Ricevi sessione",
"index.receiveSessionDescription": "Qui puoi ricevere una sessione Etherpad da un altro browser o dispositivo. Tieni presente, tuttavia, che questa operazione eliminerà la sessione corrente, se presente.",
"index.transferSession": "1. Sessione di trasferimento",
"index.transferSessionNow": "Trasferisci sessione ora",
"index.copyLink": "2. Copia il collegamento",
"index.copyLinkDescription": "Clicca sul pulsante qui sotto per copiare il link negli appunti.",
"index.copyLinkButton": "Copia link negli appunti",
"index.transferToSystem": "3. Copia la sessione sul nuovo sistema",
"index.transferToSystemDescription": "Apri il collegamento copiato nel browser o nel dispositivo di destinazione per trasferire la sessione",
"index.transferSessionDescription": "Trasferisci la tua sessione corrente al browser o al dispositivo cliccando sul pulsante qui sotto. Verrà copiato un link a una pagina che trasferirà la tua sessione quando verrà aperta nel browser o dispositivo di destinazione.",
"index.createOpenPad": "Apri pad per nome",
"index.openPad": "apri un Pad esistente col nome:",
"index.recentPads": "Pad recenti",

View file

@ -19,6 +19,9 @@
"admin_settings.current_save.value": "Astellunge späicheren",
"admin_settings.page-title": "Astellungen - Etherpad",
"index.newPad": "Neie Pad",
"index.settings": "Astellungen",
"index.copyLink": "2. Link kopéieren",
"index.copyLinkButton": "Link an den Tëschespäicher kopéieren",
"index.createOpenPad": "oder maacht ee Pad mat dësem Numm op:",
"pad.toolbar.bold.title": "Fett (Strg-B)",
"pad.toolbar.italic.title": "Schréi (Ctrl+I)",

View file

@ -1,61 +0,0 @@
{
"@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

@ -40,13 +40,25 @@
"admin_settings.current_save.value": "Зачувај нагодувања",
"admin_settings.page-title": "Нагодувања — Etherpad",
"index.newPad": "Нова тетратка",
"index.settings": "Нагодувања",
"index.transferSessionTitle": "Префрли седница",
"index.receiveSessionTitle": "Прими седница",
"index.receiveSessionDescription": "Тука можете да примите седница на Etherpad од друг прелистувач или уред. Но имајте на ум дека ова ќе ја избрише вашата тековна седница, ако ја има.",
"index.transferSession": "1. Префрли седница",
"index.transferSessionNow": "Префрли седница сега",
"index.copyLink": "2. Копирај врска",
"index.copyLinkDescription": "Стиснете на копчето подолу за да ја прекопирајте врската во вашиот меѓусклад",
"index.copyLinkButton": "Копирај врска во меѓускладот",
"index.transferToSystem": "3. Копирај седница во нов систем",
"index.transferToSystemDescription": "Отворете ја ископираната врска во целниот прелистувач или уред за да ја префрлите вашата седница.",
"index.transferSessionDescription": "Префрлете ја вашата тековна седница на прелистувач или уред стискајќи на копчето подолу. Ова ќе ја прекопира врската во страница која ќе ви ја префрли седницата кога ќе се отвори во целниот прелистувач или уред.",
"index.createOpenPad": "Отвори тетратка по име",
"index.openPad": "отвори постоечка тетратка наречена:",
"index.recentPads": "Скорешни тетратки",
"index.recentPadsEmpty": "Не најдов скорешни тетратки.",
"index.generateNewPad": "Создај случајно име на тетратка",
"index.labelPad": "Име на тетратка (незадолжително)",
"index.placeholderPadEnter": "Внесете го името на тетратката...",
"index.placeholderPadEnter": "Внесете име на тетратката...",
"index.createAndShareDocuments": "Создавајте и споделувајте документи во живо",
"index.createAndShareDocumentsDescription": "Etherpad ви овозможува соработно уредување на документи во живо, слично како уредувачот за повеќе играчи во живо што работи во вашиот пречистувач.",
"pad.toolbar.bold.title": "Задебелено (Ctrl-B)",

View file

@ -13,7 +13,9 @@
},
"admin_plugins.description": "विवरण",
"admin_plugins.name": "नाम",
"admin_plugins.version": "संस्करण",
"index.newPad": "नयाँ प्याड",
"index.settings": "अभिरुचिहरू",
"index.createOpenPad": "नाम सहितको नयाँ प्याड सिर्जना गर्ने / खोल्ने :",
"pad.toolbar.bold.title": "मोटो (Ctrl-B)",
"pad.toolbar.italic.title": "ढल्के (Ctrl-I)",
@ -25,13 +27,13 @@
"pad.toolbar.unindent.title": "आउटडेन्ट (Shift+TAB)",
"pad.toolbar.undo.title": "रद्द (Ctrl-Z)",
"pad.toolbar.redo.title": "पुन:लागु (Ctrl-Y)",
"pad.toolbar.clearAuthorship.title": "लेखकीय रङ्ग हटाउने (Ctrl+Shift+C)",
"pad.toolbar.clearAuthorship.title": "लेखकत्व रङहरू खाली गर्नुहोस् (Ctrl + Shift + C)",
"pad.toolbar.timeslider.title": "टाइमस्लाइडर",
"pad.toolbar.savedRevision.title": "पुनरावलोकन संग्रहगर्ने",
"pad.toolbar.settings.title": "अभिरुचिहरू",
"pad.toolbar.embed.title": "यस प्याडलाई बाड्ने या इम्बेड गर्ने",
"pad.toolbar.showusers.title": "यस प्याडमा रहेका प्रयोगकर्ता देखाउने",
"pad.colorpicker.save": "सङ्ग्रह गर्न",
"pad.colorpicker.save": "सङ्ग्रह गर्नुहोस्",
"pad.colorpicker.cancel": "रद्द गर्नुहोस्",
"pad.loading": "खुल्दै छ…",
"pad.permissionDenied": "तपाईंलाई यो प्याड खोल्न अनुमति छैन",
@ -39,7 +41,7 @@
"pad.settings.myView": "मेरो दृष्य",
"pad.settings.stickychat": "पर्दामा सधै च्याट गर्ने",
"pad.settings.chatandusers": "वार्ता तथा प्रयोगकर्ताहरू देखाउने",
"pad.settings.colorcheck": "लेखकीय रङ्ग",
"pad.settings.colorcheck": "लेखकका रङहरू",
"pad.settings.linenocheck": "हरफ संख्या",
"pad.settings.rtlcheck": "के सामग्री दाहिने देखि देब्रे पढ्ने हो ?",
"pad.settings.fontType": "लिपि प्रकार:",

View file

@ -52,6 +52,18 @@
"admin_settings.current_save.value": "Bewaar instellingen",
"admin_settings.page-title": "Instellingen - Etherpad",
"index.newPad": "Nieuwe notitie",
"index.settings": "Instellingen",
"index.transferSessionTitle": "Sessie overzetten",
"index.receiveSessionTitle": "Sessie ontvangen",
"index.receiveSessionDescription": "Hier kunt u een Etherpad-sessie ontvangen vanaf een andere browser of een ander apparaat. Houd er echter rekening mee dat hiermee uw huidige sessie, indien aanwezig, wordt verwijderd.",
"index.transferSession": "1. Sessie overzetten",
"index.transferSessionNow": "Sessie nu overzetten",
"index.copyLink": "2. Koppeling kopiëren",
"index.copyLinkDescription": "Klik op de onderstaande knop om de koppeling naar uw klembord te kopiëren.",
"index.copyLinkButton": "Koppeling naar klembord kopiëren",
"index.transferToSystem": "3. Kopieer de sessie naar het nieuwe systeem",
"index.transferToSystemDescription": "Open de gekopieerde koppeling in de doelbrowser of het doelapparaat om uw sessie over te zetten.",
"index.transferSessionDescription": "Zet uw huidige sessie over naar uw browser of apparaat door op de onderstaande knop te klikken. Hiermee wordt een koppeling naar een pagina gekopieerd die uw sessie overzet wanneer deze in de gewenste browser of op het gewenste apparaat wordt geopend.",
"index.createOpenPad": "Open een notitie met de naam",
"index.openPad": "open een bestaande notitie met de naam:",
"index.recentPads": "Recente notities",

View file

@ -40,7 +40,7 @@
"pad.toolbar.showusers.title": "ਇਸ ਫੱਟੀ ਉੱਤੇ ਵਰਤੋਂਕਾਰ ਵਿਖਾਓ",
"pad.colorpicker.save": "ਸੰਭਾਲੋ",
"pad.colorpicker.cancel": "ਰੱਦ ਕਰੋ",
"pad.loading": "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
"pad.loading": "ਲੱਦ ਰਿਹਾ ਏ...",
"pad.noCookie": "ਕੂਕੀਜ਼ ਨਹੀਂ ਲੱਭੀਅਾਂ। ਕਿਰਪਾ ਕਰਕੇ ਬ੍ਰਾੳੂਜ਼ਰ ਵਿੱਚ ਕੂਕੀਜ਼ ਲਾਗੂ ਕਰੋ।",
"pad.permissionDenied": "ਇਹ ਪੈਡ ਵਰਤਨ ਲਈ ਤੁਹਾਨੂੰ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ",
"pad.settings.padSettings": "ਪੈਡ ਸੈਟਿੰਗ",
@ -65,9 +65,10 @@
"pad.importExport.exportpdf": "PDF",
"pad.importExport.exportopen": "ODF (ਓਪਨ ਡੌਕੂਮੈਂਟ ਫਾਰਮੈਟ)",
"pad.importExport.abiword.innerHTML": "ਤੁਸੀਂ ਸਿਰਫ਼ ਸਾਦੀਆਂ ਲਿਖਤੀ ਜਾਂ ਐੱਚ.ਟੀ.ਐੱਮ.ਐੱਲ. ਰੂਪ-ਰੇਖਾਵਾਂ ਤੋਂ ਦਰਾਮਦ ਕਰ ਸਕਦੇ ਹੋ। ਹੋਰ ਉੱਨਤ ਦਰਾਮਦੀ ਗੁਣਾਂ ਵਾਸਤੇ ਮਿਹਰਬਾਨੀ ਕਰਕੇ <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-in-Ubuntu-or-OpenSuse-or-SLES-with-AbiWord\">ਐਬੀਵਰਡ ਥਾਪੋ</a>।",
"pad.modals.connected": "ਕੁਨੈਕਟ ਹੈ।",
"pad.modals.connected": "ਜੁੜਿਆ ਹੋਇਆ।",
"pad.modals.reconnecting": "..ਤੁਹਾਡੇ ਪੈਡ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
"pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਕੁਨੈਕਟ ਕਰੋ",
"pad.modals.forcereconnect": "ਧੱਕੇ ਨਾਲ ਮੁੜ-ਜੁੜੋ",
"pad.modals.reconnecttimer": "ਮੁਡ਼ ਜੋੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾ ਰਹੀ ਏ",
"pad.modals.cancel": "ਰੱਦ ਕਰੋ",
"pad.modals.userdup": "ਹੋਰ ਵਿੰਡੋ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਹੈ",
"pad.modals.userdup.explanation": "ਇਹ ਪੈਡ ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ ਇੱਕ ਤੋਂ ਵੱਧ ਫਰੋਲੂ ਬਾਰੀ ਵਿੱਚ ਖੁੱਲ੍ਹਿਆ ਜਾਪਦਾ ਹੈ।",
@ -91,7 +92,7 @@
"pad.modals.disconnected.explanation": "ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋਇਆ ਹੈ",
"pad.modals.disconnected.cause": "ਸਰਵਰ ਨਾਮੌਜੂਦ ਹੋ ਸਕਦਾ ਹੈ। ਜੇਕਰ ਇਹ ਹੁੰਦਾ ਰਹੇ ਤਾਂ ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਸੇਵਾ ਪ੍ਰਬੰਧਕ ਨੂੰ ਖ਼ਬਰ ਕਰੋ।",
"pad.share": "ਇਹ ਪੈਡ ਸਾਂਝਾ ਕਰੋ",
"pad.share.readonly": "ਕੇਵਲ ਪੜ੍ਹਨ ਲਈ",
"pad.share.readonly": "ਸਿਰਫ਼ ਪੜ੍ਹਨ ਲਈ",
"pad.share.link": "ਕੜੀ",
"pad.share.emebdcode": "ਇੰਬੈੱਡ URL",
"pad.chat": "ਗੱਲਬਾਤ",
@ -104,7 +105,7 @@
"timeslider.toolbar.authorsList": "ਕੋਈ ਲੇਖਕ ਨਹੀਂ",
"timeslider.toolbar.exportlink.title": "ਬਰਾਮਦ",
"timeslider.exportCurrent": "ਮੌਜੂਦਾ ਵਰਜਨ ਇੰਝ ਐਕਸਪੋਰਟ ਕਰੋ:",
"timeslider.version": "ਵਰਜ਼ਨ {{version}}",
"timeslider.version": "ਰੂਪ {{version}}",
"timeslider.saved": "{{day}} {{month}} {{year}} ਨੂੰ ਸੰਭਾਲਿਆ",
"timeslider.playPause": "ਪੈਡ ਸਮੱਗਰੀ ਚਲਾਓ / ਵਿਰਾਮ ਕਰੋ",
"timeslider.backRevision": "ਇਸ ਪੈਡ ਵਿੱਚ ਪਿਛਲੇ ਰੀਵਿਜ਼ਨ ਤੇ ਜਾਓ",
@ -129,7 +130,7 @@
"pad.userlist.unnamed": "ਬੇਨਾਮ",
"pad.editbar.clearcolors": "ਪੂਰੇ ਦਸਾਤਵੇਜ਼ ਉੱਤੇ ਪਰਮਾਣਕਿਤਾ ਰੰਗ ਸਾਫ਼ ਕਰਨੇ ਹਨ?",
"pad.impexp.importbutton": "ਹੁਣੇ ਦਰਾਮਦ ਕਰੋ",
"pad.impexp.importing": "...ਇੰਪੋਰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
"pad.impexp.importing": "ਦਰਾਮਦ ਜਾਰੀ ਏ...",
"pad.impexp.confirmimport": "ਕੋਈ ਫ਼ਾਈਲ ਦਰਾਮਦ ਕਾਰਨ ਨਾਲ਼ ਪੈਡ ਦੀ ਮੌਜੂਦਾ ਲਿਖਤ ਉੱਤੇ ਲਿਖਿਆ ਜਾਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਸੱਚੀਂ ਇਹ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?",
"pad.impexp.convertFailed": "ਅਸੀਂ ਇਸ ਫ਼ਾਈਲ ਦੀ ਦਰਾਮਦ ਨਹੀਂ ਕਰ ਸਕੇ। ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਕੋਈ ਵੱਖਰੀ ਦਸਤਾਵੇਜ਼ੀ ਰੂਪ-ਰੇਖਾ ਵਰਤੋ ਜਾਂ ਹੱਥੀਂ ਨਕਲ-ਚੇਪੀ ਕਰੋ।",
"pad.impexp.padHasData": "ਅਸੀ ਇਸ ਫਾਈਲ ਨੂੰ ਦਰਾਮਦ ਨਹੀੰ ਕਰ ਸਕੇ ਕਿਉੰਕਿ ਇਸ ਕਾਗਜ਼ ਉੱਤੇ ਪਹਿਲਾਂ ਹੀ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾ ਚੁਕੀਆਂ ਹਨ, ਕਿਰਪਾ ਕਰਕੇ ਨਵੇਂ ਕਾਗਜ਼ ਵਿਚ ਦਰਾਮਦ ਕਰੋ",

View file

@ -11,6 +11,7 @@
"Rezonansowy",
"Teeed",
"Ty221",
"Usagi.02808",
"WTM",
"WaldiSt",
"Woytecr"
@ -20,19 +21,42 @@
"admin_plugins": "Menedżer wtyczek",
"admin_plugins.available": "Dostępne wtyczki",
"admin_plugins.available_not-found": "Nie znaleziono żadnych wtyczek.",
"admin_plugins.available_fetching": "Pobieranie...",
"admin_plugins.available_install.value": "Instaluj",
"admin_plugins.available_search.placeholder": "Wyszukaj wtyczki do zainstalowania",
"admin_plugins.description": "Opis",
"admin_plugins.installed": "Zainstalowane wtyczki",
"admin_plugins.installed_fetching": "Pobieranie zainstalowanych wtyczek…",
"admin_plugins.installed_nothing": "Nie zainstalowałeś jeszcze żadnych wtyczek.",
"admin_plugins.installed_uninstall.value": "Odinstaluj",
"admin_plugins.last-update": "Ostatnia aktualizacja",
"admin_plugins.name": "Nazwa",
"admin_plugins.page-title": "Menedżer wtyczek - Etherpad",
"admin_plugins.version": "Wersja",
"admin_plugins_info": "Informacje dotyczące rozwiązywania problemów",
"admin_plugins_info.parts": "Zainstalowane części",
"admin_plugins_info.plugins": "Zainstalowane wtyczki",
"admin_plugins_info.page-title": "Informacje o wtyczkach - Etherpad",
"admin_plugins_info.version": "Wersja Etherpada",
"admin_plugins_info.version_latest": "Najnowsza dostępna wersja",
"admin_plugins_info.version_number": "Numer wersji",
"admin_settings": "Ustawienia",
"admin_settings.current": "Obecna konfiguracja",
"admin_settings.current_example-devel": "Przykładowy szablon ustawień deweloperskich",
"admin_settings.current_example-prod": "Przykładowy szablon ustawień produkcyjnych",
"admin_settings.current_restart.value": "Zrestartuj Etherpad",
"admin_settings.current_save.value": "Zapisz ustawienia",
"admin_settings.page-title": "Ustawienia - Etherpad",
"index.newPad": "Nowy dokument",
"index.createOpenPad": "lub stwórz/otwórz dokument o nazwie:",
"index.createOpenPad": "Otwórz dokument znając nazwę",
"index.openPad": "otwórz istniejący dokument o nazwie:",
"index.recentPads": "Ostatnie dokumenty",
"index.recentPadsEmpty": "Nie znaleziono ostatnio używanych dokumentów.",
"index.generateNewPad": "Wygeneruj losową nazwę dokumentu",
"index.labelPad": "Nazwa dokumentu (opcjonalna)",
"index.placeholderPadEnter": "Proszę wpisać nazwę dokumentu...",
"index.createAndShareDocuments": "Twórz i udostępniaj dokumenty w czasie rzeczywistym",
"index.createAndShareDocumentsDescription": "Etherpad umożliwia wspólną edycję dokumentów w czasie rzeczywistym, podobnie jak edytor wieloosobowy działający w przeglądarce.",
"pad.toolbar.bold.title": "Pogrubienie (Ctrl-B)",
"pad.toolbar.italic.title": "Kursywa (Ctrl-I)",
"pad.toolbar.underline.title": "Podkreślenie (Ctrl-U)",
@ -49,6 +73,7 @@
"pad.toolbar.savedRevision.title": "Zapisz wersję",
"pad.toolbar.settings.title": "Ustawienia",
"pad.toolbar.embed.title": "Podziel się i osadź ten dokument",
"pad.toolbar.home.title": "Wróć do strony głównej",
"pad.toolbar.showusers.title": "Pokaż użytkowników",
"pad.colorpicker.save": "Zapisz",
"pad.colorpicker.cancel": "Anuluj",
@ -65,6 +90,8 @@
"pad.settings.fontType": "Rodzaj czcionki:",
"pad.settings.fontType.normal": "Normalna",
"pad.settings.language": "Język:",
"pad.settings.deletePad": "Usuń dokument",
"pad.delete.confirm": "Czy na pewno chcesz usunąć ten dokument?",
"pad.settings.about": "O aplikacji",
"pad.settings.poweredBy": "Dostarczane przez $1",
"pad.importExport.import_export": "Import/eksport",
@ -101,6 +128,8 @@
"pad.modals.corruptPad.cause": "Może być to spowodowane złą konfiguracją serwera lub innym nieoczekiwanym zachowaniem. Skontaktuj się z administratorem serwisu.",
"pad.modals.deleted": "Usunięto.",
"pad.modals.deleted.explanation": "Ten dokument został usunięty.",
"pad.modals.rateLimited.explanation": "Wysłano za dużo wiadomości w tym dokumencie, dlatego nastąpiło rozłączenie.",
"pad.modals.rejected.cause": "Serwer mógł zostać zaktualizowany podczas przeglądania panelu lub wystąpił błąd w Etherpadzie. Spróbuj odświeżyć stronę.",
"pad.modals.disconnected": "Zostałeś rozłączony.",
"pad.modals.disconnected.explanation": "Utracono połączenie z serwerem",
"pad.modals.disconnected.cause": "Serwer może być niedostępny. Poinformuj administratora serwisu jeżeli problem będzie się powtarzał.",
@ -111,8 +140,9 @@
"pad.chat": "Czat",
"pad.chat.title": "Otwórz czat dla tego dokumentu.",
"pad.chat.loadmessages": "Załaduj więcej wiadomości",
"pad.chat.stick.title": "Przyklej czat do ekranu",
"pad.chat.stick.title": "Przypnij czat do ekranu",
"pad.chat.writeMessage.placeholder": "Napisz swoją wiadomość tutaj",
"timeslider.followContents": "Śledź aktualizacje zawartości dokumentu",
"timeslider.pageTitle": "Oś czasu {{appTitle}}",
"timeslider.toolbar.returnbutton": "Powróć do dokumentu",
"timeslider.toolbar.authors": "Autorzy:",

View file

@ -38,6 +38,18 @@
"admin_settings.current_save.value": "Argistré ij paràmeter",
"admin_settings.page-title": "Paràmeter - Etherpad",
"index.newPad": "Feuj neuv",
"index.settings": "Paràmeter",
"index.transferSessionTitle": "Tramudé la session",
"index.receiveSessionTitle": "Arsèive na session",
"index.receiveSessionDescription": "Ambelessì a peul arsèive na session Etherpad da n'àutr navigador o angign. Për piasì, ch'a armarca che, an tute le manere, sòn a dëscancelërà soa session corent, s'a-i na j'é.",
"index.transferSession": "1. Tramudé la session",
"index.transferSessionNow": "Tramudé la session adess",
"index.copyLink": "2. Copié la liura",
"index.copyLinkDescription": "Ch'a sgnaca an sël boton sì-sota për copié la liura su soa taulëtta.",
"index.copyLinkButton": "Copié la liura an sla taulëtta",
"index.transferToSystem": "3. Copié la session ant ël neuv sistema",
"index.transferToSystemDescription": "Duverté la liura copià ant ël navigador o angign ëd destinassion për tramudé soa session.",
"index.transferSessionDescription": "Tramudé soa session corenta a 'n navigador o n'angign an ësgnacand ël boton sota. Sòn a copiërà na liura a na pàgina che a tramudërà soa session cand a sarà duvertà ant ël navigador o l'angign ëd destinassion.",
"index.createOpenPad": "Duverté ël blochèt con sò nòm",
"index.openPad": "duverté un Pad esistent con ël nòm:",
"index.recentPads": "Blochèt recent",

View file

@ -6,12 +6,13 @@
"ImGelu",
"MSClaudiu",
"Minisarm",
"SZ475",
"Strainu",
"Wintereu"
]
},
"index.newPad": "Pad nou",
"index.createOpenPad": "sau creează/deschide un Pad cu numele:",
"index.createOpenPad": "Deschideți pad-ul după nume",
"index.openPad": "deschide un Pad existent cu numele:",
"pad.toolbar.bold.title": "Aldin (Ctrl + B)",
"pad.toolbar.italic.title": "Cursiv (Ctrl + I)",
@ -20,7 +21,7 @@
"pad.toolbar.ol.title": "Listă ordonată (Ctrl+Shift+N)",
"pad.toolbar.ul.title": "Listă neordonată (Ctrl+Shift+L)",
"pad.toolbar.indent.title": "Cursiv (TAB)",
"pad.toolbar.unindent.title": "Fără cursiv (Shift+TAB)",
"pad.toolbar.unindent.title": "Outdent (Shift+TAB)",
"pad.toolbar.undo.title": "Anulează (Ctrl+Z)",
"pad.toolbar.redo.title": "Refă (Ctrl+Y)",
"pad.toolbar.clearAuthorship.title": "Curăță culorile autorilor (Ctrl+Shift+C)",
@ -57,7 +58,7 @@
"pad.importExport.exportopen": "ODF (Open Document Format)",
"pad.importExport.abiword.innerHTML": "Puteți importa doar din format simplu sau HTML. Pentru funcții de import mai avansate, vă rugăm <a href=\"https://github.com/ether/etherpad-lite/wiki/How-to-enable-importing-and-exporting-different-file-formats-with-AbiWord\">instalați AbiWord sau LibreOffice</a>.",
"pad.modals.connected": "Conectat.",
"pad.modals.reconnecting": "Se reconectează la pad-ul dumneavoastră..",
"pad.modals.reconnecting": "Se reconectează la pad",
"pad.modals.forcereconnect": "Forțează reconectarea",
"pad.modals.reconnecttimer": "Încercați să vă reconectați în",
"pad.modals.cancel": "Anulează",

View file

@ -7,6 +7,7 @@
"Eleferen",
"Facenapalm",
"Kareyac",
"Lvova",
"MSClaudiu",
"Megakott",
"Movses",
@ -53,6 +54,18 @@
"admin_settings.current_save.value": "Сохранить настройки",
"admin_settings.page-title": "Настройки — Etherpad",
"index.newPad": "Создать",
"index.settings": "Настройки",
"index.transferSessionTitle": "Передача сеанса",
"index.receiveSessionTitle": "Приём сеанса",
"index.receiveSessionDescription": "Здесь вы можете принять сеанс Etherpad из другого браузера или устройства. Обратите внимание, что это удалит ваш текущий сеанс, если он есть.",
"index.transferSession": "1. Перенос сеанса",
"index.transferSessionNow": "Перенести сеанс сейчас",
"index.copyLink": "2. Скопировать ссылку",
"index.copyLinkDescription": "Нажмите на кнопку ниже, чтобы скопировать ссылку в буфер обмена.",
"index.copyLinkButton": "Скопировать в буфер обмена",
"index.transferToSystem": "3. Копировать сеанс в новую систему",
"index.transferToSystemDescription": "Откройте скопированную ссылку в нужном браузере или устройстве, чтобы перенести сеанс.",
"index.transferSessionDescription": "Перенесите текущий сеанс в браузер или на устройство, нажав кнопку ниже. Будет скопирована ссылка на страницу, которая перенесёт ваш сеанс при открытии в целевом браузере или на целевом устройстве.",
"index.createOpenPad": "Открыть документ по имени",
"index.openPad": "откройте существующий документ с именем:",
"index.recentPads": "Последние документы",

View file

@ -79,7 +79,7 @@
"pad.settings.about": "Mbi",
"pad.settings.poweredBy": "Bazuar në",
"pad.importExport.import_export": "Import/Eksport",
"pad.importExport.import": "Ngarko çdo skedar teksti ose dokument",
"pad.importExport.import": "Ngarkoni cilëndo kartelë tekst ose dokument",
"pad.importExport.importSuccessful": "Me sukses!",
"pad.importExport.export": "Eksportojeni bllokun e tanishëm si:",
"pad.importExport.exportetherpad": "Etherpad",

View file

@ -42,8 +42,27 @@
"admin_settings.current_save.value": "Spara inställningar",
"admin_settings.page-title": "Inställningar - Etherpad",
"index.newPad": "Nytt block",
"index.createOpenPad": "eller skapa/öppna ett block med namnet:",
"index.settings": "Inställningar",
"index.transferSessionTitle": "Överför session",
"index.receiveSessionTitle": "Ta emot session",
"index.receiveSessionDescription": "Här kan du ta emot en Etherpad-session från en annan webbläsare eller enhet. Observera att detta kommer att radera din aktuella session, om en sådan finns.",
"index.transferSession": "1. Överför session",
"index.transferSessionNow": "Överför session nu",
"index.copyLink": "2. Kopiera länk",
"index.copyLinkDescription": "Klicka på knappen nedan för att kopiera länken till urklipp.",
"index.copyLinkButton": "Kopiera länk till urklipp",
"index.transferToSystem": "3. Kopiera sessionen till det nya systemet",
"index.transferToSystemDescription": "Öppna den kopierade länken i målwebbläsaren eller -enheten för att överföra din session.",
"index.transferSessionDescription": "Överför din nuvarande session till webbläsaren eller enheten genom att klicka på knappen nedan. Detta kopierar en länk till en sida som överför din session när den öppnas i målwebbläsaren eller -enheten.",
"index.createOpenPad": "Öppna block med namn",
"index.openPad": "öppna ett befintligt block med namnet:",
"index.recentPads": "Senaste block",
"index.recentPadsEmpty": "Inga senaste block hittades.",
"index.generateNewPad": "Generera slumpat blocknamn",
"index.labelPad": "Blocknamn (valfritt)",
"index.placeholderPadEnter": "Ange ett blocknamn...",
"index.createAndShareDocuments": "Skapa och dela dokument i realtid",
"index.createAndShareDocumentsDescription": "Med Etherpad kan ni redigera dokument tillsammans i realtid, ungefär som en live-redigerare för flera spelare som körs i din webbläsare.",
"pad.toolbar.bold.title": "Fet (Ctrl+B)",
"pad.toolbar.italic.title": "Kursiv (Ctrl+I)",
"pad.toolbar.underline.title": "Understruken (Ctrl+U)",
@ -60,6 +79,7 @@
"pad.toolbar.savedRevision.title": "Spara version",
"pad.toolbar.settings.title": "Inställningar",
"pad.toolbar.embed.title": "Dela och bädda in detta block",
"pad.toolbar.home.title": "Tillbaka till hemsidan",
"pad.toolbar.showusers.title": "Visa användarna på detta block",
"pad.colorpicker.save": "Spara",
"pad.colorpicker.cancel": "Avbryt",

View file

@ -50,7 +50,7 @@
"admin_settings.current_save.value": "Зберегти налаштування",
"admin_settings.page-title": "Налаштування — Etherpad",
"index.newPad": "Створити",
"index.createOpenPad": "або створити/відкрити документ з назвою:",
"index.createOpenPad": "Відкрити документ з іменем",
"index.openPad": "відкрити наявний документ з назвою:",
"pad.toolbar.bold.title": "Напівжирний (Ctrl-B)",
"pad.toolbar.italic.title": "Курсив (Ctrl-I)",

View file

@ -59,6 +59,18 @@
"admin_settings.current_save.value": "保存设置",
"admin_settings.page-title": "设置 - Etherpad",
"index.newPad": "新记事本",
"index.settings": "设置",
"index.transferSessionTitle": "转移会话",
"index.receiveSessionTitle": "接收会话",
"index.receiveSessionDescription": "您可以在此处从其他浏览器或设备接收Etherpad会话。但请注意这会删除您目前的会话如有。",
"index.transferSession": "1. 转移会话",
"index.transferSessionNow": "现在进行转移会话",
"index.copyLink": "2. 复制链接",
"index.copyLinkDescription": "点击下方按钮,将链接复制到剪贴板。",
"index.copyLinkButton": "复制链接到剪贴板",
"index.transferToSystem": "3. 将会话复制到新系统",
"index.transferToSystemDescription": "在目标浏览器或设备上打开复制的链接,即可转移您的会话。",
"index.transferSessionDescription": "点击下方按钮,即可将目前的会话转移到浏览器或设备。这将复制一个指向某页面的链接,当该页面在目标浏览器或设备上打开时,将会转移您的会话。",
"index.createOpenPad": "按名称打开记事本",
"index.openPad": "打开一个现有的记事本,名称为:",
"index.recentPads": "最近的记事本",

View file

@ -48,13 +48,25 @@
"admin_settings.current_save.value": "儲存設定",
"admin_settings.page-title": "設定 - Etherpad",
"index.newPad": "新記事本",
"index.settings": "設定",
"index.transferSessionTitle": "轉移連線階段",
"index.receiveSessionTitle": "接收連線階段",
"index.receiveSessionDescription": "您可以在此處從其他瀏覽器或裝置接收 Etherpad 的連線階段。但請留意,這會刪除您目前的連線階段(如有)。",
"index.transferSession": "1. 轉移連線階段",
"index.transferSessionNow": "現在進行轉移連線階段",
"index.copyLink": "2. 複製連結",
"index.copyLinkDescription": "點擊下方按鈕,將連結複製到您的剪貼簿。",
"index.copyLinkButton": "複製連結到剪貼簿",
"index.transferToSystem": "3. 將連線階段複製到新系統",
"index.transferToSystemDescription": "在目標瀏覽器或裝置上開啟複製的連結,即可轉移您的連線階段。",
"index.transferSessionDescription": "點擊下方按鈕,即可將您目前的連線階段轉移到瀏覽器或裝置。這將複製一個指向到一個頁面的連結,當該頁面在目標瀏覽器或設備上打開時,會轉移您的連線階段。",
"index.createOpenPad": "依照名稱開啟記事本",
"index.openPad": "開啟一個現有的記事本,名稱為:",
"index.recentPads": "近期記事本",
"index.recentPadsEmpty": "找不到近期的記事本。",
"index.generateNewPad": "產生隨機記事本名稱",
"index.labelPad": "記事本名稱(可選)",
"index.placeholderPadEnter": "輸入記事本名稱…",
"index.placeholderPadEnter": "輸入記事本名稱…",
"index.createAndShareDocuments": "即時建立和共享文件",
"index.createAndShareDocumentsDescription": "Etherpad 允許您即時協作編輯文件,就像在瀏覽器中運作的即時多人編輯器一樣。",
"pad.toolbar.bold.title": "粗體Ctrl+B",
@ -78,7 +90,7 @@
"pad.colorpicker.save": "儲存",
"pad.colorpicker.cancel": "取消",
"pad.loading": "載入中...",
"pad.noCookie": "無法找到 Cookie。請在您的瀏覽器中允許cookie您的 session 和設定未在訪問期間保存下來。這可能是由於 Etherpad 包含在某些瀏覽器的 iFrame 中。請確保 Etherpad 與父層級 iFrame 位於同一子網域/網域中",
"pad.noCookie": "無法找到 Cookie。請在您的瀏覽器中允許 cookie您的連線階段和設定未在訪問期間保存下來。這可能是由於 Etherpad 包含在某些瀏覽器的 iFrame 中。請確保 Etherpad 與父層級 iFrame 位於同一子網域/網域中",
"pad.permissionDenied": "你沒有存取這個記事本的權限",
"pad.settings.padSettings": "記事本設定",
"pad.settings.myView": "我的視窗",

View file

@ -94,14 +94,25 @@ exports.socketio = () => {
const sessioninfos:MapArrayType<any> = {};
exports.sessioninfos = sessioninfos;
stats.gauge('totalUsers', () => socketio ? socketio.engine.clientsCount : 0);
stats.gauge('activePads', () => {
function getTotalActiveUsers() {
return socketio ? socketio.engine.clientsCount : 0;
}
exports.getTotalActiveUsers = getTotalActiveUsers;
function getActivePadCountFromSessionInfos() {
const padIds = new Set();
for (const {padId} of Object.values(sessioninfos)) {
if (!padId) continue;
padIds.add(padId);
}
return padIds.size;
}
exports.getActivePadCountFromSessionInfos = getActivePadCountFromSessionInfos;
stats.gauge('totalUsers', () => getTotalActiveUsers());
stats.gauge('activePads', () => {
return getActivePadCountFromSessionInfos();
});
/**

View file

@ -0,0 +1,45 @@
import {ArgsExpressType} from "../../types/ArgsExpressType";
const db = require('../../db/DB');
import crypto from 'crypto'
type TokenTransferRequest = {
token: string;
prefsHttp: string,
createdAt?: number;
}
const tokenTransferKey = "tokenTransfer:";
export const expressCreateServer = (hookName:string, {app}:ArgsExpressType) => {
app.post('/tokenTransfer', async (req, res) => {
const token = req.body as TokenTransferRequest;
if (!token || !token.token) {
return res.status(400).send({error: 'Invalid request'});
}
const id = crypto.randomUUID()
token.createdAt = Date.now();
await db.set(`${tokenTransferKey}:${id}`, token)
res.send({id});
})
app.get('/tokenTransfer/:token', async (req, res) => {
const id = req.params.token;
if (!id) {
return res.status(400).send({error: 'Invalid request'});
}
const tokenData = await db.get(`${tokenTransferKey}:${id}`);
if (!tokenData) {
return res.status(404).send({error: 'Token not found'});
}
const token = await db.get(`${tokenTransferKey}:${id}`)
res.cookie('token', tokenData.token, {path: '/', maxAge: 1000*60*60*24*365});
res.cookie('prefsHttp', tokenData.prefsHttp, {path: '/', maxAge: 1000*60*60*24*365});
res.send(token);
})
}

View file

@ -1,25 +1,38 @@
import client from 'prom-client'
const db = require('./db/DB').db
import client from 'prom-client';
const monitor = function () {
const collectDefaultMetrics = client.collectDefaultMetrics;
const Registry = client.Registry;
const register = new Registry();
collectDefaultMetrics({register});
const gaugeDB = new client.Gauge({
name: "ueberdb_stats",
help: "ueberdb stats",
labelNames: ['type'],
})
const db = require('./db/DB').db;
const PadMessageHandler = require('./handler/PadMessageHandler');
const register = new client.Registry();
const gaugeDB = new client.Gauge({
name: 'ueberdb_stats',
help: 'ueberdb stats',
labelNames: ['type'],
});
register.registerMetric(gaugeDB);
const totalUsersGauge = new client.Gauge({
name: 'etherpad_total_users',
help: 'Total number of users',
});
register.registerMetric(totalUsersGauge);
const activePadsGauge = new client.Gauge({
name: 'etherpad_active_pads',
help: 'Total number of active pads',
});
register.registerMetric(activePadsGauge);
client.collectDefaultMetrics({register});
const monitor = async function () {
for (const [metric, value] of Object.entries(db.metrics)) {
if (typeof value !== 'number') continue;
gaugeDB.set({type: metric}, value);
}
register.registerMetric(gaugeDB);
return register
activePadsGauge.set(PadMessageHandler.getActivePadCountFromSessionInfos());
totalUsersGauge.set(PadMessageHandler.getTotalActiveUsers());
return register;
};
export default monitor;

View file

@ -96,7 +96,7 @@ const State = {
let state = State.INITIAL;
const removeSignalListener = (signal: NodeJS.Signals, listener: NodeJS.SignalsListener) => {
const removeSignalListener = (signal: NodeJS.Signals, listener: any) => {
logger.debug(`Removing ${signal} listener because it might interfere with shutdown tasks. ` +
`Function code:\n${listener.toString()}\n` +
`Current stack:\n${new Error()!.stack!.split('\n').slice(1).join('\n')}`);

View file

@ -161,6 +161,7 @@ export type SettingsType = {
settingsFilename: string,
credentialsFilename: string,
title: string,
showRecentPads: boolean,
favicon: string | null,
ttl: {
AccessToken: number,
@ -303,6 +304,12 @@ const settings: SettingsType = {
* The app title, visible e.g. in the browser window
*/
title: 'Etherpad',
/**
* Whether to show recent pads on the homepage
*/
showRecentPads: true,
/**
* Pathname of the favicon you want to use. If null, the skin's favicon is
* used if one is provided by the skin, otherwise the default Etherpad favicon

View file

@ -31,49 +31,49 @@
],
"dependencies": {
"async": "^3.2.6",
"axios": "^1.12.1",
"axios": "^1.13.2",
"cookie-parser": "^1.4.7",
"cross-env": "^10.1.0",
"cross-spawn": "^7.0.6",
"ejs": "^3.1.10",
"esbuild": "^0.25.10",
"express": "^5.1.0",
"express-rate-limit": "^8.1.0",
"esbuild": "^0.27.2",
"express": "^5.2.1",
"express-rate-limit": "^8.2.1",
"express-session": "^1.18.2",
"find-root": "1.1.0",
"formidable": "^3.5.4",
"http-errors": "^2.0.0",
"jose": "^6.1.0",
"http-errors": "^2.0.1",
"jose": "^6.1.3",
"js-cookie": "^3.0.5",
"jsdom": "^27.0.0",
"jsdom": "^27.4.0",
"jsonminify": "0.4.2",
"jsonwebtoken": "^9.0.2",
"jsonwebtoken": "^9.0.3",
"jwt-decode": "^4.0.0",
"languages4translatewiki": "0.1.3",
"live-plugin-manager": "^1.1.0",
"lodash.clonedeep": "4.5.0",
"log4js": "^6.9.1",
"lru-cache": "^11.2.2",
"lru-cache": "^11.2.4",
"measured-core": "^2.0.0",
"mime-types": "^3.0.1",
"oidc-provider": "^9.5.1",
"mime-types": "^3.0.2",
"oidc-provider": "9.6.0",
"openapi-backend": "^5.15.0",
"prom-client": "^15.1.3",
"proxy-addr": "^2.0.7",
"rate-limiter-flexible": "^8.0.1",
"rate-limiter-flexible": "^9.0.1",
"rehype": "^13.0.2",
"rehype-minify-whitespace": "^6.0.2",
"resolve": "1.22.10",
"resolve": "1.22.11",
"rusty-store-kv": "^1.3.1",
"security": "1.0.0",
"semver": "^7.7.3",
"socket.io": "^4.8.1",
"socket.io-client": "^4.8.1",
"superagent": "10.2.3",
"socket.io": "^4.8.3",
"socket.io-client": "^4.8.3",
"superagent": "10.3.0",
"swagger-ui-express": "^5.0.1",
"tinycon": "0.6.8",
"tsx": "4.20.6",
"ueberdb2": "^5.0.22",
"tsx": "4.21.0",
"ueberdb2": "^5.0.23",
"underscore": "1.13.7",
"unorm": "1.6.0",
"wtfnode": "^0.10.1"
@ -83,14 +83,14 @@
"etherpad-lite": "node/server.ts"
},
"devDependencies": {
"@playwright/test": "^1.56.0",
"@playwright/test": "^1.57.0",
"@types/async": "^3.2.25",
"@types/cookie-parser": "^1.4.9",
"@types/cookie-parser": "^1.4.10",
"@types/cross-spawn": "^6.0.6",
"@types/ejs": "^3.1.5",
"@types/express": "^5.0.0",
"@types/express": "^5.0.6",
"@types/express-session": "^1.18.2",
"@types/formidable": "^3.4.5",
"@types/formidable": "^3.4.6",
"@types/http-errors": "^2.0.5",
"@types/jquery": "^3.5.33",
"@types/js-cookie": "^3.0.6",
@ -99,28 +99,28 @@
"@types/jsonwebtoken": "^9.0.10",
"@types/mime-types": "^3.0.1",
"@types/mocha": "^10.0.9",
"@types/node": "^24.7.0",
"@types/node": "^25.0.9",
"@types/oidc-provider": "^9.5.0",
"@types/semver": "^7.7.1",
"@types/sinon": "^17.0.3",
"@types/sinon": "^21.0.0",
"@types/supertest": "^6.0.2",
"@types/swagger-ui-express": "^4.1.8",
"@types/underscore": "^1.13.0",
"@types/whatwg-mimetype": "^3.0.2",
"chokidar": "^4.0.3",
"eslint": "^9.37.0",
"chokidar": "^5.0.0",
"eslint": "^9.39.2",
"eslint-config-etherpad": "^4.0.4",
"etherpad-cli-client": "^3.0.5",
"mocha": "^11.7.4",
"mocha": "^11.7.5",
"mocha-froth": "^0.2.10",
"nodeify": "^1.0.1",
"openapi-schema-validation": "^0.4.2",
"set-cookie-parser": "^2.7.1",
"sinon": "^21.0.0",
"set-cookie-parser": "^3.0.1",
"sinon": "^21.0.1",
"split-grid": "^1.0.11",
"supertest": "^7.1.3",
"supertest": "^7.2.2",
"typescript": "^5.9.3",
"vitest": "^3.2.4"
"vitest": "^4.0.17"
},
"engines": {
"node": ">=18.18.2",
@ -147,6 +147,6 @@
"debug:socketio": "cross-env DEBUG=socket.io* node --require tsx/cjs node/server.ts",
"test:vitest": "vitest"
},
"version": "2.5.1",
"version": "2.6.0",
"license": "Apache-2.0"
}

116
src/static/js/welcome.ts Normal file
View file

@ -0,0 +1,116 @@
const checkmark = '<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="3" stroke="currentColor"><path vector-effect="non-scaling-stroke" stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5"/></svg>';
function getCookie(name: string) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) { // @ts-ignore
return parts.pop().split(';').shift();
}
}
function handleTransferOfSession() {
const transferNowButton = document.querySelector('[data-l10n-id="index.transferSessionNow"]')! as HTMLButtonElement;
transferNowButton.addEventListener('click', async () => {
transferNowButton.style.display = 'inline-flex';
transferNowButton.style.alignItems = 'center';
transferNowButton.style.justifyContent = 'center';
transferNowButton.innerHTML = `${checkmark}`;
transferNowButton.disabled = true;
const responseWithId = await fetch("./tokenTransfer", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
prefsHttp: getCookie('prefsHttp'),
token: getCookie('token'),
})
})
const copyLinkSection = document.getElementById('copy-link-section')
if (!copyLinkSection) return;
copyLinkSection.style.display = 'block';
const copyButton = document.querySelector('#copy-link-section .btn-secondary') as HTMLButtonElement
const responseData = await responseWithId.json();
copyButton.addEventListener('click', async ()=>{
await navigator.clipboard.writeText(responseData.id);
copyButton.style.display = 'inline-flex';
copyButton.style.alignItems = 'center';
copyButton.style.justifyContent = 'center';
copyButton.innerHTML = `${checkmark}`;
copyButton.disabled = true;
})
});
}
const handleSettingsButtonClick = () => {
const settingsButton = document.querySelector('.settings-button')!;
const settingsDialog = document.getElementById('settings-dialog') as HTMLDialogElement;
let initialSettingsHtml: string;
settingsDialog.addEventListener('click', (e) => {
if (e.target === settingsDialog) {
settingsDialog.close();
settingsDialog.innerHTML = initialSettingsHtml;
handleMenuBarClicked();
handleTransferOfSession();
}
});
settingsButton.addEventListener('click', () => {
initialSettingsHtml = settingsDialog.innerHTML;
settingsDialog.showModal();
});
};
const handleMenuBarClicked = () => {
const menuBar = document.getElementById('button-bar')!;
menuBar.querySelectorAll('button').forEach((button, index)=>{
button.addEventListener('click', ()=>{
menuBar.querySelectorAll('button').forEach((btn)=>btn.classList.remove('active-btn'));
button.classList.add('active-btn');
const sections: NodeListOf<HTMLDivElement> = document.querySelectorAll('#settings-dialog > div');
sections.forEach((section, index)=>index >= 1 && (section.style.display = 'none'));
(sections[index +1] as HTMLElement).style.display = 'block';
});
})
const transferSessionButton = document.getElementById('transferSessionButton')
const codeInputField = document.getElementById('codeInput') as HTMLInputElement
if (transferSessionButton) {
transferSessionButton.addEventListener('click', ()=>{
const code = codeInputField.value
fetch("./tokenTransfer/"+code, {
method: 'GET'
})
.then(res => res.json())
.then(()=>{
window.location.reload()
})
});
}
if (codeInputField) {
codeInputField.addEventListener('input', (e)=>{
if ((e.target as HTMLInputElement).value?.length === 36) {
transferSessionButton?.removeAttribute('disabled');
} else {
transferSessionButton?.setAttribute('disabled', 'true');
}
})
}
}
window.addEventListener('load', () => {
handleSettingsButtonClick();
handleMenuBarClicked();
handleTransferOfSession();
});

View file

@ -1,3 +1,5 @@
@import url("./src/components/buttons.css");
:root {
--etherpad-color: #64d29b;
--etherpad-color-dark: #4a5d5c;
@ -100,7 +102,7 @@ h1 {
border-radius: 5px;
}
#button, #button:hover, #go2Name [type="submit"] {
#button, #button:hover, #go2Name [type="submit"], #transferSessionButton {
order: 2;
margin-top: 0.5rem;
line-height: 1.25rem;
@ -115,10 +117,14 @@ h1 {
cursor: pointer;
}
#go2Name [type="submit"]:hover {
#go2Name [type="submit"]:hover, #transferSessionButton {
background-color: oklch(52.7% 0.154 150.069)
}
#transferSessionButton:disabled {
opacity: 0.5;
}
#button, #button:hover {
order: 2;
}
@ -132,7 +138,7 @@ h1 {
}
#go2Name [type="submit"] {
#go2Name [type="submit"], #transferSessionButton {
display: block;
background-color: var(--ep-color);
color: white;
@ -234,10 +240,25 @@ a, a:visited, a:hover, a:active {
border-bottom-color: #e5e7eb;
}
#settings-dialog::backdrop {
background: rgba(0, 0, 0, 0.45);
backdrop-filter: blur(2px);
}
.card-content {
padding: 1.5rem;
}
#codeInput {
height: auto;
position: static;
border: 1px solid var(--muted-border);
border-radius: 0.375rem;
font-size: 1rem;
outline: none;
transition: border 0.2s;
}
@media (max-width: 640px) {
#inner {
max-width: 100%;

View file

@ -11,24 +11,25 @@ window.addEventListener('pageshow', (event) => {
});
window.customStart = () => {
document.getElementById('recent-pads').replaceChildren()
const recentPadList = document.getElementById('recent-pads');
if (recentPadList) {
recentPadList.replaceChildren();
}
// define your javascript here
// jquery is available - except index.js
// you can load extra scripts with $.getScript http://api.jquery.com/jQuery.getScript/
const divHoldingPlaceHolderLabel = document
.querySelector('[data-l10n-id="index.placeholderPadEnter"]');
.querySelector('[data-l10n-id="index.placeholderPadEnter"]');
const observer = new MutationObserver(() => {
document.querySelector('#go2Name input')
.setAttribute('placeholder', divHoldingPlaceHolderLabel.textContent);
.setAttribute('placeholder', divHoldingPlaceHolderLabel.textContent);
});
observer
.observe(divHoldingPlaceHolderLabel, {childList: true, subtree: true, characterData: true});
.observe(divHoldingPlaceHolderLabel, {childList: true, subtree: true, characterData: true});
const recentPadList = document.getElementById('recent-pads');
const parentStyle = recentPadList.parentElement.style;
const recentPadListHeading = document.querySelector('[data-l10n-id="index.recentPads"]');
const recentPadsFromLocalStorage = localStorage.getItem('recentPads');
let recentPadListData = [];
@ -38,18 +39,18 @@ window.customStart = () => {
// Remove duplicates based on pad name and sort by timestamp
recentPadListData = recentPadListData.filter(
(pad, index, self) =>
index === self.findIndex((p) => p.name === pad.name)
(pad, index, self) => index === self.findIndex((p) => p.name === pad.name)
).sort((a, b) => new Date(a.timestamp) > new Date(b.timestamp) ? -1 : 1);
if (recentPadListData.length === 0) {
if (recentPadList && recentPadListData.length === 0) {
const parentStyle = recentPadList.parentElement.style;
recentPadListHeading.setAttribute('data-l10n-id', 'index.recentPadsEmpty');
parentStyle.display = 'flex';
parentStyle.justifyContent = 'center';
parentStyle.alignItems = 'center';
parentStyle.maxHeight = '100%';
recentPadList.remove();
} else {
} else if (recentPadList) {
/**
* @typedef {Object} Pad
* @property {string} name

View file

@ -6,7 +6,6 @@ button, .btn
width: auto;
border: none;
font-weight: bold;
text-transform: uppercase;
position: relative;
background: none;
cursor: pointer;
@ -23,3 +22,36 @@ button, .btn
color: #485365;
color: var(--text-color);
}
/* Sekundär (outlined) */
.btn-secondary {
background: transparent;
color: #1f8a3e;
border: 2px solid #1f8a3e;
box-shadow: none;
}
.active-btn {
text-underline-offset: 10px;
text-decoration: underline;
text-decoration-style: solid;
text-decoration-thickness: 2px;
text-decoration-color: #1f8a3e;
cursor: pointer;
}
.btn-secondary:hover {
background: #1f8a3e;
color: #fff;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 1px 2px rgba(0,0,0,0.12);
transform: translateY(-1px);
}
.btn-secondary:disabled {
background: transparent;
color: #aaa;
border-color: #aaa;
box-shadow: none;
cursor: not-allowed;
}

View file

@ -33,7 +33,7 @@
background: -moz-linear-gradient(#fff,#ccc);
background: -ms-linear-gradient(#fff,#ccc);
background: -o-linear-gradient(#fff,#ccc);
box-shadow: 0px 1px 8px rgba(0,0,0,0.3);
box-shadow: 0 1px 8px rgba(0,0,0,0.3);
}
#inner {
position:relative;
@ -43,7 +43,6 @@
#button {
margin: 0 auto;
text-align: center;
font: 36px verdana,arial,sans-serif;
width:300px;
border:none;
color: white;
@ -76,10 +75,9 @@
display:block;
}
#padname{
height:38px;
max-width:280px;
}
form {
#go2Name {
height: 38px;
background: #fff;
border: 1px solid #bbb;
@ -106,20 +104,37 @@
button[type="submit"] {
position: absolute;
left:253px;
width: 45px;
height: 38px;
}
nav, .mission-statement, .pad-datalist {
display: none;
}
@media only screen and (min-device-width: 320px) and (max-device-width: 800px) {
.settings-button {
color: inherit;
border: none;
padding: 0;
font: inherit;
cursor: pointer;
outline: inherit;
}
#settings-dialog {
border: none;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
padding: 20px;
}
@media (min-device-width: 320px) and (min-device-width: 800px) {
body {
background: #bbb;
background: -webkit-linear-gradient(#aaa,#eee 60%) center fixed;
background: -moz-linear-gradient(#aaa,#eee 60%) center fixed;
background: -ms-linear-gradient(#aaa,#eee 60%) center fixed;
}
#settings-dialog {
max-width: 50%;
}
#wrapper {
margin-top: 0;
}
@ -140,9 +155,54 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text w-5 h-5 text-white"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>
</div>
<h1>Etherpad</h1>
<div style="flex-grow: 1"></div>
<button class="settings-button" aria-label="Settings">
<svg width="30px" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="settings-icon">
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
</svg>
</button>
</nav>
<!-- Settings menu-->
<dialog id="settings-dialog">
<div id="button-bar">
<button data-l10n-id="index.transferSessionTitle" class="active-btn"></button>
<button data-l10n-id="index.receiveSessionTitle"></button>
</div>
<div>
<!-- Initial link button -->
<h3 data-l10n-id="index.transferSession"></h3>
<div data-l10n-id="index.transferSessionDescription"></div>
<button type="button" class="btn-secondary" style="margin-top: 20px" data-l10n-id="index.transferSessionNow"></button>
<!-- Copy link button -->
<div style="display: none" id="copy-link-section">
<h3 data-l10n-id="index.copyLink"></h3>
<div data-l10n-id="index.copyLinkDescription"></div>
<button type="button" class="btn-secondary" style="margin-top: 20px" data-l10n-id="index.copyLinkButton"></button>
</div>
</div>
<div id="transfer-to-system-section" style="display: none; margin-top: 30px;">
<h3 data-l10n-id="index.transferToSystem"></h3>
<div data-l10n-id="index.transferToSystemDescription"></div>
<p data-l10n-id="index.receiveSessionDescription"></p>
<div>
<label for="codeInput" data-l10n-id="index.code"></label>
<input type="text" id="codeInput"/>
</div>
<button data-l10n-id="index.transferSessionTitle" id="transferSessionButton" disabled></button>
</div>
<div>
</div>
</dialog>
<div class="body">
<div class="mission-statement">
<h2 data-l10n-id="index.createAndShareDocuments"></h2>
@ -168,11 +228,13 @@
<% e.end_block(); %>
</div>
<div style="display: none" data-l10n-id="index.placeholderPadEnter"></div>
<% if (settings.showRecentPads) { %>
<div class="pad-datalist">
<h2 data-l10n-id="index.recentPads"></h2>
<ul id="recent-pads">
</ul>
</div>
<% } %>
</div>
<script src="<%=entrypoint%>"></script>

View file

@ -3,4 +3,5 @@
window.$ = window.jQuery = require('ep_etherpad-lite/static/js/rjquery').jQuery;
require('ep_etherpad-lite/static/js/l10n')
require('ep_etherpad-lite/static/js/index')
require('ep_etherpad-lite/static/js/welcome')
})()

View file

@ -12,9 +12,9 @@
"devDependencies": {
"ep_etherpad-lite": "workspace:../src",
"typescript": "^5.9.3",
"vite": "npm:rolldown-vite@latest"
"vite": "npm:rolldown-vite@7.2.10"
},
"overrides": {
"vite": "npm:rolldown-vite@latest"
"vite": "npm:rolldown-vite@7.2.10"
}
}

View file

@ -5,9 +5,6 @@ import { defineConfig } from 'vite'
export default defineConfig({
base: '/views/',
build: {
commonjsOptions:{
transformMixedEsModules: true,
},
outDir: resolve(__dirname, '../src/static/oidc'),
rolldownOptions: {
input: {