Commit Graph

5104 Commits (4d6ec1909af30744d8558d42411e0b8dd5fcd800)

Author SHA1 Message Date
Richard Hansen b1d48bb333 Windows build: Extract .zip outside repo clone 2022-05-14 17:50:46 -04:00
Richard Hansen d70dcc3415 Windows build: Install to `$PROGRAMFILES` 2022-05-14 17:46:32 -04:00
Richard Hansen 52dd6a26bc Windows build: Rename the `.exe` for consistency 2022-05-14 17:46:32 -04:00
Richard Hansen 8a2ef69873 Windows build: Move NSIS installer script to this repo 2022-05-14 17:46:32 -04:00
Richard Hansen d62cc8d62c Windows build: Don't exclude `var` 2022-05-14 17:46:32 -04:00
Richard Hansen e3da5b5bb3 Windows build: Delete unnecessary `cd` 2022-05-14 17:46:32 -04:00
Richard Hansen 752054899f Windows build: Use `git archive` to copy files 2022-05-14 17:46:27 -04:00
Richard Hansen 188ca8a3b1 Windows build: Remove obsolete file removals 2022-05-14 17:45:36 -04:00
Richard Hansen 1dc3c4bde9 Windows build: Clean up after abnormal exits 2022-05-14 17:45:36 -04:00
Richard Hansen e71f69ec72 Windows build: Rename zip to `etherpad-win.zip` 2022-05-14 17:45:30 -04:00
Richard Hansen 77edcebc99 Windows build: Factor out output zip filename 2022-05-13 18:14:56 -04:00
Richard Hansen 5788c1958d Windows build: Use Git to get Etherpad root dir 2022-05-13 18:14:56 -04:00
Richard Hansen 54019a24c3 Windows build: Factor out command checking 2022-05-13 18:14:56 -04:00
Richard Hansen 05e54b198f Windows build: Improve error handling 2022-05-13 18:14:56 -04:00
Richard Hansen f19f3833f3 Windows build: Exit on simple error 2022-05-13 18:14:56 -04:00
translatewiki.net e54ea583f2 Localisation updates from https://translatewiki.net. 2022-05-09 13:03:29 +02:00
Richard Hansen 2facf3a0c5 ExportEtherpad: New `importEtherpad`, `exportEtherpad` hooks 2022-05-06 02:54:34 -04:00
Richard Hansen 44fd70491d ImportEtherpad: Batch database writes 2022-05-05 20:49:52 -04:00
Richard Hansen c1652fd695 ImportEtherpad: Process records in batches
This enables ueberdb to combine multiple queries into a single message
to the database backend.
2022-05-05 20:49:52 -04:00
Richard Hansen 10117bc988 ImportEtherpad: Use a real ueberdb object for the temp Pad
Now plugin authors have access to the full set of DB operations.
2022-05-05 20:49:52 -04:00
Richard Hansen 6a183db850 ExportEtherpad: Parallelize record reads 2022-05-05 19:33:21 -04:00
Richard Hansen 88c0ab8255 ExportEtherpad: Support custom subkeys 2022-05-05 19:33:21 -04:00
Richard Hansen 4b2e2dd9f2 tests: Add tests for `exportEtherpadAdditionalContent` hook 2022-05-05 19:33:21 -04:00
Richard Hansen 78b44daaa8 ExportEtherpad: Fix `exportEtherpadAdditionalContent` hook docs
When exporting, only records like `comments:padId` are supported, not
records like `comments:padId:foo`.
2022-05-05 19:33:21 -04:00
Richard Hansen 936185e3b6 ExportEtherpad: Use Pad API to collect data 2022-05-05 19:33:21 -04:00
Richard Hansen 4a6e77839e ExportEtherpad: Process pad record separately
to improve readability.
2022-05-05 19:33:21 -04:00
Richard Hansen 56a60a34fb ExportEtherpad: Simplify attribute pool iteration 2022-05-05 19:33:21 -04:00
Richard Hansen 3004bc1583 ExportEtherpad: Invert conditions to improve readability
Also delete unnecessary comments.
2022-05-05 19:33:21 -04:00
Richard Hansen b82ccb76df Merge branch 'master' into develop 2022-05-05 18:53:03 -04:00
Richard Hansen 4b96ff6e02 Release v1.8.18 2022-05-05 18:44:03 -04:00
Richard Hansen 10206d9e25 DB: Clean up database initialization 2022-05-05 05:18:53 -04:00
Richard Hansen f22fb13d89 deps: Bump ueberdb2 to 2.2.4 2022-05-05 05:18:53 -04:00
dependabot[bot] 3030f9a417
build(deps): bump ejs from 3.1.6 to 3.1.7 in /src
Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-03 01:31:58 +00:00
dependabot[bot] 6362a625eb build(deps): bump express-rate-limit from 6.3.0 to 6.4.0 in /src
Bumps [express-rate-limit](https://github.com/nfriedly/express-rate-limit) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/nfriedly/express-rate-limit/releases)
- [Changelog](https://github.com/nfriedly/express-rate-limit/blob/master/changelog.md)
- [Commits](https://github.com/nfriedly/express-rate-limit/compare/v6.3.0...v6.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 21:30:22 -04:00
dependabot[bot] ddb1397ebf
build(deps): bump underscore from 1.13.2 to 1.13.3 in /src
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.13.2 to 1.13.3.
- [Release notes](https://github.com/jashkenas/underscore/releases)
- [Commits](https://github.com/jashkenas/underscore/compare/1.13.2...1.13.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-03 01:25:05 +00:00
Richard Hansen 9b87007278 lint: Bump ESLint dependencies 2022-05-02 21:16:24 -04:00
dependabot[bot] 0b5ee334d1
build(deps): bump marked from 4.0.14 to 4.0.15 in /src/bin/doc
Bumps [marked](https://github.com/markedjs/marked) from 4.0.14 to 4.0.15.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v4.0.14...v4.0.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 15:36:41 +00:00
translatewiki.net 59037b4117 Localisation updates from https://translatewiki.net. 2022-04-28 13:03:58 +02:00
translatewiki.net 074482afea Localisation updates from https://translatewiki.net. 2022-04-21 13:03:39 +02:00
dependabot[bot] 64757d1636
build(deps): bump ueberdb2 from 2.0.4 to 2.1.0 in /src
Bumps [ueberdb2](https://github.com/ether/ueberDB) from 2.0.4 to 2.1.0.
- [Release notes](https://github.com/ether/ueberDB/releases)
- [Changelog](https://github.com/ether/ueberDB/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ether/ueberDB/compare/v2.0.4...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 15:29:43 +00:00
Richard Hansen 088bb12797 Pad: Parallelize record fetching when checking consistency 2022-04-16 00:03:07 -04:00
Richard Hansen 096379e6f9 Pad: Limit DB concurrency when copying a pad 2022-04-16 00:03:00 -04:00
Richard Hansen 8442e002f9 Pad: Use the Stream library to improve readability 2022-04-15 23:52:16 -04:00
Richard Hansen 7c6746612c tests: Missing chat messages should cause check failure 2022-04-15 23:52:16 -04:00
Richard Hansen cad2440e6a Pad: Improve check failure message prefixing 2022-04-15 23:52:16 -04:00
Richard Hansen 2dbda3fe7e Pad: Check nullness before checking `Number.isInteger()`
This makes it easier to troubleshoot if the value is null.
2022-04-15 23:52:16 -04:00
Richard Hansen 01ffa070ee Pad: Only check `getKeyRevisionNumber()` at key revisions
Checking every revision is more of a unit test than a consistency
check, and limiting checks to key revisions should improve performance
considerably.
2022-04-15 23:52:16 -04:00
Richard Hansen fa0d77c11d Pad: Factor out key rev atext fetch 2022-04-15 23:52:16 -04:00
Richard Hansen 7ee2141fe6 Pad: Simplify `getInternalRevisionAText` 2022-04-15 23:52:16 -04:00
Richard Hansen ff494563d9 Pad: Call `padCreate`, `padUpdate` hooks asynchronously 2022-04-15 23:52:16 -04:00
Richard Hansen 2ca740c1db Pad: Improve readability of `appendRevision()` 2022-04-15 19:14:59 -04:00
Richard Hansen 0d52f985bd Pad: Reuse `getKeyRevisionNumber` when testing if key rev 2022-04-15 19:14:59 -04:00
Richard Hansen 79e7697c1c Pad: Simplify serialization/deserialization 2022-04-15 19:14:59 -04:00
Richard Hansen addc019810 Pad: Use ES6 class syntax to improve readability 2022-04-15 19:14:59 -04:00
Richard Hansen 38b2ffe899 lint: Avoid snake case 2022-04-15 19:14:59 -04:00
Richard Hansen 06f0318dc4 Stream: New utility library for iterables 2022-04-15 19:14:59 -04:00
dependabot[bot] 8d5e03791b build(deps-dev): bump sinon from 13.0.1 to 13.0.2 in /src
Bumps [sinon](https://github.com/sinonjs/sinon) from 13.0.1 to 13.0.2.
- [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/v13.0.1...v13.0.2)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-15 18:41:55 -04:00
dependabot[bot] 34d12022a0 build(deps): bump semver from 7.3.6 to 7.3.7 in /src
Bumps [semver](https://github.com/npm/node-semver) from 7.3.6 to 7.3.7.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.6...v7.3.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-13 17:36:56 -04:00
dependabot[bot] bfefdb4f20 build(deps): bump marked from 4.0.13 to 4.0.14 in /src/bin/doc
Bumps [marked](https://github.com/markedjs/marked) from 4.0.13 to 4.0.14.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v4.0.13...v4.0.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:31:06 -04:00
dependabot[bot] e707b6e34d build(deps): bump superagent from 7.1.1 to 7.1.2 in /src
Bumps [superagent](https://github.com/visionmedia/superagent) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 17:30:48 -04:00
dependabot[bot] 018840ff9f build(deps-dev): bump typescript from 4.6.2 to 4.6.3 in /src
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.6.2...v4.6.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 17:19:03 -04:00
dependabot[bot] df41c7b711 build(deps): bump semver from 7.3.5 to 7.3.6 in /src
Bumps [semver](https://github.com/npm/node-semver) from 7.3.5 to 7.3.6.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.5...v7.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-09 17:17:51 -04:00
Richard Hansen 07146591dd Pad: Run `padLoad` hook asynchronously 2022-04-08 22:04:00 -04:00
Richard Hansen b38d66b30b Pad: Move `padLoad` hook to `Pad.init()` 2022-04-08 22:04:00 -04:00
Richard Hansen f9610452cf Pad: New `padCheck` hook 2022-04-08 21:52:11 -04:00
Richard Hansen a2460a9848 Pad: New `padRemove` hook `pad` context property 2022-04-08 21:52:11 -04:00
Richard Hansen 8fe779b58c Pad: New `padCopy` hook `dstPad` context property 2022-04-08 21:52:11 -04:00
Richard Hansen 9cdb69c159 Pad: Rename `originalPad` context property to `srcPad` 2022-04-08 21:52:11 -04:00
Richard Hansen 59d60480c0 Pad: Expose pad-specific database object
This will make it possible for plugins to add/change/delete custom
pad-specific records.
2022-04-08 21:52:11 -04:00
dependabot[bot] df5e4b02fa build(deps): bump marked from 4.0.12 to 4.0.13 in /src/bin/doc
Bumps [marked](https://github.com/markedjs/marked) from 4.0.12 to 4.0.13.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v4.0.12...v4.0.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-08 21:43:23 -04:00
dependabot[bot] 2394bc9d9d build(deps): bump clean-css from 5.2.4 to 5.3.0 in /src
Bumps [clean-css](https://github.com/clean-css/clean-css) from 5.2.4 to 5.3.0.
- [Release notes](https://github.com/clean-css/clean-css/releases)
- [Changelog](https://github.com/clean-css/clean-css/blob/master/History.md)
- [Commits](https://github.com/clean-css/clean-css/compare/v5.2.4...v5.3.0)

---
updated-dependencies:
- dependency-name: clean-css
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-02 00:12:35 -04:00
dependabot[bot] 3468d4db44 build(deps): bump rehype-minify-whitespace from 5.0.0 to 5.0.1 in /src
Bumps [rehype-minify-whitespace](https://github.com/rehypejs/rehype-minify) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/rehypejs/rehype-minify/releases)
- [Changelog](https://github.com/rehypejs/rehype-minify/blob/main/changelog.md)
- [Commits](https://github.com/rehypejs/rehype-minify/compare/5.0.0...rehype-minify-whitespace@5.0.1)

---
updated-dependencies:
- dependency-name: rehype-minify-whitespace
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-01 22:41:35 -04:00
translatewiki.net 1554cc3299 Localisation updates from https://translatewiki.net. 2022-03-31 13:03:59 +02:00
translatewiki.net 419e460ae2 Localisation updates from https://translatewiki.net. 2022-03-28 13:04:02 +02:00
Richard Hansen ff7a2aa0ea css: Immediately transition visibility when showing popup
For reasons I don't understand, an activated popup was visible during
transition even though the boolean `visibility` property didn't switch
to `visible` until the end of the 0.3s transition. This prevented
input elements from getting focus until the end of the transition. Now
input elements can get focus right away.
2022-03-24 16:35:15 -04:00
Richard Hansen 56d6a1800b css: Refactor popup visibility rulesets
to simplify the rules and improve readability.
2022-03-24 16:34:14 -04:00
Richard Hansen 1ad7e4601f load test: Increase startup timeout 2022-03-22 20:07:55 -04:00
Richard Hansen 1c29dcc62d load test: Don't suppress Etherpad output 2022-03-22 20:07:55 -04:00
Richard Hansen 4c6d547e10 load test: Fix argument processing 2022-03-22 20:07:55 -04:00
Richard Hansen e4ed4a0d42 load test: Exit on error 2022-03-22 20:07:55 -04:00
dependabot[bot] 727a6785c9 build(deps): bump openapi-backend from 5.2.1 to 5.3.0 in /src
Bumps [openapi-backend](https://github.com/anttiviljami/openapi-backend) from 5.2.1 to 5.3.0.
- [Release notes](https://github.com/anttiviljami/openapi-backend/releases)
- [Commits](https://github.com/anttiviljami/openapi-backend/compare/5.2.1...5.3.0)

---
updated-dependencies:
- dependency-name: openapi-backend
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 18:49:55 -04:00
dependabot[bot] b93317ffae build(deps): bump terser from 5.12.0 to 5.12.1 in /src
Bumps [terser](https://github.com/terser/terser) from 5.12.0 to 5.12.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.12.0...v5.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 18:47:55 -04:00
Richard Hansen 4535641ebd lint: Bump ESLint dependencies again, update plugins 2022-03-21 18:40:36 -04:00
Richard Hansen c0db840df1 lint: Bump ESLint dependencies 2022-03-21 17:14:51 -04:00
dependabot[bot] c6f1ab3907 build(deps-dev): bump mocha from 9.2.1 to 9.2.2 in /src
Bumps [mocha](https://github.com/mochajs/mocha) from 9.2.1 to 9.2.2.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.2.1...v9.2.2)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 16:52:21 -04:00
dependabot[bot] 6ad5971476 build(deps): bump mime-types from 2.1.34 to 2.1.35 in /src
Bumps [mime-types](https://github.com/jshttp/mime-types) from 2.1.34 to 2.1.35.
- [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/2.1.34...2.1.35)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 16:45:21 -04:00
dependabot[bot] c10f812d79 build(deps): bump ueberdb2 from 2.0.2 to 2.0.4 in /src
Bumps [ueberdb2](https://github.com/ether/ueberDB) from 2.0.2 to 2.0.4.
- [Release notes](https://github.com/ether/ueberDB/releases)
- [Changelog](https://github.com/ether/ueberDB/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ether/ueberDB/compare/v2.0.2...v2.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 15:25:13 -04:00
Tom Kunze 49c7a4ba82 extractPadData: Fix wrong DB get function 2022-03-21 04:57:04 -04:00
translatewiki.net 4b4d6caf25 Localisation updates from https://translatewiki.net. 2022-03-17 13:03:59 +01:00
Richard Hansen ae092edf0c AuthorManager: New `getAuthorId` hook 2022-03-16 06:10:28 -04:00
Richard Hansen 6d4085f5f0 SecurityManager: Restrict valid author token values 2022-03-16 06:10:28 -04:00
Richard Hansen b89ae69202 SecurityManager: Don't prefetch values
Prefetching can cause unhandled Promise rejections, and it makes the
code less readable.
2022-03-16 06:10:28 -04:00
Richard Hansen 8053875d45 pad_utils: Factor out author token generation 2022-03-16 06:10:28 -04:00
Richard Hansen 4e1674ceaf deps: Bump etherpad-cli-client 2022-03-16 06:10:28 -04:00
translatewiki.net 0a993399dc Localisation updates from https://translatewiki.net. 2022-03-14 13:03:44 +01:00
translatewiki.net 14a58fb9ba Localisation updates from https://translatewiki.net. 2022-03-10 13:03:41 +01:00
dependabot[bot] 979c2cc7de
build(deps): bump terser from 5.11.0 to 5.12.0 in /src
Bumps [terser](https://github.com/terser/terser) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.11.0...v5.12.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 15:39:12 +00:00
Richard Hansen d0d3290019 lint: Bump ESLint deps 2022-03-01 18:01:52 -05:00
Richard Hansen a6b969c811 ci: Bump actions/checkout to v3 2022-03-01 17:17:16 -05:00
Richard Hansen cfb68e5725 pad_utils: Rate limit identical `warnDeprecated` calls 2022-02-27 02:55:35 -05:00
Richard Hansen 908175d1ca pad_utils: Custom logger interface for `warnDeprecated` 2022-02-27 02:55:09 -05:00
Richard Hansen 248c114547 chat: Omit undefined `authorId`, `displayName` in JSON obj 2022-02-26 20:37:52 -05:00
Richard Hansen ad45359a9d chat: Silence accidental deprecation warnings
This fixes a bug introduced in commit
363a48b6d5.
2022-02-26 20:34:33 -05:00
Richard Hansen e3e86dc0aa checkPlugin: Bump actions/setup-node to v3 2022-02-26 02:18:40 -05:00
dependabot[bot] 105facea69 build(deps): bump superagent from 6.1.0 to 7.1.1 in /src
Bumps [superagent](https://github.com/visionmedia/superagent) from 6.1.0 to 7.1.1.
- [Release notes](https://github.com/visionmedia/superagent/releases)
- [Changelog](https://github.com/visionmedia/superagent/blob/master/HISTORY.md)
- [Commits](https://github.com/visionmedia/superagent/compare/v6.1.0...v7.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 23:29:19 -05:00
dependabot[bot] 6102bb2abe build(deps-dev): bump sinon from 12.0.1 to 13.0.1 in /src
Bumps [sinon](https://github.com/sinonjs/sinon) from 12.0.1 to 13.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/v12.0.1...v13.0.1)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 23:26:15 -05:00
dependabot[bot] 94be22e78a build(deps): bump openapi-backend from 5.2.0 to 5.2.1 in /src
Bumps [openapi-backend](https://github.com/anttiviljami/openapi-backend) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/anttiviljami/openapi-backend/releases)
- [Commits](https://github.com/anttiviljami/openapi-backend/compare/5.2.0...5.2.1)

---
updated-dependencies:
- dependency-name: openapi-backend
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 23:23:49 -05:00
Richard Hansen d0cbf9754d checkPlugin: Run `npm ci` before `npm publish` 2022-02-24 21:26:33 -05:00
dependabot[bot] b4e0e15beb
build(deps): bump jsdom from 18.1.1 to 19.0.0 in /src
Bumps [jsdom](https://github.com/jsdom/jsdom) from 18.1.1 to 19.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/18.1.1...19.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 02:24:35 +00:00
dependabot[bot] 52eae298cf
build(deps): bump jsonminify from 0.4.1 to 0.4.2 in /src
Bumps [jsonminify](https://github.com/fkei/JSON.minify) from 0.4.1 to 0.4.2.
- [Release notes](https://github.com/fkei/JSON.minify/releases)
- [Commits](https://github.com/fkei/JSON.minify/compare/0.4.1...0.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-25 01:51:26 +00:00
dependabot[bot] 188d897f7e build(deps): bump terser from 5.10.0 to 5.11.0 in /src
Bumps [terser](https://github.com/terser/terser) from 5.10.0 to 5.11.0.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.10.0...v5.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 20:50:04 -05:00
dependabot[bot] 32bfc6ced8 build(deps): bump express-rate-limit from 5.5.1 to 6.3.0 in /src
Bumps [express-rate-limit](https://github.com/nfriedly/express-rate-limit) from 5.5.1 to 6.3.0.
- [Release notes](https://github.com/nfriedly/express-rate-limit/releases)
- [Changelog](https://github.com/nfriedly/express-rate-limit/blob/master/changelog.md)
- [Commits](https://github.com/nfriedly/express-rate-limit/compare/v5.5.1...v6.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 20:49:30 -05:00
dependabot[bot] e87e4231b4 build(deps): bump rehype from 12.0.0 to 12.0.1 in /src
Bumps [rehype](https://github.com/rehypejs/rehype) from 12.0.0 to 12.0.1.
- [Release notes](https://github.com/rehypejs/rehype/releases)
- [Changelog](https://github.com/rehypejs/rehype/blob/main/changelog.md)
- [Commits](https://github.com/rehypejs/rehype/compare/12.0.0...12.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 19:31:56 -05:00
dependabot[bot] dda2ac91f7 build(deps): bump express from 4.17.1 to 4.17.3 in /src
Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.17.3.
- [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/4.17.1...4.17.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-24 19:31:21 -05:00
Richard Hansen b733ed9ab0 Pad: Convert line endings in text from `padDefaultContent` hook 2022-02-24 17:40:04 -05:00
Richard Hansen cd43625be8 tests: Add some tests for `src/node/db/Pad.js` 2022-02-24 17:40:04 -05:00
Richard Hansen 2d53b9f150 PadMessageHandler: Plumb author ID to more pad creation locations 2022-02-24 17:40:04 -05:00
Richard Hansen 363a48b6d5 ChatMessage: Log deprecation warnings for `.userId`, `.authorId` 2022-02-24 17:39:38 -05:00
Richard Hansen b4d9252bfe PadMessageHandler: Don't get Pad object multiple times 2022-02-24 17:39:38 -05:00
Richard Hansen b276eb0a23 PadMessageHandler: Improve message sanity checking
Use exceptions instead of silent drops so that the client can detect
the error and react appropriately.
2022-02-24 17:39:38 -05:00
Richard Hansen 3b76b2dd67 SocketIORouter: Improve error handling 2022-02-24 17:39:38 -05:00
Richard Hansen fcfa51bda6 PadMessageHandler: Convert complex `if` to `switch` 2022-02-24 17:39:38 -05:00
translatewiki.net 05dd9920c5 Localisation updates from https://translatewiki.net. 2022-02-24 13:03:13 +01:00
Richard Hansen 32c82917e3 Merge branch 'master' into develop 2022-02-23 17:25:38 -05:00
Richard Hansen ba370b0e05 PadMessageHandler: Don't trust user-provided `padId` 2022-02-23 16:11:21 -05:00
Richard Hansen bdbde88fed PadMessageHandler: Fix `USER_CHANGES` queue identifier
`message.padId` is normally undefined for `USER_CHANGES` messages.
2022-02-23 16:11:16 -05:00
Richard Hansen c59cbb537a Bump version 2022-02-23 16:10:47 -05:00
Richard Hansen 1513932ca1 plugins: Give each plugin a plugin-specific logger object
This makes it possible for plugins to stop assuming that log4js is
available at `ep_etherpad-lite/node_modules/log4js`.
2022-02-21 15:13:57 -05:00
Richard Hansen daee90d2af lint: Close function args on same line as final arg 2022-02-21 14:53:48 -05:00
Richard Hansen 37508403d8 lint: Replace `Object.assign()` with object spread syntax 2022-02-21 14:36:58 -05:00
Richard Hansen c8211f2898 lint: Run `eslint --fix` 2022-02-21 14:36:58 -05:00
Richard Hansen 8eb310854d lint: Bump ESLint dependencies 2022-02-21 14:36:58 -05:00
Richard Hansen 005ca0bb09 lint: Move ESLint config to `.eslintrc.cjs` 2022-02-21 14:36:58 -05:00
Richard Hansen d2f4931a35 checkPlugin: Use log4js for logging 2022-02-21 14:36:58 -05:00
Richard Hansen 8aec73b129 checkPlugin: Add ability to remove dependencies 2022-02-21 14:36:58 -05:00
Richard Hansen d5db979c93 checkPlugin: Config ESLint via `.eslintrc.cjs` 2022-02-21 14:36:58 -05:00
Richard Hansen f046f0ab81 checkPlugin: Only create `ep_etherpad-lite` symlink if missing
This avoids problems if the plugin has a non-peer dependency on
`ep_etherpad-lite`.
2022-02-20 18:06:46 -05:00
Richard Hansen 9ed1e43593 checkPlugin: Resolve plugin directory symlinks
This works around weird npm bugs.
2022-02-20 18:06:46 -05:00
Richard Hansen d9044537bb checkPlugin: cd to Etherpad root dir 2022-02-20 18:06:46 -05:00
Richard Hansen 5a66abae8b checkPlugin: Move everything inside async IIFE 2022-02-20 18:06:46 -05:00
Richard Hansen 2e0e872ae3 Pad: New `padDefaultContent` hook 2022-02-19 14:55:43 -05:00
Richard Hansen aa286b7dbd API: Add optional `authorId` param to mutation functions 2022-02-19 14:55:42 -05:00
Richard Hansen 50fafe608b tests: Basic test for `restoreRevision` API 2022-02-19 14:55:42 -05:00
Richard Hansen 3b8549342a Pad: Plumb author ID through mutation operations 2022-02-19 14:55:42 -05:00
Richard Hansen 5f60b3aab2 Pad: Remove unneccessary `padManager.getPad()` call 2022-02-19 14:55:42 -05:00
Richard Hansen 449b972e6a Pad: Use default parameter value 2022-02-19 14:55:42 -05:00
Richard Hansen aec512d1fa Pad: Rename `author` context properties to `authorId` 2022-02-19 14:55:42 -05:00
Richard Hansen 65bd5ffa6b Pad: Rename `author` vars to `authorId` for consistency 2022-02-19 14:55:42 -05:00
Richard Hansen c2910b98e8 ImportHandler: Skip default pad text when importing to a new pad 2022-02-19 14:25:51 -05:00
Richard Hansen c8f2409de0 ImportHandler: Drop unnecessary underscores in variable names
Also delete an unnecessary comment.
2022-02-19 14:25:51 -05:00
translatewiki.net a27b400073 Localisation updates from https://translatewiki.net. 2022-02-14 13:03:22 +01:00
dependabot[bot] 4ed436dbbe
build(deps): bump simple-get from 3.1.0 to 3.1.1 in /src
Bumps [simple-get](https://github.com/feross/simple-get) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/feross/simple-get/releases)
- [Commits](https://github.com/feross/simple-get/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: simple-get
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-03 16:29:27 +00:00
dependabot[bot] cdc08d157b build(deps-dev): bump selenium-webdriver from 4.0.0 to 4.1.1 in /src
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-03 11:28:40 -05:00
translatewiki.net b9b6cef4d2 Localisation updates from https://translatewiki.net. 2022-02-03 13:03:23 +01:00
Richard Hansen 33fb4c71e4 deps: Bump ESLint dependencies 2022-02-02 20:21:34 -05:00
translatewiki.net 5d3c34aecb Localisation updates from https://translatewiki.net. 2022-01-31 13:02:59 +01:00
Richard Hansen 5520161088 deps: Upgrade formidable to 2.0.1 2022-01-28 21:34:57 -05:00
dependabot[bot] 6009fdf979
build(deps): bump resolve from 1.20.0 to 1.22.0 in /src
Bumps [resolve](https://github.com/browserify/resolve) from 1.20.0 to 1.22.0.
- [Release notes](https://github.com/browserify/resolve/releases)
- [Commits](https://github.com/browserify/resolve/compare/v1.20.0...v1.22.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 21:47:20 +00:00
dependabot[bot] 0e6fd567f7
build(deps): bump openapi-backend from 5.0.1 to 5.1.1 in /src
Bumps [openapi-backend](https://github.com/anttiviljami/openapi-backend) from 5.0.1 to 5.1.1.
- [Release notes](https://github.com/anttiviljami/openapi-backend/releases)
- [Commits](https://github.com/anttiviljami/openapi-backend/compare/5.0.1...5.1.1)

---
updated-dependencies:
- dependency-name: openapi-backend
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 20:49:14 +00:00
dependabot[bot] 0189af9bb1
build(deps): bump clean-css from 5.2.3 to 5.2.4 in /src
Bumps [clean-css](https://github.com/clean-css/clean-css) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/clean-css/clean-css/releases)
- [Changelog](https://github.com/clean-css/clean-css/blob/master/History.md)
- [Commits](https://github.com/clean-css/clean-css/compare/v5.2.3...v5.2.4)

---
updated-dependencies:
- dependency-name: clean-css
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 20:46:01 +00:00
dependabot[bot] 65de9eb733
build(deps): bump underscore from 1.13.1 to 1.13.2 in /src
Bumps [underscore](https://github.com/jashkenas/underscore) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/jashkenas/underscore/releases)
- [Commits](https://github.com/jashkenas/underscore/compare/1.13.1...1.13.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 20:42:50 +00:00
dependabot[bot] d86e1e5249
build(deps): bump ueberdb2 from 2.0.1 to 2.0.2 in /src
Bumps [ueberdb2](https://github.com/ether/ueberDB) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/ether/ueberDB/releases)
- [Changelog](https://github.com/ether/ueberDB/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ether/ueberDB/compare/v2.0.1...v2.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 08:39:13 +00:00
Richard Hansen c40544eade lint: Bump ESLint dependencies 2022-01-28 03:24:14 -05:00
dependabot[bot] 8791082077
build(deps): bump clean-css from 5.2.2 to 5.2.3 in /src
Bumps [clean-css](https://github.com/clean-css/clean-css) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/clean-css/clean-css/releases)
- [Changelog](https://github.com/clean-css/clean-css/blob/master/History.md)
- [Commits](https://github.com/clean-css/clean-css/compare/v5.2.2...v5.2.3)

---
updated-dependencies:
- dependency-name: clean-css
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-28 07:02:27 +00:00
Richard Hansen c568bb1baa ci: Skip frontend tests for Dependabot PRs 2022-01-28 01:51:15 -05:00
Richard Hansen 43aa1e4aeb ci: Reformat `.yml` files for readability 2022-01-28 01:39:45 -05:00
Richard Hansen 35a182e053 ci: dependabot: Set `versioning-strategy` to `increase`
This keeps `package.json` in sync with `package-lock.json`.
2022-01-27 23:54:28 -05:00
Richard Hansen 63a02ec5fa ci: Enable caching 2022-01-27 22:40:38 -05:00
Richard Hansen 3732565f83 ci: plugins: Bump saucelabs/sauce-connect-action 2022-01-27 22:40:38 -05:00
Richard Hansen 737464935e ci: plugins: Enable dependabot 2022-01-27 22:05:47 -05:00
Richard Hansen f02334e589 ci: plugins: Install plugin deps before core deps 2022-01-27 22:05:47 -05:00
Richard Hansen be36f764ad deps: Update eslint-config-etherpad 2022-01-27 22:05:47 -05:00
Richard Hansen 47f5bbef1c deps: Remove tiny-worker
It is not needed for modern versions of Node.js.
2022-01-27 02:15:47 -05:00
Richard Hansen c586502e3c deps: Bump marked to 4.0.12 2022-01-27 02:05:11 -05:00
Richard Hansen 9db3424403 deps: Bump rehype and rehype-minify-whitespace 2022-01-27 01:27:10 -05:00
Richard Hansen 1e604add99 deps: Require Node.js 12.17.0 or later
This makes it possible to use dynamic `import()`.
2022-01-27 01:27:10 -05:00
snyk-bot 151f954fea fix: upgrade rate-limiter-flexible from 2.3.5 to 2.3.6
Snyk has created this PR to upgrade rate-limiter-flexible from 2.3.5 to 2.3.6.

See this package in npm:
https://www.npmjs.com/package/rate-limiter-flexible

See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=referral&page=upgrade-pr
2022-01-26 20:05:06 -05:00
dependabot[bot] 9b671efd5b build(deps): bump node-fetch from 2.6.6 to 2.6.7 in /src
Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 20:03:19 -05:00
dependabot[bot] e44d1c4400 build(deps-dev): bump eslint-config-etherpad from 2.0.2 to 2.0.3 in /src
Bumps [eslint-config-etherpad](https://github.com/ether/eslint-config-etherpad) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/ether/eslint-config-etherpad/releases)
- [Commits](https://github.com/ether/eslint-config-etherpad/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: eslint-config-etherpad
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 20:02:42 -05:00
dependabot[bot] de66bd4799 build(deps): bump http-errors from 1.8.1 to 2.0.0 in /src
Bumps [http-errors](https://github.com/jshttp/http-errors) from 1.8.1 to 2.0.0.
- [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/1.8.1...v2.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 20:01:53 -05:00
dependabot[bot] abe8a98a4d
build(deps-dev): bump mocha from 9.1.3 to 9.2.0 in /src
Bumps [mocha](https://github.com/mochajs/mocha) from 9.1.3 to 9.2.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.1.3...v9.2.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-27 00:58:49 +00:00
dependabot[bot] 867922c8d8 build(deps): bump follow-redirects from 1.14.6 to 1.14.7 in /src
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.6 to 1.14.7.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.6...v1.14.7)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 19:56:56 -05:00
RichDavis1 ae9114f140 Edit settings.js
Added formal panics for invalid JSON.
2022-01-26 19:35:21 -05:00
translatewiki.net 315bcccc14 Localisation updates from https://translatewiki.net. 2022-01-24 13:03:53 +01:00
Richard Hansen e4a336e875 plugins: Add npm packages to etherpad org 2022-01-20 20:33:24 -05:00
Richard Hansen 692749d1cf express-session: Extend session lifetime if user is active 2022-01-17 21:45:56 -05:00
Richard Hansen 9c1f52f1b0 express-session: Install package from `@etherpad` scope
This allows us to use some in-progress features.
2022-01-17 21:45:56 -05:00
Richard Hansen 023e58cfe6 express-session: Set a finite cookie lifetime 2022-01-17 21:45:56 -05:00
Richard Hansen ec10700dff express-session: Don't save uninitialized sessions
This should avoid frivolous session records, such as when the user
gets a 404 (unless login was required to see the 404).
2022-01-17 21:45:56 -05:00
Richard Hansen 7255dd7ef0 express-session: Inherit proxy trust from Express 2022-01-17 21:45:56 -05:00
Richard Hansen 945e6848e2 SessionStore: Delete DB record when session expires
This only deletes records known to the current Etherpad instance --
old records from previous runs are not automatically cleaned up.
2022-01-17 21:45:56 -05:00
Richard Hansen 72cd983f0f SessionStore: Option to update DB record on `touch()` 2022-01-17 21:45:52 -05:00
Richard Hansen b991948e21 SessionStore: Don't write DB record if already expired 2022-01-17 21:33:58 -05:00
Richard Hansen 4d498725c7 SessionStore: Improve cookie expiration check
* Don't mutate `sess.cookie.expires`.
  * Allow `sess.cookie` to be nullish.
  * Always compare `Date` objects.
2022-01-17 18:17:40 -05:00
Richard Hansen 928c598ecf tests: Add SessionStore backend tests 2022-01-17 17:51:08 -05:00
Richard Hansen efab3aed0c deps: Update ueberdb2 to 2.0.1 to get proper JSON support 2022-01-14 00:45:47 -05:00
Richard Hansen d3984aa621 express: Move `preAuthorize` hook after `express-session`
The `ep_openid_connect` plugin needs access to session state before
authorization checks are made (to securely redirect the user back to
the start page when authentication completes). Now that the
`expressPreSession` hook exists, the rationale for moving
`preAuthorize` before the `express-session` middleware is gone.

This change undoes the following commits:
  * bf35dcfc50
  * 0b1ec20c5c
  * 30544b564e
2022-01-14 00:44:54 -05:00
Richard Hansen 75637708c0 express: Move up `cookie-parser` middleware
This makes it possible for the `preAuthorize` and `preExpressSession`
hooks to easily read or set cookies.
2022-01-14 00:44:54 -05:00
Richard Hansen ab85db4426 webaccess: Silence prototype pollution warning 2022-01-14 00:44:54 -05:00
Richard Hansen dcd43e9849 webaccess: Use `.startsWith()` instead of `.search()` 2022-01-14 00:44:54 -05:00
translatewiki.net b9118c22ba Localisation updates from https://translatewiki.net. 2022-01-13 13:02:54 +01:00
Richard Hansen fd9b770579 PadManager: Refactor `padList` to avoid duplicate loads 2022-01-02 20:44:42 -05:00
Richard Hansen 66ce2b50a9 openapi: Convert `Promise.catch()` to `catch` block 2022-01-02 19:17:20 -05:00
Richard Hansen fa8bdb0348 promises: Add a comment explaining a subtlety in `Gate` 2022-01-02 18:57:44 -05:00
Richard Hansen a115c475ad promises: Expose `reject` in `Gate` 2022-01-02 18:57:44 -05:00
Richard Hansen b72db7ebd6 promises: Return a `Promise` from `Gate.then()`
It doesn't make sense to return a `Gate` from `Gate.then()`, and this
eliminates the semantically confusing constructor parameter.
2022-01-02 18:57:44 -05:00
Richard Hansen 78a67801f3 promises: Move Gate from `server.js` (to enable reuse) 2022-01-02 18:57:44 -05:00
Richard Hansen c8d45586c1 server: Fix stop Gate creation and check 2022-01-02 18:57:44 -05:00
Richard Hansen 10c55a2328 Changeset: Explain why number of removals doesn't matter 2021-12-31 22:53:59 -05:00
Richard Hansen 6495b1e6f4 tests: Disable deprecation warnings when testing deprecated functions 2021-12-31 22:15:03 -05:00
Richard Hansen c0471dd238 tests: Avoid deprecated `Changeset.opIterator` 2021-12-31 22:14:07 -05:00
webzwo0i 0af728ffee textLinesMutator: coverage for changed attributes in multiline keeps 2021-12-30 18:44:29 -05:00
webzwo0i 93447b7493 easysync tests: cover more string operation scenarios 2021-12-30 18:44:29 -05:00
webzwo0i 395cbc01bb Changeset.js: refine comments 2021-12-30 18:44:29 -05:00
webzwo0i 55c47efd4c easysync tests: add some more smartOpAssembler tests 2021-12-30 18:44:29 -05:00
webzwo0i 12ebca897d easysync: add clear method to stringAssembler 2021-12-30 18:44:29 -05:00
Chocobozzz 0cc15df9b9 Prevent pad translation and crash
Prevent "TypeError: Cannot read properties of null (reading 'sheet')"
exception because google chrome can translate `<style type="text/css" title="dynamicsyntax"></style>` title attribute
2021-12-22 17:46:32 +01:00
Richard Hansen cb257de8f9 Bump version to v1.9.0 for plugin `peerDependencies`
This allows plugins to depend on the not-yet-released API by bumping
their `peerDependencies` to `>=1.9.0`.

IMPORTANT: v1.9.0 IS NOT RELEASED YET. I tried to bump the version to
1.9.0-alpha.0 instead, but unfortunately that doesn't satisfy
`>=1.8.6` which would break just about every plugin.
2021-12-21 17:23:56 -05:00
Richard Hansen 02a56dc58c PadMessageHandler: Allow `handleMessageSecurity` to grant one-time write access 2021-12-21 17:23:56 -05:00
Richard Hansen 31b025bd9d PadMessageHandler: Pass session info to `handleMessageSecurity` hook 2021-12-21 17:23:56 -05:00
Richard Hansen 1b52c9f0c4 PadMessageHandler: Deprecate `client` context property 2021-12-21 17:23:56 -05:00
Richard Hansen f1856cf95a Docker: Use new `/health` endpoint for HEALTHCHECK 2021-12-21 17:19:56 -05:00
Richard Hansen 83f2898723 package.json: Define `etherpad` binary 2021-12-21 17:19:56 -05:00
Richard Hansen 696f9c3367 specialpages: New `/health` endpoint for health checking
This endpoint is intended to conform with:
https://www.ietf.org/archive/id/draft-inadarei-api-health-check-06.html
2021-12-21 17:19:56 -05:00
Dirk Jagdmann 2e4c546c7f Pad: Add new `.spliceText()` method
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-21 17:00:18 -05:00
Richard Hansen 30544b564e express: Skip express-session middleware if pre-authorized 2021-12-20 20:08:19 -05:00
Richard Hansen 649fbdccf5 express: Move static handlers to `expressPreSession`
This avoids the need to exempt the paths from authentication checks,
and it eliminates unnecessary express-session state.
2021-12-20 20:08:19 -05:00
Richard Hansen 72f4ae444d express: New `expressPreSession` server-side hook 2021-12-20 20:08:19 -05:00
Richard Hansen 0b1ec20c5c express: Move `preAuthorize` middleware before express-session 2021-12-20 20:08:19 -05:00
Richard Hansen bf35dcfc50 webaccess: Move `preAuthorize` to its own middleware 2021-12-20 20:08:19 -05:00
Richard Hansen 7f3d0e71f7 express: Check access before `expressConfigure` middleware
There are no guarantees about the order of execution of hook
functions, which means that a plugin's `expressConfigure` hook
function could theoretically register a handler/middleware before the
access check middleware is registered. If that happens, the plugin's
handler would run before the access check, which would be bad. Avoid
the problem by explicitly installing the `webaccess.checkAccess`
middleware before running the `expressConfigure` hook.
2021-12-20 20:08:18 -05:00
Richard Hansen 472eddc821 webaccess: Skip checks if `next` is called in `preAuthenticate` 2021-12-20 20:08:18 -05:00
Richard Hansen fc498f0ae6 tests: Delete test pad before attempting import 2021-12-20 20:08:18 -05:00
Richard Hansen 02d1b90d30 tests: Factor out USER_CHANGES/ACCEPT_COMMIT helpers
This will make it possible for other tests to reuse the code.
2021-12-19 16:53:24 -05:00
snyk-bot 674a0ccedc fix: upgrade openapi-backend from 5.0.0 to 5.0.1
Snyk has created this PR to upgrade openapi-backend from 5.0.0 to 5.0.1.

See this package in npm:
https://www.npmjs.com/package/openapi-backend

See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=referral&page=upgrade-pr
2021-12-19 00:54:20 -05:00
webzwo0i 8b73f2ee70 padurlsanitize: Don't crash if `sanitizePadId()` throws
Let Express send a 500 status code to the user instead.

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-18 18:47:01 -05:00
Richard Hansen 4733c7d8d3 SessionStore: Promisify to the extent permitted by express-session 2021-12-18 18:29:04 -05:00
webzwo0i 694d3f630e SessionStore: Propagate database errors to express-session
Send a 500 HTTP status code to the client if the session entry could
not be fetched from the database. This is useful in case the database
is busy and can't respond to the query in time. In this case we want
to abort the client connection as soon as possible.

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-18 18:29:04 -05:00
Richard Hansen 7572040836 Pad: Simplify `Pad.copy()` logic 2021-12-18 18:28:58 -05:00
webzwo0i 0040f5984e db: await more database operations
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-18 18:23:27 -05:00
translatewiki.net e64462323b Localisation updates from https://translatewiki.net. 2021-12-16 13:03:26 +01:00
Richard Hansen 748d661495 Changeset: Fix off-by-one bug in `makeSplice` 2021-12-16 00:48:07 -05:00
Richard Hansen 30d68df396 Changeset: Add range checks to `makeSplice` 2021-12-16 00:48:07 -05:00
Richard Hansen fdf1fdbc23 Changeset: Improve readability of `makeSplice()` 2021-12-16 00:48:07 -05:00
Richard Hansen b1d0848701 Pad: Improve readability of `appendText` 2021-12-16 00:48:07 -05:00
Richard Hansen a6bf7816ce Pad: Simplify `setText` 2021-12-16 00:48:07 -05:00
snyk-bot 3693a0574f fix: upgrade jsdom from 18.1.0 to 18.1.1
Snyk has created this PR to upgrade jsdom from 18.1.0 to 18.1.1.

See this package in npm:
https://www.npmjs.com/package/jsdom

See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=referral&page=upgrade-pr
2021-12-14 01:05:47 -05:00
Richard Hansen d94f380141 API: Fix race conditions in `setText`, `appendText`, `restoreRevision` 2021-12-14 01:02:00 -05:00
Richard Hansen cff089e54e PadMessageHandler: Accept retransmissions of USER_CHANGES 2021-12-14 01:02:00 -05:00
Richard Hansen a370cfa5c6 Pad: Don't create no-op revisions 2021-12-14 01:02:00 -05:00