Richard Hansen
d56a02c85a
express: Forcibly terminate HTTP connections when restarting
...
This should make restarts via `/admin` actions (e.g., plugin
installation) more reliable.
2021-02-13 07:37:22 +00:00
John McLear
4c4c7b526d
performance: i18n maxage ( #4759 )
2021-02-13 02:35:25 -05:00
Richard Hansen
01c83917d1
socket.io: Manually track client connections/disconnections
...
This change is required for socket.io 3.x because in 3.x
`io.sockets.clients()` no longer returns all client Socket objects.
2021-02-13 07:13:37 +00:00
Richard Hansen
8f2f6593be
lint: Re-run eslint --fix
2021-02-13 00:31:36 -05:00
John McLear
55c96e5577
socketio: increase socketio limit to 1MiB
2021-02-12 17:56:50 -05:00
Richard Hansen
73d31b12a8
Minify: Replace deprecated url.parse()
with new URL()
2021-02-12 07:08:51 +00:00
Richard Hansen
7efca7dc7d
Minify: Don't ignore request headers in requestURI()
2021-02-12 07:08:51 +00:00
Richard Hansen
7a003cb9e2
Minify: Let Express render the 500 error page
2021-02-12 07:08:51 +00:00
Richard Hansen
44e420b6c5
Minify: Return Date
objects from statFile()
2021-02-12 07:08:51 +00:00
Richard Hansen
aa11667ff7
Minify: Use fs.promises
2021-02-12 07:08:51 +00:00
Richard Hansen
073052ac66
Minify: Asyncify minify()
2021-02-12 07:08:51 +00:00
Richard Hansen
3eefe71834
Minify: Don't set cache headers if statFile()
causes 500
2021-02-12 07:08:51 +00:00
Richard Hansen
84190793dc
Minify: Asyncify getFileCompressed()
2021-02-12 07:08:51 +00:00
Richard Hansen
dd7ea1a8f9
Minify: Asyncify statFile()
2021-02-12 07:08:51 +00:00
Richard Hansen
947dc8eeed
Minify: Asyncify getFile()
2021-02-12 07:08:51 +00:00
Richard Hansen
5d7c07e81c
Minify: Asyncify lastModifiedDateOfEverything()
2021-02-12 07:08:51 +00:00
Richard Hansen
e573276755
Minify: Asyncify getAceFile()
2021-02-12 07:08:51 +00:00
Richard Hansen
5cc191f185
Minify: Replace async.forEach()
with Promise.all()
2021-02-12 07:08:51 +00:00
Richard Hansen
0c428e068e
Minify: Use Promise.all()
to simplify requestURIs()
2021-02-12 07:08:51 +00:00
Richard Hansen
1ec29e0d45
Minify: Asyncify requestURI()
2021-02-12 07:08:51 +00:00
Richard Hansen
a952df2cf5
Minify: Un-export requestURI()
...
Nobody outside this file uses it.
2021-02-12 07:08:51 +00:00
Richard Hansen
d9607f7c66
static: Asyncify
2021-02-12 07:08:51 +00:00
Richard Hansen
7f4a7156e2
Minify: Move getTar()
to static.js
...
`static.js` is the only file that uses it.
2021-02-12 07:08:51 +00:00
Richard Hansen
996dc81825
Minify: Move tar processing into a function
...
This reduces the overhead of `require()`ing the module, and it will
make it easier for a future commit to asyncify everything in
`Minify.js`.
2021-02-12 07:08:51 +00:00
Richard Hansen
50929fe7f7
express: Call expressConfigure, expressCreateServer hooks asynchronously
2021-02-12 07:08:51 +00:00
Richard Hansen
8919f63c98
lint: Replace use of underscore.js with plain ECMAScript
2021-02-12 07:08:51 +00:00
John McLear
ab127289c4
security: limit socketio to 1M chars
2021-02-11 21:01:47 -05:00
Richard Hansen
ce1b69feda
plugins: Helper function to run the npm
CLI
2021-02-09 22:18:35 +00:00
Richard Hansen
83a519941b
/admin/plugins: Fix logging of error messages
2021-02-09 22:18:35 +00:00
Richard Hansen
ebdb2798ff
server: Fix handling of errors during startup and shutdown
...
Before, an unhandled rejection or uncaught exception during startup
would cause `exports.exit()` to wait forever for startup completion.
Similarly, an error during shutdown would cause `exports.exit()` to
wait forever for shutdown to complete. Now any error during startup or
shutdown triggers an immediate exit.
2021-02-09 08:57:24 +00:00
Richard Hansen
5999d8cd44
server: Only pass err
arg to exports.exit()
...
The `uncaughtException` event handlers are passed two arguments: error
and "origin". The `exports.exit()` argument doesn't expect a second
argument.
2021-02-09 08:57:24 +00:00
Richard Hansen
5b327b63ac
server: Simplify gating of state transition waiters
2021-02-09 08:57:24 +00:00
Richard Hansen
105f8b0ccb
server: Use a log4js logger object for logging
2021-02-09 08:57:24 +00:00
Richard Hansen
1e3f352281
openapi: Turn down logging verbosity
2021-02-09 07:24:31 +00:00
John McLear
2b112ac851
tests: Admin Frontend Test Coverage( #4717 )
...
Covers all frontend admin operations, runs separated in CI.
2021-02-07 11:32:57 +00:00
John McLear
e02246641e
ordered lists bugfix: first line item can be 0.*, don't show 0 as undefined ( #4600 )
2021-02-06 20:19:05 +00:00
John McLear
c969ae58c2
stats: activePads & lastDisconnected stats
2021-02-06 19:53:52 +00:00
Richard Hansen
8b28e00784
restructure: Prefix bin/
and tests/
with src/
...
This is a follow-up to commit
2ea8ea1275
.
2021-02-05 21:52:08 +00:00
Richard Hansen
746cc8cc34
pluginfw: In-line formatPluginsWithVersion()
...
There's only one caller of the function, so move the logic to where it
is used.
2021-02-04 08:41:00 +00:00
Richard Hansen
cd1d322af4
/admin/plugins/info: Move logic to .js
file
2021-02-04 08:41:00 +00:00
freddii
ea202e41f6
docs: fixed typos
2021-02-03 00:30:07 +01: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
c1ef12b8da
lint: Re-run eslint --fix
2021-01-29 01:14:03 -05:00
Richard Hansen
53092fa7af
db/Pad: Call padCopy and padRemove hooks asynchronously
2021-01-28 09:36:22 +00:00