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
Richard Hansen
56b7671422
Pad: Return new rev number from appendRevision()
2021-12-14 01:02:00 -05:00
Richard Hansen
c05ee7ce72
PadMessageHandler: Move ACCEPT_COMMIT
after changeset save
2021-12-14 01:02:00 -05:00
Richard Hansen
dbacc73c36
tests: Basic USER_CHANGES backend tests
2021-12-14 01:02:00 -05:00
translatewiki.net
2cae414473
Localisation updates from https://translatewiki.net .
2021-12-13 13:03:50 +01:00
Richard Hansen
1fe01c66fd
getCorePlugins.sh: Various improvements
...
* Factor out plugin query.
* Make idempotent.
* Improve logging.
* Install by symlinking to a parallel directory rather than cloning
into `etherpad-lite/node_modules`.
2021-12-11 02:01:35 -05:00
Richard Hansen
5915c2243d
checkPlugin: Redo README.md and LICENSE
2021-12-11 02:01:35 -05:00
Richard Hansen
d81546ad7b
checkPlugin: Delete Travis badge from README.md template
2021-12-11 02:01:35 -05:00
Richard Hansen
2c05de7033
checkPlugin: Update ESLint dependencies
2021-12-11 02:01:35 -05:00
Richard Hansen
3563fc1df9
checkPlugin: Relax repo checks
2021-12-11 02:01:35 -05:00
Richard Hansen
4716975c37
checkPlugin: Do case-sensitive filename checks
2021-12-11 02:01:35 -05:00
Richard Hansen
9a85bce212
checkPlugin: Only consider README{,.md}
(case-insensitive)
...
This avoids false positives such as `README-foo.md`.
2021-12-11 02:01:35 -05:00
Richard Hansen
753d16af8a
checkPlugin: Promisify file system accesses
2021-12-11 02:01:35 -05:00
Richard Hansen
b50c6d07d4
checkPlugin: Improve readability of files
assignment
2021-12-11 02:01:35 -05:00
Richard Hansen
b546867adb
checkPlugin: Replace .indexOf()
with .includes()
2021-12-11 02:01:35 -05:00
Richard Hansen
34a4a74634
checkPlugin: Change autocommit
to not push
2021-12-11 02:01:35 -05:00
Richard Hansen
48222449b5
checkPlugin: Add frontend-tests.yml
GitHub workflow
2021-12-11 02:01:35 -05:00
Richard Hansen
51c530a3a0
checkPlugin: Compare entire file
2021-12-11 02:01:34 -05:00
Richard Hansen
f0669a8d31
checkPlugin: Automatically determine plugin name in backend-tests.yml
2021-12-11 02:01:34 -05:00
Richard Hansen
314b67b7fe
checkPlugin: Improve eslintConfig
, funding
, scripts
checking
2021-12-11 02:01:34 -05:00
Richard Hansen
b7dce95802
checkPlugin: Use updateDeps
to manage engine
2021-12-10 14:44:02 -05:00
Richard Hansen
f0ab112c2d
checkPlugin: Factor out duplicate file update logic and simplify
2021-12-10 14:44:02 -05:00
Richard Hansen
b7de4faf42
checkPlugin: Don't bump version if there are no changes
2021-12-10 14:44:01 -05:00
Richard Hansen
4d457f6296
ImportHandler: Pass ImportError
to import
hook
2021-12-10 02:34:13 -05:00
translatewiki.net
d1da8f1ebd
Localisation updates from https://translatewiki.net .
2021-12-09 13:03:48 +01:00
translatewiki.net
841bc10039
Localisation updates from https://translatewiki.net .
2021-12-06 13:03:04 +01:00
John McLear
6cca27dea6
API: getText
with old revision should only return text, not atext
...
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-12-05 18:50:39 -05:00
Richard Hansen
99fae2ec6e
pad: Fix application of padOptions
values from settings.json
2021-12-04 23:06:17 -05:00
Richard Hansen
f8b4189bc4
pad: Always pass strings to pad option callbacks
2021-12-04 23:06:17 -05:00
Richard Hansen
8c857a85ac
pad: Use null
as default for userName
, userColor
options
...
These options are used as strings, so it doesn't make sense to default
them to a boolean value.
Note that this change has no effect due to a bug in how pad options
are processed; that bug will be fixed in a future commit.
2021-12-04 23:06:16 -05:00
Richard Hansen
61b608e264
pad: Use null
as default for lang
option
...
It doesn't make sense to override the browser's language with `en-gb`
by default.
Note that this change has no effect due to a bug in how pad options
are processed; that bug will be fixed in a future commit.
2021-12-04 23:06:16 -05:00
Richard Hansen
7ff71cd41e
pad: Ignore null
values in padOptions
from settings.json
2021-12-04 23:06:16 -05:00
Richard Hansen
f4257a28ba
pad: Delete duplicate decodeURIComponent()
calls
...
`URL.searchParams` already decodes the value.
Also delete some useless comments.
2021-12-04 23:06:09 -05:00
Richard Hansen
6beb5dcaf5
tests: Disable deprecation warnings when testing deprecated functions
2021-11-30 23:17:35 -05:00
Richard Hansen
c4f18a9b3a
padutils: Rename warnWithStack()
to warnDeprecated()
...
This makes it more legitimate for tests to disable the warnings when
testing deprecated functionality.
2021-11-30 23:11:23 -05:00
Richard Hansen
a02e45499d
Use the new AttributeMap and Changeset APIs
2021-11-28 23:47:27 -05:00
Richard Hansen
f00b1ae89b
Merge branch 'master' into develop
2021-11-28 23:10:45 -05:00
Richard Hansen
142a47cbbc
Release v1.8.16
2021-11-28 23:03:58 -05:00
Richard Hansen
77bcb507b3
ImportEtherpad: Limit in-flight DB queries
2021-11-28 22:28:55 -05:00
Richard Hansen
5b3575acf0
ImportEtherpad: Use AttributePool to check attributes
2021-11-28 22:28:55 -05:00
Richard Hansen
19909eae53
ImportEtherpad: Rigorously check imported data
2021-11-28 22:28:55 -05:00
Richard Hansen
885ff3bcde
Pad: Move padLoad
hook invocation to PadManager.js
...
This puts global state change logic with the rest of the global state
management logic. This also makes it possible to create temporary Pad
objects without triggering plugin actions.
2021-11-28 22:28:55 -05:00
Richard Hansen
f7d4abdabe
Pad: Inject the database dependency
2021-11-28 22:28:55 -05:00
Richard Hansen
7c870f8a58
Pad: Add strict validation checks
2021-11-28 22:28:55 -05:00
Richard Hansen
2608a81654
Changeset: Stricter validation checks
2021-11-28 22:28:55 -05:00
Richard Hansen
ad78b24113
ImportEtherpad: Warn about unsupported attrib at encounter
2021-11-28 22:28:55 -05:00
Richard Hansen
23f8a12922
ImportEtherpad: Don't make any changes if data is bad
2021-11-28 22:28:55 -05:00
Richard Hansen
a2e77a7128
ImportEtherpad: Enforce single-pad records
2021-11-28 22:28:54 -05:00
Richard Hansen
33778281b9
ImportEtherpad: Simplify attribute key iteration
2021-11-28 22:28:54 -05:00
Richard Hansen
00fc7c8e86
ImportEtherpad: Reject unknown DB records
2021-11-28 22:27:44 -05:00
Richard Hansen
8e9bc8d325
ImportEtherpad: Avoid false positives when checking apool
2021-11-28 19:00:44 -05:00
Richard Hansen
003e5cbd4b
ImportEtherpad: Fix DB key pad ID transformation
2021-11-28 19:00:44 -05:00
Richard Hansen
fea7948b05
ImportEtherpad: Fix author info processing
2021-11-28 19:00:44 -05:00
Richard Hansen
777d045246
GroupManager: Clean up any mappings when deleting a group
2021-11-28 14:06:47 +00:00
Richard Hansen
5b37a56197
GroupManager: Use .setSub()
and parallel queries to avoid races
...
This also simplfies the code.
2021-11-27 22:20:03 -05:00
Richard Hansen
9d63700da0
SessionManager: Use .setSub()
and parallel queries to avoid races
...
This also simplfies the code.
2021-11-27 22:20:03 -05:00
Timon Engelke
3070cee9ca
Delete group after removing it from the group list
2021-11-27 22:20:03 -05:00
Timon Engelke
09c9e32d72
Delete session after corresponding group2session and author2session
2021-11-27 22:20:03 -05:00
Richard Hansen
2f0561abc0
ImportEtherpad: Remove unnecessary variable
2021-11-25 18:39:07 -05:00
Richard Hansen
9bc90128cb
ImportEtherpad: Fix async logic
2021-11-25 18:39:07 -05:00
webzwo0i
0983985dd5
easysync tests: Split into multiple files
2021-11-23 21:07:08 -05:00
webzwo0i
617515bcbb
easysync tests: Group related tests
2021-11-23 21:07:08 -05:00
webzwo0i
310444f5d3
easysync tests: Rename tests
2021-11-23 21:07:08 -05:00
webzwo0i
ec3833ab66
easysync tests: Convert IIFE into a describe()
2021-11-23 21:07:08 -05:00
Richard Hansen
6a7b54313f
easysync tests: Move shared helper functions to the top
...
This will make it easier to split `easysync.js` into multiple files.
2021-11-23 21:07:08 -05:00
Richard Hansen
d3427240c6
tests: Serve all of src/tests/frontend/
, not just specs
2021-11-23 21:07:07 -05:00
Richard Hansen
89fe40e080
Changeset: Migrate from OpIter
to deserializeOps()
2021-11-23 01:21:49 -05:00
Richard Hansen
0eca0251f2
Changeset: Use a generator to implement OpIter
2021-11-23 01:21:49 -05:00
Richard Hansen
a4aec006dc
Changeset: Turn opIterator()
into a real class
2021-11-23 01:21:12 -05:00
Richard Hansen
86959f7ebc
Changeset: Throw on unexpected chars while iterating ops
2021-11-23 01:21:12 -05:00
Richard Hansen
657492e191
Changeset: Turn newOp()
into a real class
2021-11-23 01:21:12 -05:00
Richard Hansen
fba0bb6dff
Changeset: Turn textLinesMutator()
into a real class
2021-11-23 01:21:12 -05:00
Richard Hansen
dab881139d
Pad: Fix copyPadWithoutHistory
apool corruption bug
2021-11-22 18:40:22 -05:00
Richard Hansen
ed78b56079
tests: Refine copyPadWithoutHistory
tests
2021-11-22 18:40:22 -05:00
Richard Hansen
d74dd235a4
Changeset: Replace appendATextToAssembler()
with a generator
2021-11-22 18:10:37 -05:00
Richard Hansen
9e772df991
deps: Bump dependencies
2021-11-21 21:31:53 -05:00
Richard Hansen
2fc06a0884
Changeset: Add TODO comments for issues noticed
2021-11-21 04:11:41 -05:00
Richard Hansen
f1eb7a25a6
Changeset: Migrate to the new attribute API
2021-11-21 04:11:41 -05:00
Richard Hansen
f40d285109
tests: Refine contentcollector tests
2021-11-21 04:11:41 -05:00
Richard Hansen
1f227200da
Replace separate attrib key, value calls with single pair call
2021-11-21 04:11:41 -05:00
Richard Hansen
6cf2055199
Changeset: New API to simplify attribute processing
2021-11-21 04:11:41 -05:00
Richard Hansen
982d8ad0f2
Changeset: Refactor makeAttribsString
for readability
2021-11-21 04:11:41 -05:00
Richard Hansen
9e7b142bb7
Invert conditions to improve readability
2021-11-21 04:11:41 -05:00
Richard Hansen
93abc31936
changesettracker: Fix author attribute ID fetch
2021-11-21 04:11:41 -05:00
Richard Hansen
d0e74ada2f
changesettracker: Remove unnecessary .numToAttrib
check
2021-11-21 04:11:41 -05:00
Richard Hansen
3ec5e84737
lint: Update ESLint dependencies
2021-11-21 03:34:19 -05:00
snyk-bot
cddd78d892
fix: upgrade formidable from 1.2.2 to 1.2.6
...
Snyk has created this PR to upgrade formidable from 1.2.2 to 1.2.6.
See this package in npm:
https://www.npmjs.com/package/formidable
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-11-21 03:11:38 -05:00
snyk-bot
ff0f81161f
fix: upgrade async from 3.2.1 to 3.2.2
...
Snyk has created this PR to upgrade async from 3.2.1 to 3.2.2.
See this package in npm:
https://www.npmjs.com/package/async
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-11-21 03:06:12 -05:00
snyk-bot
dd9814a4b8
fix: upgrade clean-css from 5.2.1 to 5.2.2
...
Snyk has created this PR to upgrade clean-css from 5.2.1 to 5.2.2.
See this package in npm:
https://www.npmjs.com/package/clean-css
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-11-21 03:04:52 -05:00
snyk-bot
7ed980aa59
fix: upgrade rate-limiter-flexible from 2.3.1 to 2.3.2
...
Snyk has created this PR to upgrade rate-limiter-flexible from 2.3.1 to 2.3.2.
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
2021-11-21 03:04:31 -05:00
John McLear
2e19087cb9
bump version
2021-11-20 15:20:35 +00:00
Richard Hansen
ae1741c25b
PadMessageHandler: Add missing parseNum()
for attribute lookup
2021-11-20 01:24:30 -05:00
Richard Hansen
a052580bd1
PadMessageHandler: Stop the USER_CHANGES timer on exception
2021-11-20 01:24:30 -05:00
Richard Hansen
97e382e5d2
PadMessageHandler: Move USER_CHANGES processing inside try
...
This improves the accuracy of the timing stats, and it simplifies
error handling.
2021-11-20 01:24:30 -05:00
Richard Hansen
b1c1501e1e
PadMessageHandler: Use object destructuring
2021-11-20 01:24:30 -05:00
Richard Hansen
e961718ff2
PadMessageHandler: Improve error logging
...
Use a log4js logger instead of `console`, and clean up some of the log
messages.
2021-11-20 01:24:30 -05:00
Richard Hansen
1447ab8899
PadMessageHandler: Factor out common USER_CHANGES error message formatting
2021-11-20 01:24:30 -05:00
Richard Hansen
35b2aeb3b1
PadMessageHandler: Factor out duplicate bad USER_CHANGES handling
...
This also fixes a double-count bug.
2021-11-20 01:24:30 -05:00
Richard Hansen
85919ff914
PadMessageHandler: Replace channels
package with async-friendly class
2021-11-20 01:24:30 -05:00
Richard Hansen
5c1177a3d9
PadMessageHandler: Switch from nodeify to util.callbackify
2021-11-20 01:24:30 -05:00
Richard Hansen
abf4eeeb17
ImportHtml: Wait for HTML processing to complete
2021-11-20 01:24:00 -05:00
Richard Hansen
50dce085c2
ImportHtml: In-line an unnecessary function
2021-11-20 01:24:00 -05:00
Richard Hansen
afdb01681a
ImportHtml: Reuse the HTML processor
2021-11-20 01:24:00 -05:00
Richard Hansen
db105e8650
ImportHtml: Get the logger once
2021-11-20 01:24:00 -05:00
Richard Hansen
6e19d888d3
docs: Check in src/bin/doc/package-lock.json
...
Looks like this was accidentally deleted in commit
4a65acf417
.
2021-11-20 01:09:50 -05:00
Richard Hansen
24b22e3a6d
MinifyWorker: Fix buggy error handling in compressCSS
2021-11-19 02:47:17 -05:00
Richard Hansen
98f0e931fe
MinifyWorker: Promisify compressCSS
2021-11-19 02:47:17 -05:00
Richard Hansen
c94906f1f8
MinifyWorker: Delete unhelpful comment
...
The comment should have been a commit message instead.
2021-11-19 02:47:17 -05:00
Richard Hansen
a65498e849
Changeset: Move SmartOpAssembler.appendOpWithText()
to a standalone function
2021-11-14 04:17:00 -05:00
Richard Hansen
eae814f5a0
pad_utils: New warnWithStack()
function
2021-11-14 04:15:10 -05:00
Richard Hansen
1bbe0d9215
Changeset: Use in
check to help TypeScript narrowing
2021-11-13 17:44:38 -05:00
Richard Hansen
4f4a775d9e
Changeset: Improve handling of missing attribute in old pool
2021-11-13 17:44:38 -05:00
Richard Hansen
b62534a6b2
Changeset: Use Maps to simplify attribute processing
2021-11-13 17:44:38 -05:00
Richard Hansen
9401ae876b
Changeset: Sort attributes by keys, not full string rep
2021-11-13 17:44:38 -05:00
Richard Hansen
1cad5d881a
Changeset: Use for...of
iteration to improve readability
2021-11-13 17:44:38 -05:00
Richard Hansen
6d5b737140
Changeset: Replace .apply()
with spread operator
2021-11-13 17:44:38 -05:00
Richard Hansen
9c17b03660
Changeset: Require Op opcode and attribs to be strings
2021-11-13 17:44:38 -05:00
Richard Hansen
0ae8fb1441
Changeset: Use string concatenation instead of array join
...
People report that string concatenation is faster. Also, I think it's
more readable.
2021-11-13 17:44:38 -05:00
Richard Hansen
097f2623c6
Changeset: Add sanity checks to slicerZipperFunc()
2021-11-13 17:44:38 -05:00
Richard Hansen
efeb69b4ea
Changeset: Simplify slicerZipperFunc()
2021-11-13 17:44:38 -05:00
Richard Hansen
42d4d8269c
Changeset: Refactor appendATextToAssembler()
for readability
2021-11-13 17:44:38 -05:00
Richard Hansen
ca5bdddc59
Changeset: Use break
instead of done
variable
2021-11-13 17:44:38 -05:00
Richard Hansen
44d99733c6
Changeset: Check .hasNext()
before calling .next()
2021-11-13 17:44:38 -05:00
Richard Hansen
1955e7b263
Changeset: Replace output params with return values
...
This improves readability and reduces the chances of introducing a
bug.
2021-11-13 17:44:38 -05:00
Richard Hansen
94f5507671
Changeset: Improve copyOp()
API
...
Use `Object.assign()` to implement `copyOp()`, which simplifies the
code and provides a return value. Also make the second op optional.
2021-11-13 17:44:38 -05:00
Richard Hansen
02ef78e174
Changeset: Make sure opOut
is cleared
...
`slicerZipperFunc()` previously assumed the provided `opOut` argument
was a null Op. Enforce this by clearing it at the beginning.
2021-11-13 17:44:38 -05:00
Richard Hansen
18a6b7279c
Changeset: Only pass strings to parseNum()
2021-11-13 17:44:38 -05:00
Richard Hansen
7ec0d5f385
Changeset: Remove unnecessary linesApplySplice()
2021-11-13 17:44:38 -05:00
Richard Hansen
37bb297e76
Changeset: Improve logged error message
...
I saw this on a production system today and wanted more information.
2021-11-13 17:44:38 -05:00
Richard Hansen
7fa9b07116
Changeset: Invert conditions to improve readability
2021-11-13 17:44:38 -05:00
Richard Hansen
b29e59419e
Changeset: Factor out duplicate code
2021-11-13 17:44:38 -05:00
Richard Hansen
4a65c2c8ff
Changeset: Unexport unnecessarily exported functions
...
These functions aren't used outside of this file.
2021-11-13 17:44:38 -05:00
Richard Hansen
085bc8cbb3
plugins: Don't create .ep_initialized
files
...
These files cause problems with Docker images and read-only
directories/mounts, and they have dubious value (any install-time
setup should instead be done at startup).
2021-11-13 17:43:33 -05:00
Richard Hansen
263105d185
tests: Remove overly aggressive timeouts
2021-11-13 03:05:38 -05:00
Richard Hansen
3c6aef11bd
lint: Add 'use strict';
2021-11-13 03:02:40 -05:00
Richard Hansen
0f7c5a8782
lint: Use window.
to avoid global declaration
2021-11-12 23:45:05 -05:00