webzwo0i
485538bd79
bump wtfnode to fix #5078
2021-06-17 06:14:45 +02:00
Richard Hansen
251cc7ab32
CSS: Fix button icon centering
2021-06-16 18:27:52 -04:00
Richard Hansen
53cca5a743
PadMessageHandler: Also send USER_NEWINFO
messages on reconnect
...
Now the user list is correct after a reconnect. This also allows
ep_webrtc to automatically recover after a temporary network glitch.
2021-06-16 01:35:25 -04:00
Richard Hansen
7ca336c28e
lint: Update eslint-config-etherpad and friends
2021-06-14 23:17:17 +02:00
Richard Hansen
ef1ba21104
deps: Drop support for Node.js < 12.13.0
2021-06-14 23:17:17 +02:00
webzwo0i
66ee9c5ef9
update package-lock
2021-06-14 13:21:48 -04:00
Richard Hansen
5dcb7a7549
tests: Don't attempt to wrap non-functions
2021-06-14 13:45:13 +02:00
Richard Hansen
081b97c41d
tests: Wrap more Mocha functions
2021-06-14 13:45:13 +02:00
Richard Hansen
3e4df68510
tests: Enable fake webcam on Microsoft Edge
2021-06-10 15:36:35 -04:00
Richard Hansen
565b1c5271
tests: Fix flexbox grow/shrink factors
...
* Make sure the `#mocha-report` div grows to fill the available
vertical space.
* Prevent the "Loading frontend test specs..." div from shrinking.
2021-06-10 13:28:55 -04:00
Richard Hansen
acd11c3948
tests: Fetch frontend test specs in parallel
2021-06-09 20:28:03 -04:00
Richard Hansen
36d2af5318
tests: Display frontend spec loading progress
2021-06-09 20:18:22 -04:00
Richard Hansen
e0ae997501
tests: Don't auto-scroll Mocha results if user scrolls up
2021-06-09 18:48:31 -04:00
Richard Hansen
f5046f4b18
tests: Keep the #mocha-stats
div visible
2021-06-09 18:48:31 -04:00
snyk-bot
ea4500ef64
fix: upgrade express-session from 1.17.1 to 1.17.2
...
Snyk has created this PR to upgrade express-session from 1.17.1 to 1.17.2.
See this package in npm:
https://www.npmjs.com/package/express-session
See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=upgrade-pr
2021-06-09 22:13:02 +00:00
translatewiki.net
28f2acf98a
Localisation updates from https://translatewiki.net .
2021-06-07 14:48:08 +02:00
Richard Hansen
cccabf45b8
pad: Move error message to the top of the gritter box
2021-06-06 21:31:49 -04:00
Richard Hansen
b2e94685fb
pad: Display error name in the gritter box
2021-06-06 21:31:40 -04:00
Richard Hansen
63a5dc6599
tests: Configure Firefox to use fake webcam
...
This makes it possible to test ep_webrtc in Firefox.
2021-06-06 16:53:51 -04:00
Richard Hansen
8f0d70312d
tests: Also pass --use-fake-ui-for-media-stream
to Chrome
...
For testing ep_webrtc.
2021-06-06 16:25:27 -04:00
Richard Hansen
752e2488af
tests: Migrate from wd
to selenium-webdriver
2021-06-06 16:23:56 -04:00
Richard Hansen
1756415495
tests: Avoid jQuery when reading Mocha output
2021-06-06 16:20:13 -04:00
Richard Hansen
6c2f31a5cb
tests: Add tests for settings.json
parsing
2021-06-06 14:00:52 -04:00
Richard Hansen
428f8d1684
Settings: Deprecate null as the default default value
2021-06-06 14:00:52 -04:00
Richard Hansen
c7bb18c6da
Settings: Support null and undefined env var substitutions
2021-06-06 14:00:51 -04:00
Richard Hansen
299dbbe7e6
tests: Move split-grid to dev dependencies
...
This is only used for testing.
2021-06-06 06:45:00 -04:00
Richard Hansen
45ca82fd9f
tests: Make the Mocha results area resizable
2021-06-05 03:51:55 -04:00
Richard Hansen
c4239b6059
tests: Show a scrollbar if the pad is too wide
2021-06-05 03:51:11 -04:00
Richard Hansen
fc3b811726
tests: Move iframe min width to iframe selector
2021-06-05 03:51:11 -04:00
Richard Hansen
960c2c0c0d
tests: Tweak mocha report spacing
2021-06-05 03:51:11 -04:00
Richard Hansen
b09b895ac7
tests: Remove border around iframe
2021-06-05 03:51:11 -04:00
Richard Hansen
e9f08bdd11
tests: Fix frontend test CSS selectors
2021-06-05 03:51:11 -04:00
Richard Hansen
76634eb6ff
tests: Add missing <head>
and <body>
tags
2021-06-05 03:51:11 -04:00
Richard Hansen
d9782ac628
tests: Send frontend test spec list as JSON
2021-06-05 03:51:06 -04:00
Richard Hansen
20df34bb67
tests: Promisify helper.init()
2021-06-05 03:50:36 -04:00
Richard Hansen
c714ff1014
tests: Let Express handle errors when serving frontendTestSpecs.js
...
Express v4.x doesn't understand Promises so we have to manually catch
Promise rejections and pass the error object to `next()`.
2021-06-05 03:50:36 -04:00
Richard Hansen
e4f011df76
tests: Use require()
to load frontend test specs
...
This makes core and plugin tests consistent with each other, makes it
possible to `require()` relative paths in spec files, simplifies the
code somewhat, and should make it easier to move away from
require-kernel.
Also:
* Wrap plugin tests inside a `describe()` that contains the plugin
name to make it easier to grep for a plugin's tests and for
consistency with core tests.
* Add "<core>" to the core test descriptions to make it easier to
distinguish them from plugin tests.
2021-06-05 03:50:26 -04:00
Richard Hansen
d8eb79428f
tests: Recurse under frontend spec dir
2021-06-05 03:49:13 -04:00
Richard Hansen
5d54c1657a
tests: Redirect /tests/frontend/index.html
to /tests/frontend/
2021-06-05 03:49:12 -04:00
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
9cba96e5e9
tests: Use relative paths for scripts
2021-06-05 03:49:12 -04:00
Richard Hansen
e144434571
tests: Use relative paths in helper.init()
...
This avoids problems if Etherpad is served under a path like
`/etherpad`.
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
1be1b704f1
tests: Simplify iteration over frontend test specs
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
translatewiki.net
3bca85286b
Localisation updates from https://translatewiki.net .
2021-06-03 15:12:59 +02:00
translatewiki.net
8f63671ea9
Localisation updates from https://translatewiki.net .
2021-05-31 10:02:43 +02:00
translatewiki.net
a04089636c
Localisation updates from https://translatewiki.net .
2021-05-27 15:37:31 +02:00
translatewiki.net
c426e939d1
Localisation updates from https://translatewiki.net .
2021-05-24 14:00:35 +02: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
30eadad79d
lint: Bump ESLint dependencies
2021-05-12 11:26:35 +02:00
webzwo0i
24929d3417
package.json: bump npm from 6.14.11 to 6.14.13
2021-05-07 14:58:57 +02:00
webzwo0i
10f00906f8
update package-lock.json
2021-05-07 14:58:57 +02:00
snyk-bot
ff245dbbeb
fix: upgrade underscore from 1.13.0 to 1.13.1
...
Snyk has created this PR to upgrade underscore from 1.13.0 to 1.13.1.
See this package in npm:
https://www.npmjs.com/package/underscore
See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=upgrade-pr
2021-05-07 14:27:30 +02:00
translatewiki.net
4701cc43fa
Localisation updates from https://translatewiki.net .
2021-05-07 10:50:38 +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
webzwo0i
3c087af038
caretPosition: fix loading when iframe is hidden
2021-05-04 23:56:13 +02:00
Richard Hansen
8baacd514e
remote_runner: Always call browser.quit()
2021-05-03 01:48:08 -04:00
Richard Hansen
081f739a8d
remote_runner: Update browser list
...
Use latest versions of Chrome, Firefox, Safari, and Edge. Keep the old
Chrome version.
2021-05-03 01:48:08 -04:00
Richard Hansen
a7cd0a4b25
remote_runner: Avoid re-sending the same console text over and over
2021-05-03 01:48:08 -04:00
Richard Hansen
25275f2744
remote_runner: Treat no text as 0 lines, not 1 empty line
2021-05-03 01:48:08 -04:00
Richard Hansen
a17556b876
remote_runner: Avoid searching the full text for "FINISHED"
2021-05-03 01:48:08 -04:00
Richard Hansen
3409e3f5e6
remote_runner: Prevent Sauce errors from interrupting other tests
2021-05-03 01:48:08 -04:00
Richard Hansen
68b041c4fb
remote_runner: Use newline instead of backslash n
2021-05-03 01:48:08 -04:00
Richard Hansen
713e57b451
remote_runner: Don't break long lines
...
Breaking lines makes it harder to read and search the test output.
2021-05-03 01:48:08 -04:00
Richard Hansen
7d75e0ef8f
remote_runner: Simplify append()
2021-05-03 01:48:08 -04:00
Richard Hansen
bbb3046a87
remote_runner: Promisify
2021-05-03 01:48:08 -04:00
Richard Hansen
9059a55873
remote_runner: Improve readability of timeout duration
2021-05-03 01:48:08 -04:00
Richard Hansen
c803ec81f1
remote_runner: Handle webdriver errors
2021-05-03 01:48:08 -04:00
Richard Hansen
7f57b17b2e
remote_runner: Use Error objects to convey pass/fail
2021-05-03 01:48:08 -04:00
Richard Hansen
4ec02a9af9
remote_runner: Simplify finished test check
2021-05-03 01:48:08 -04:00
Richard Hansen
b0e367a982
remote_runner: Simplify logging of console text
2021-05-03 01:48:08 -04:00
Richard Hansen
08856fe42e
remote_runner: Move logIndex
updates into printLog()
2021-05-03 01:48:08 -04:00
Richard Hansen
a12c475776
remote_runner: Use an options object to create webdriver object
2021-05-03 01:48:08 -04:00
Richard Hansen
925f789d4c
remote_runner: Simplify logging
2021-05-03 01:48:08 -04:00
Richard Hansen
014e19cf7d
remote_runner: await
each browser test
2021-05-03 01:48:07 -04:00
Richard Hansen
1f3a831cc3
remote_runner: Avoid duplication in task list
2021-05-03 01:48:07 -04:00
Richard Hansen
59be8d5c05
remote_runner: Delete commented-out browsers
...
Also delete useless and incorrect browser comments.
2021-05-03 01:48:07 -04:00
Richard Hansen
a58fa4a2c5
tests: Add tests for SkipList.atOffset()
2021-05-03 01:42:03 -04:00
Richard Hansen
c00031a8d8
skiplist: Use Map.size
to get number of nodes
2021-05-03 01:42:03 -04:00
Richard Hansen
1cdfe9193b
skiplist: Convert _keyToNodeMap
to a Map
object
2021-05-03 01:42:03 -04:00
Richard Hansen
e2eb7327c2
skiplist: Sanity check inserted entries
2021-05-03 01:42:03 -04:00
Richard Hansen
9e2ef6ad5b
skiplist: Move propagateWidthChange()
to Node
class
2021-05-03 01:42:03 -04:00
Richard Hansen
fc103e7f2a
skiplist: Define a new Node
class
2021-05-03 01:42:03 -04:00
Richard Hansen
9fc88f3601
skiplist: Convert point operations into Point
methods
2021-05-03 01:42:03 -04:00
Richard Hansen
3c1be95e07
skiplist: Move point creation to a new Point
class
2021-05-03 01:42:03 -04:00
Richard Hansen
8ae40e80f9
skiplist: Save entry in _insertKeyAtPoint()
2021-05-03 01:42:03 -04:00
Richard Hansen
0e424fa8c3
skiplist: Remove unnecessary newKey
arg from _insertKeyAtPoint()
2021-05-03 01:42:03 -04:00
Richard Hansen
ab8c354f18
skiplist: Use ES6 class syntax
...
This makess it easier to examine state in dev console.
2021-05-03 01:42:03 -04:00
Richard Hansen
303fd297bd
editor: Improve documentation comments
2021-05-03 01:42:03 -04:00
Richard Hansen
cbbcef8e90
AttributeManager: Add sanity checks
2021-05-03 01:42:03 -04:00
Richard Hansen
d40d59d9eb
AttributeManager: Simplify logic
2021-05-03 01:42:03 -04:00
Richard Hansen
e3d32a26b6
skiplist: Delete unused methods
2021-05-03 01:42:03 -04:00
Richard Hansen
f650c3d73e
editor: Delete unused PROFILER
code
2021-05-03 01:42:03 -04:00
Richard Hansen
ab4e99f67a
editor: Delete commented-out code
2021-05-03 01:42:03 -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
snyk-bot
6011d31b22
fix: upgrade underscore from 1.12.1 to 1.13.0
...
Snyk has created this PR to upgrade underscore from 1.12.1 to 1.13.0.
See this package in npm:
https://www.npmjs.com/package/underscore
See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=upgrade-pr
2021-05-03 01:31:53 -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
translatewiki.net
3a8d66ba6a
Localisation updates from https://translatewiki.net .
2021-04-30 08:49:17 +02:00
translatewiki.net
3afc77dae7
Localisation updates from https://translatewiki.net .
2021-04-26 15:20:55 +02:00
Richard Hansen
8384a7a67b
deps: Bump ueberdb2
2021-04-20 21:56:44 +02: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
webzwo0i
20c512c8a9
test for await db.set in createAuthor
2021-04-20 11:27:43 -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
Richard Hansen
f63610bb12
tests: Test access bypass via read-only pad ID
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
pcworld
0d33793908
tests: readonly pastes must be readable+exportable with authentication
...
readonly paste links should be readable even if authentication is turned
on, as long as the user provides valid login data.
This test currently fails.
Also test that readonly paste IDs can be exported under the same
condition, which currently succeeds.
2021-04-12 22:51:06 -04:00
translatewiki.net
7d5cad6932
Localisation updates from https://translatewiki.net .
2021-04-12 15:43:27 +02:00
Richard Hansen
d01b593d3c
chat: Ensure that ctx.text
is interpreted as HTML
2021-04-11 06:20:29 +02:00
Richard Hansen
a3a0ff7bc1
chat: Use jQuery to build the chat message DOM object
...
This reduces the likelihood of accidentally introducing an XSS
vulnerability.
2021-04-11 06:20:29 +02:00
Richard Hansen
74554d36a5
chat: Allow chatNewMessage
hook to modify more values
2021-04-11 06:20:29 +02: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
translatewiki.net
e31da37d00
Localisation updates from https://translatewiki.net .
2021-04-08 14:54:44 +02:00
webzwo0i
a796811558
escape userId before setting it as HTML attribute
2021-04-07 23:29:27 -04:00
webzwo0i
9408d4395f
remove custom timeouts
2021-04-07 17:47:11 -04:00
Mikk Andresen
af19a010c5
DOCS: Fix broken links in TOC - use Marked to generate ID slugs instead of local implementation that was giving out different IDs in some cases - https://github.com/citizenos/citizenos-fe/issues/535
2021-04-06 21:42:01 +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
snyk-bot
e86547c4f5
fix: upgrade openapi-backend from 3.9.0 to 3.9.1
...
Snyk has created this PR to upgrade openapi-backend from 3.9.0 to 3.9.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=upgrade-pr
2021-04-03 16:54:52 -04:00
Richard Hansen
e4754eb9df
tests: Fix race in timeslider_revisions.js
2021-04-02 15:46:27 +02:00
Richard Hansen
27e5373050
tests: Fix race in change_user_name.js
2021-04-02 15:46:27 +02:00
Richard Hansen
58dac4c0fc
tests: Fix races in inner_height.js
2021-04-02 15:46:27 +02:00
Richard Hansen
4ad80d4072
tests: Delete overly aggressive frontend test timeouts
...
This should reduce test flakiness.
2021-04-02 15:46:27 +02:00
Richard Hansen
7cbb3f565d
tests: Speed up helper.edit()
and helper.clearPad()
2021-04-02 15:46:27 +02:00
Richard Hansen
7a154b1e1d
tests: Wait for commit instead of sleep in timeslider_revisions.js
2021-04-02 15:46:27 +02:00
Richard Hansen
d15ff9ce8d
tests: Add missing await
s to change_user_name.js
...
Also increase the timeouts.
2021-04-02 15:46:27 +02:00
Richard Hansen
bbf89dfcf9
tests: Refine frontend tests
...
* Switch from `helper.newPad()` to `helper.aNewPad()`.
* Promisify.
* Delete redundant logic.
* Lint fixes.
2021-04-02 15:46:27 +02:00
Richard Hansen
3790c0e41c
tests: Use async
/await
instead of returning Promises
...
This has a few benefits:
* It's more readable: It's easier for a user of the function to know
that they should use `await` when calling the function.
* Stack traces are more useful.
* Some code (e.g., the async npm package) uses introspection to
determine if a function is `async` vs. takes a callback.
2021-04-02 15:46:27 +02:00
Richard Hansen
b164a34e64
lint: Fix ESLint error in helper/methods.js
2021-04-02 15:46:27 +02:00
Richard Hansen
62403159df
tests: Invert conditions to improve readability
2021-04-02 15:46:27 +02:00
Richard Hansen
dd9c08d821
tests: Wait for commit rather than sleep
2021-04-01 14:31:56 +02:00
Richard Hansen
2776946627
tests: Use cookie libraries to manipulate cookies
2021-04-01 14:31:56 +02:00
Richard Hansen
202d65d2bb
pad_cookie: Re-read prefs cookie on every call to getPref()
...
This makes it easier to write tests that clear the prefs cookie.
2021-04-01 14:31:56 +02:00
Richard Hansen
0df41a9a78
pad_cookie: Move initial cookie read+save to init()
...
Benefits of this change:
* It avoids race conditions with tests that clear cookies.
* Any attempt to get or set a value before `init()` is called will
throw an error, ensuring the API is used properly.
* Improved readability: It's easier to understand what the
`pad.noCookie` check is doing.
2021-04-01 14:31:56 +02:00
Richard Hansen
aeee5c0b69
tests: Fix cookie name in helper.js
tests
2021-04-01 14:31:56 +02:00
Richard Hansen
137fa89d2a
tests: Always set cookie path to / (to match non-test behavior)
2021-04-01 14:31:56 +02:00
Richard Hansen
5666c34061
tests: Fix encoding of prefs cookie
2021-04-01 14:31:56 +02:00
Richard Hansen
63e6e163b7
tests: Promisify some of the helper.js
tests
2021-04-01 14:31:56 +02:00
Richard Hansen
701a40ac13
tests: Promisify multiple_authors_clear_authorship_colors.js
2021-04-01 14:31:56 +02:00
Richard Hansen
8b43f9eb5f
tests: Promisify authorship_of_editions.js
2021-04-01 14:31:56 +02:00
Richard Hansen
056939cd22
tests: Refine helper/multipleUsers.js
...
* Rename "current"/"other" to "user0"/"user1".
* Delete unnecessary `_createTokenFor*` functions.
* Rename helper functions to remove unnecessary leading underscore
and for brevity.
* Use jQuery's `.attr()` to build the second iframe.
* Use js-cookie to manipulate the token cookie.
* Don't attempt to set the token cookie if the pad isn't loaded.
* Use the token generated by the pad.
* Only clear the token cookie at path=/.
2021-04-01 14:31:56 +02:00
Guilherme Goncalves
f2034ad368
tests: Add regression tests for character composition race
...
See: https://github.com/ether/etherpad-lite/issues/4978
2021-03-30 16:42:53 -04:00
Richard Hansen
1fdaf95c3b
collab_client: Delete unused NO_COMMIT_PENDING
handling
2021-03-30 16:42:53 -04:00
Richard Hansen
63a1f078f4
collab_client: Redo server message queueing
...
Move server message queue processing out of `handleUserChanges()` for
the following reasons:
* Fix a race condition: Before this change the client would stop
processing incoming messages and stop sending changes to the
server if a `NEW_CHANGES` message arrived while the user was
composing a character and waiting for an `ACCEPT_COMMIT` message.
* Improve readability: The `handleUserChanges()` function is for
handling changes from the local user, not for handling changes
from other users.
* Simplify the code.
2021-03-30 16:42:53 -04:00
Richard Hansen
e99fe88537
collab_client: Use Date.now()
instead of casting a Date object
...
Also rename the `t` variable to `now` to improve readability.
2021-03-30 16:42:53 -04:00
Richard Hansen
5c445eac21
collab_client: Convert state
var to committing
bool
2021-03-30 16:42:53 -04:00
Richard Hansen
3ee6b5eb2b
collab_client: Delete unused caughtErrors
2021-03-30 16:42:53 -04:00
Richard Hansen
81b9a2544d
collab_client: Factor out duplicate ACCEPT_COMMIT
code
2021-03-30 16:42:53 -04:00
snyk-bot
dd09a3f12b
fix: src/package.json & src/package-lock.json to reduce vulnerabilities
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-UNDERSCORE-1080984
2021-03-30 18:26:32 +02:00
Richard Hansen
b9753dcc71
Changeset: Return a new op object by default when iterating
...
Reusing the same op object for each iteration can result in very weird
behaviors because previously yielded op objects will get a surprise
mutation.
It is unclear why the code was written to reuse the same object. There
was no comment, nor is there a commit message providing rationale (it
has behaved this way since the very first commit). Perhaps the objects
were reused to improve performance (fewer object allocations that need
to be garbage collected). I do expect this change to reduce
performance somewhat, but not enough to warrant reverting this commit.
2021-03-29 18:42:55 -04:00
Richard Hansen
718da6fc1b
tests: New helper.aNewPad()
(promisified newPad()
)
2021-03-29 18:40:05 -04:00
Richard Hansen
ec76a6548f
tests: Make the helper.newPad()
callback optional
2021-03-29 18:40:05 -04:00
Richard Hansen
27b35699ea
tests: Fix helper.newPad()
retries
...
* Pass retry count in options object so that each pad has its own
retry count.
* Delete useless `origPadName` variable.
2021-03-29 18:40:05 -04:00
translatewiki.net
eac5a52690
Localisation updates from https://translatewiki.net .
2021-03-29 17:55:09 +02:00
John McLear
b80f5bdae8
bugfix/tests/scaling: Socket query test fix ( #4974 )
...
fix socketio test where res.req is not available.
2021-03-24 21:03:48 +00:00
John McLear
2b98b930d7
scaling: include padId in socketio query string
2021-03-24 16:07:11 +00:00
webzwo0i
3ae6b01518
bump version
2021-03-22 16:17:18 +01:00
webzwo0i
65b644498f
bump require-kernel dependency
2021-03-21 18:30:39 +00:00
John McLear
a8f9c2b6a7
fix: upgrade express-rate-limit from 5.2.5 to 5.2.6 ( #4938 )
...
Snyk has created this PR to upgrade express-rate-limit from 5.2.5 to 5.2.6.
See this package in npm:
https://www.npmjs.com/package/express-rate-limit
See this project in Snyk:
https://app.snyk.io/org/johnmclear/project/d9a12bfb-7ccd-443f-9e22-f30d339cc8c5?utm_source=github&utm_medium=upgrade-pr
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2021-03-20 17:45:00 -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
Richard Hansen
0233399fdf
Abiword: Avoid calling stdoutCallback
multiple times
2021-03-20 20:29:55 +00:00
webzwo0i
c208d50c4a
add version string to iframe_editor.css
2021-03-20 16:42:08 +00:00
webzwo0i
b250ceaae7
add test for wrong clientHeight
2021-03-20 16:41:15 +00:00
Richard Hansen
3ad1d0a74f
cssmanager: Refactor CSS manager creation to avoid race condition
...
Safari takes a while to initialize `document.styleSheets`, which
results in a race condition when loading the pad. Avoid the race
condition by accessing the CSSStyleSheet objects directly from the
HTMLStyleElement DOM objects.
2021-03-20 01:07:16 +00:00