Richard Hansen
2c80c1f2da
lint: src/static/js/pluginfw/read-installed.js
2021-02-04 08:41:00 +00:00
Richard Hansen
2b32bc1840
lint: src/static/js/pluginfw/plugins.js
2021-02-04 08:41:00 +00:00
Richard Hansen
9a86ebec2a
pluginfw: Fix state reset logic
2021-02-04 08:41:00 +00:00
Richard Hansen
895764e047
pluginfw: Return from findUnmet()
early if not given an object
...
For some reason strings are sometimes passed to `findUnmet()`, which
is obviously unexpected given the way the code is written. Rather than
figure out why strings are passed and how to safely avoid passing
strings, just return early. The net effect is the same, but returning
early avoids setting a property on a string, which is prohibited in
strict mode.
2021-02-04 08:41:00 +00:00
Richard Hansen
a06662fd00
pluginfw: Delete commented-out code
2021-02-04 08:41:00 +00:00
Richard Hansen
c64ee6ff4c
pluginfw: Call npm.load()
before using npm
...
This code is only used when testing `read-installed.js` by running it
directly (e.g., `node src/static/js/pluginfw/read-installed.js`).
2021-02-04 08:41:00 +00:00
translatewiki.net
a5bde7982a
Localisation updates from https://translatewiki.net .
2021-02-04 08:58:26 +01:00
John McLear
1076783985
tests: backend test coverage for #3227 where a group cannot be deleted if it has pads.
2021-02-03 10:39:30 +00:00
freddii
ea202e41f6
docs: fixed typos
2021-02-03 00:30:07 +01:00
John McLear
65dec5bd2c
lint: json.js
2021-02-02 15:24:12 -05:00
Richard Hansen
05e0e8dbf7
hooks: New callAllSerial()
function
...
This is necessary to migrate away from `callAll()` (which only
supports synchronous hook functions).
2021-02-02 09:09:02 +00:00
Richard Hansen
763fe6fc26
hooks: Document callFirst()
and aCallFirst()
2021-02-02 09:09:02 +00:00
Richard Hansen
ba0544ea9e
hooks: Add unit tests for callFirst()
, aCallFirst()
2021-02-02 09:09:02 +00:00
Richard Hansen
6f30ea7c38
hooks: Use callHookFn{Sync,Async}()
for {call,aCall}First()
...
Benefits of `callHookFnSync()` and `callHookFnAsync()`:
* They are a lot more forgiving than `hookCallWrapper()` was.
* They perform useful sanity checks.
* They have extensive unit test coverage.
* They make the behavior of `callFirst()` and `aCallFirst()` match
the behavior of `callAll()` and `aCallAll()`.
2021-02-02 09:09:02 +00:00
Richard Hansen
c11d60c5f6
hooks: Check context nullness, not truthiness
2021-02-02 09:09:02 +00:00
Richard Hansen
fd5d3ce777
hooks: Inline aCallFirst()
into exports.aCallFirst()
2021-02-02 09:09:02 +00:00
Richard Hansen
77f480d954
hooks: Asyncify aCallFirst
2021-02-02 09:09:02 +00:00
Richard Hansen
22d02dbcbf
hooks: Factor out value normalization
2021-02-02 09:09:02 +00:00
Richard Hansen
f316a3bacd
hooks: Never pass a falsy error to a callback
2021-02-02 09:09:02 +00:00
Richard Hansen
708206449a
hooks: Factor out callback attachment
...
The separate function will be reused in a future commit.
2021-02-02 09:09:02 +00:00
Richard Hansen
13e806ad7a
hooks: Inline mapFirst()
into aCallFirst()
for readability
...
There's only one caller of the function, and the function is simple,
so there's no need for a separate function.
2021-02-02 09:09:02 +00:00
Richard Hansen
4ab7a99512
hooks: Inline syncMapFirst()
into callFirst()
for readability
...
There's only one caller of the function, and the function is simple,
so there's no need for a separate function.
2021-02-02 09:09:02 +00:00
Richard Hansen
53ccfa8703
hooks: Asyncify mapFirst
2021-02-02 09:09:02 +00:00
Richard Hansen
0b83ff8ec2
hooks: Simplify syncMapFirst
iteration
2021-02-02 09:09:02 +00:00
Richard Hansen
c89db33ff0
hooks: Refine caveat comments about function parameter count
2021-02-02 09:09:02 +00:00
Richard Hansen
f02f288e80
hooks: Rename args
to context
for consistency
2021-02-02 09:09:02 +00:00
Richard Hansen
7dba847f21
hooks: Don't export syncMapFirst
or mapFirst
...
Nobody uses these functions outside of this file.
2021-02-02 09:09:02 +00:00
Richard Hansen
6b42dabf6c
hooks: Delete unused bubbleExceptions
setting
2021-02-02 09:09:02 +00:00
Richard Hansen
ba02e70020
tests: Make the fake webaccess hook registrations look more real
...
The additional properties will be needed once `aCallAll()` is upgraded
to use `callHookFnAsync()`.
2021-02-02 09:09:02 +00:00
Richard Hansen
47f0a7dacf
lint: Fix more ESLint errors
2021-02-02 09:09:02 +00:00
Richard Hansen
1bc52f4913
hooks: Remove unnecessary callAllStr()
function
2021-02-02 09:09:02 +00:00
John McLear
3e910b9905
stale: remove convert.js as no one runs old Etherpad
2021-02-01 22:45:51 +00:00
John McLear
915849b319
Low hanging lint frontend tests ( #4695 )
...
* lint: low hanging specs/alphabet.js
* lint: low hanging specs/authorship_of_editions.js
* lint: low hanging specs/bold.js
* lint: low hanging specs/caret.js
* lint: low hanging specs/change_user_color.js
* lint: low hanging specs/change_user_name.js
* lint: low hanging specs/chat.js
* lint: low hanging specs/chat_load_messages.js
* lint: low hanging specs/clear_authorship_colors.js
* lint: low hanging specs/delete.js
* lint: low hanging specs/drag_and_drop.js
* lint: low hanging specs/embed_value.js
* lint: low hanging specs/enter.js
* lint: low hanging specs/font_type.js
* lint: low hanging specs/helper.js
* lint: low hanging specs/importexport.js
* lint: low hanging specs/importindents.js
* lint: low hanging specs/indentation.js
* lint: low hanging specs/italic.js
* lint: low hanging specs/language.js
* lint: low hanging specs/multiple_authors_clear_authorship_colors.js
* lint: low hanging specs/ordered_list.js
* lint: low hanging specs/pad_modal.js
* lint: low hanging specs/redo.js
* lint: low hanging specs/responsiveness.js
* lint: low hanging specs/select_formatting_buttons.js
* lint: low hanging specs/strikethrough.js
* lint: low hanging specs/timeslider.js
* lint: low hanging specs/timeslider_labels.js
* lint: low hanging specs/timeslider_numeric_padID.js
* lint: low hanging specs/timeslider_revisions.js
* lint: low hanging specs/undo.js
* lint: low hanging specs/unordered_list.js
* lint: low hanging specs/xxauto_reconnect.js
* lint: attempt to do remote_runner.js
* lint: helper linting
* lint: rate limit linting
* use constructor for Event to make eslint happier
* for squash: lint fix refinements
* for squash: lint fix refinements
Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-01 20:23:14 +00:00
Richard Hansen
759e2aaec3
lint: Use node config for tests/frontend/travis, tests/ratelimit
...
The files in these directories contain test drivers, not tests.
2021-02-01 19:52:24 +00:00
John McLear
9987fab574
lint: low hanging bin/doc/*.js
2021-02-01 13:15:48 -05:00
translatewiki.net
5b701b97c3
Localisation updates from https://translatewiki.net .
2021-02-01 15:21:50 +01:00
John McLear
b3dda3b11c
lint: src/static/js/pluginfw/*.js
2021-01-30 17:00:40 -05:00
John McLear
0cc8405e9c
Bump minimum required Node.js version to 10.17.0
...
This makes it possible to use fs.promises.
2021-01-30 17:00:40 -05:00
Richard Hansen
877f0c5883
server: Use wtfnode to log reasons why node isn't exiting
2021-01-30 08:05:08 +00:00
Richard Hansen
ba81ead101
server: Remove all other signal listeners
2021-01-30 08:05:08 +00:00
Richard Hansen
ecdb105bfe
server: Refine process lifetime management
...
Define states and use them to properly handle multiple calls to
`start()`, `stop()`, and `exit()`. (Multiple calls to `exit()` can
happen if there is an uncaught exception or signal during shutdown.)
This should also make it easier to add support for cleanly restarting
the server after a shutdown (for tests or via an `/admin` page).
2021-01-30 08:05:08 +00:00
Richard Hansen
725023fe58
server: Refactor stop()
to avoid no-async-promise-executor lint error
...
Also log when Etherpad has stopped.
2021-01-30 08:05:08 +00:00
Richard Hansen
d339f2a671
server: Perform init after adding uncaught exception handler
...
This avoids an unnecessary `try` block.
2021-01-30 08:05:08 +00:00
Richard Hansen
86ceb2b610
server: Exit on unhandled Promise rejection
2021-01-30 08:05:08 +00:00
Richard Hansen
0ad0160b7c
bin/rebuildPad.js: Fix check for existing rev
2021-01-30 07:45:37 +00:00
Richard Hansen
846e3e9fbd
bin/rebuildPad.js: Don't overwrite DB settings
...
There's no need, and setting `json` to true breaks databases that do
their own serialization of ECMAScript objects.
2021-01-30 07:45:37 +00:00
Richard Hansen
bf209ddad3
bin/rebuildPad.js: Close the database when done
...
This prevents loss of data due to unflushed writes.
2021-01-30 07:45:37 +00:00
Richard Hansen
809dc6e367
bin/rebuildPad.js: PadManager must be loaded before Pad
...
There is a circular dependency between the two; loading PadManager
first ensures that PadManager's Pad variable is not undefined.
2021-01-30 07:45:37 +00:00
Richard Hansen
5b519b9a9c
bin/rebuildPad.js: Asyncify
2021-01-30 07:45:37 +00:00
Richard Hansen
72c2abab8d
bin/rebuildPad.js: Fix sequencing of asynchronous functions
2021-01-30 07:45:37 +00:00