Richard Hansen
712b8c5769
tests: Redirect /tests/frontend
to /tests/frontend/
2021-06-05 03:49:12 -04:00
Richard Hansen
573da027e5
tests: Preserve query string when redirecting
2021-06-05 03:49:12 -04:00
Richard Hansen
dfd649dbe9
tests: Use a relative redirect for /tests/frontend
...
This avoids problems if Etherpad is served under a path like
`/etherpad`.
2021-06-03 15:10:23 -04:00
Richard Hansen
617267ce71
tests: Use plugin_defs
to get plugin frontend test spec paths
2021-06-03 15:10:23 -04:00
Richard Hansen
1b7b96f57e
tests: Avoid deprecated fs.existsSync()
2021-06-03 15:10:23 -04:00
Richard Hansen
ab824c728f
tests: Move slashes to improve readability
2021-06-03 15:10:22 -04:00
Richard Hansen
1516bf473f
tests: Delete unnecessary staticDir
variable
2021-06-03 15:10:22 -04:00
Richard Hansen
d69345bb4e
tests: Use map+reduce to improve readability
2021-06-03 15:10:22 -04:00
Richard Hansen
a8e77126e8
tests: Combine .map().filter().map()
into single .map()
2021-06-03 15:10:22 -04:00
Richard Hansen
2414203434
tests: Remove unnecessary return
2021-06-03 15:10:22 -04:00
Richard Hansen
0852df74f1
tests: Unexport unnecessarily exported functions
2021-06-03 15:10:22 -04:00
Richard Hansen
ed44449639
tests: Pretty-print frontendTestSpecs.js
to make troubleshooting easier
2021-06-03 15:10:22 -04:00
Richard Hansen
4fa9f9e9d8
tests: Use window.foo
instead of var foo
2021-06-03 15:10:22 -04:00
Richard Hansen
aea2fb7448
tests: Rename specs_list
to frontendTestSpecs
2021-06-03 15:10:22 -04:00
Richard Hansen
b85a040f13
tests: Reuse sanitizePathname
when serving frontend specs
2021-06-03 15:10:22 -04:00
Richard Hansen
ade17490e0
tests: Combine frontend test file handlers
2021-06-03 15:10:22 -04:00
Richard Hansen
995e381243
tests: Only wrap *.js
files in describe()
2021-06-03 15:10:22 -04:00
Richard Hansen
e1c2c963f0
tests: URL decode test spec pathnames
...
Express automatically URL decodes route parameters.
2021-06-03 15:10:22 -04:00
Richard Hansen
998e77ec25
tests: Switch to promisified readFile
2021-06-03 15:10:22 -04:00
Richard Hansen
6cf27a7133
tests: Use fs.promises
instead of wrapping with util.promisify
2021-06-03 15:10:22 -04:00
Richard Hansen
f00f9aa14c
tests: Avoid .then()
inside async
functions
2021-06-03 15:10:22 -04:00
Richard Hansen
d87b4e0c20
tests: Use async
/await
instead of returning Promises
...
This makes stack traces more useful.
2021-06-03 15:10:21 -04:00
Richard Hansen
0d9476529e
sanitizePathname: Move to separate module to facilitate reuse
2021-06-03 15:10:21 -04:00
Richard Hansen
926da57e34
Minify: Refine sanitizePathname
to avoid pathname traversal
2021-06-03 15:10:21 -04:00
Richard Hansen
6f2f20233f
lint: Fix straightforward ESLint errors
2021-05-12 11:26:35 +02:00
Richard Hansen
59c03bde20
lint: Re-run eslint --fix
2021-05-12 11:26:35 +02:00
Richard Hansen
b040ebf419
Revert "PadMessageHandler: Use a Map
for sessioninfos
"
...
Switching to a Map broke ep_webrtc and maybe other plugins.
This reverts commit eeead46437
.
2021-05-05 18:09:10 -04:00
Richard Hansen
eeead46437
PadMessageHandler: Use a Map
for sessioninfos
...
Maps are a bit more flexible, have clearer semantics, and have a
convenient `size` property.
2021-05-03 01:35:11 -04:00
Richard Hansen
14d4aadfe4
PadMessageHandler: Parallelize client updates
...
Multiple clients are updated in parallel, but multiple revisions sent
to a particular client are still sent sequentially.
2021-05-03 01:35:11 -04:00
Richard Hansen
770755debf
PadMessageHandler: Assume sessioninfo stays valid during client update
...
...but add a try/catch around the message transmission just in case.
2021-05-03 01:35:11 -04:00
Richard Hansen
c85391862b
PadMessageHandler: Avoid unnecessary property lookups
2021-05-03 01:35:11 -04:00
Richard Hansen
d5c6a44d9c
PadMessageHandler: Improve documentation of sessioninfos
2021-05-03 01:35:11 -04:00
Richard Hansen
4c4415e14a
PadMessageHandler: Register activePads
metric only once
2021-05-03 01:35:11 -04:00
Richard Hansen
8f236b8687
Minify: Avoid crash due to unhandled Promise rejection if stat fails
2021-05-03 01:26:49 -04:00
Richard Hansen
e8df643d75
Minify: Treat ENOTDIR
like ENOENT
when statting a file
...
This avoids an exception when require-kernel requests a path like
`existing-file.js/index.js`.
2021-05-03 01:26:48 -04:00
Richard Hansen
aaacbd3a7a
Minify: Refactor requestURI()
for readability
2021-05-03 01:26:48 -04:00
Richard Hansen
ea8846154f
favicon: Redo favicon customization
2021-04-20 13:33:55 -04:00
Richard Hansen
92e0bff80c
favicon: Refactor handler and add tests
2021-04-20 13:33:55 -04:00
Richard Hansen
d0d4b95980
favicon: Only serve from /favicon.ico
2021-04-20 13:33:54 -04:00
webzwo0i
3a5af19492
AuthorManager: await for more db methods
2021-04-20 11:27:44 -04:00
webzwo0i
35797e57fc
AuthorManager: await db.set in createAuthor
2021-04-20 11:27:44 -04:00
Chocobozzz
a001a13411
fix(perf): Disable wtfnode dump by default
...
Consumes a lot of CPU so it's better to enable it on purpose
2021-04-13 16:01:41 +02:00
Richard Hansen
951d369e3f
padaccess: Delete useless try/catch
2021-04-12 22:51:06 -04:00
Richard Hansen
329d037431
Simplify read-only pad ID checks
2021-04-12 22:51:06 -04:00
pcworld
3c71e8983b
Fix read only pad access with authentication
...
Before this commit, webaccess.checkAccess saved the authorization in
user.padAuthorizations[padId] with padId being the read-only pad ID,
however later stages, e.g. in PadMessageHandler, use the real pad ID for
access checks. This led to authorization being denied.
This commit fixes it by only storing and comparing the real pad IDs and
not read-only pad IDs.
This fixes test case "authn user readonly pad -> 200, ok" in
src/tests/backend/specs/socketio.js.
2021-04-12 22:51:06 -04:00
Richard Hansen
1ad134a538
PadMessageHandler: Improve logging of pre-CLIENT_READY drops
...
This should make it easier to see what is emitting the the messages so
it can be fixed.
2021-04-09 18:43:02 +02:00
Richard Hansen
91e99c84ca
import: Reduce log spam from unsupported elements
2021-04-09 18:43:02 +02:00
Richard Hansen
09c349e2a1
import: Use a Set for supported elements
2021-04-09 18:43:02 +02:00
webzwo0i
e483b91916
Don't make browsers fail on sync-xhr until require-kernel is dropped
2021-04-05 04:34:29 -04:00
Richard Hansen
eb3cff5b3a
LibreOffice: Remove unnecessary callbackification
...
`async.queue` will do the right thing if passed an `async` function.
2021-03-20 20:29:55 +00:00