Commit Graph

7253 Commits (dbfe5cadf4ca1f987942fbc888e9607c79ce3a59)

Author SHA1 Message Date
translatewiki.net f246d1b476 Localisation updates from https://translatewiki.net. 2021-02-22 16:37:36 +01:00
John McLear 0ac33d2085 tests: timeslider_follow increase test timeout for firefox. 2021-02-22 14:30:19 +00:00
Richard Hansen 1908bedabe caretPosition: Clarify comment in `getPosition()` 2021-02-22 11:25:45 +00:00
Richard Hansen 91955609af caretPosition: Delete pointless logic in `getPosition()`
The `line` variable is unconditionally overwritten later, and the
function calls do not have side effects, so it is safe to delete this
logic.
2021-02-22 11:25:45 +00:00
Richard Hansen 1dbdaf93d7 caretPosition: Delete no-op `Range.detach()` call 2021-02-22 11:25:45 +00:00
Richard Hansen 5e731dfbfd caretPosition: Delete unused var in `getPosition()` 2021-02-22 11:25:45 +00:00
Richard Hansen 02fd0048bf caretPosition: Invert condition in `getPosition()` for readability 2021-02-22 11:25:45 +00:00
Richard Hansen 773959ec57 CI: Delete old Sauce Connect logic 2021-02-22 11:25:21 +00:00
John McLear 9b03f8f6ab
tests: fix importexport frontend tests (#4827)
* CI: Leave log level at INFO for frontend tests

* CI: Disable frontend admin tests for non-admin workflow

* CI: Disable import/export rate limiting for frontend tests

* tests: fix importexport tests

The testing approach was redone to fix numerous issues:
  * Even if the tests had been working, none of them would have caught
    https://github.com/ether/etherpad-lite/issues/4808 because they
    didn't exercise the client-side import logic. Now they do.
  * Follow-up logic was not in the `helper.waitFor()` callback like it
    should have been. Now the code uses `async` and `await` to ensure
    proper execution order.
  * All `$.ajax()` calls used `async: false`. Now they're properly
    asynchronous.
  * The `helper.waitFor()` condition callbacks threw instead of
    returning false.
  * The string comparisons didn't allow for different attribute
    order (e.g., `<ol start="1" class="list-number1">` vs. `<ol
    class="list-number1" start="1">`). Now `Node.isEqualNode()` is
    used to reduce fragility. (`Node.isEqualNode()` is not perfect, so
    the tests are still a bit fragile: If class names or style strings
    are in a different order then `Node.isEqualNode()` will return
    false even if the nodes are semantically equivalent.)

Co-authored-by: Richard Hansen <rhansen@rhansen.org>

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-22 10:40:38 +00:00
John McLear ed8a8eb590
Rename lgtm.yml to .lgtm.yml 2021-02-22 10:06:13 +00:00
John McLear c6cd4c38fd
Update CHANGELOG.md 2021-02-22 09:46:14 +00:00
Richard Hansen d9c2778d17 plugins: Better fix for LGTM security warning 2021-02-22 09:43:20 +00:00
John McLear a102bbfbef
badges: color fix 2021-02-22 09:37:30 +00:00
John McLear b7958b915a
docs: Badge polish 2021-02-22 09:28:37 +00:00
John McLear 0f16e518ff
api: drop JSONP (#4835)
* api: drop JSONP

* docs: drop JSONP

* tests: drop JSONP

* api: remove isValidJSONPName require
2021-02-22 09:10:02 +00:00
Richard Hansen 85231cb774 tests: More descriptive Sauce Labs name 2021-02-22 03:36:12 -05:00
webzwo0i 2994ef3c3c tests: try all supported node versions 2021-02-22 03:36:12 -05:00
webzwo0i 29afb91b3e tests: delay setting up saucelabs tunnel 2021-02-22 03:36:12 -05:00
Richard Hansen 6198e92706 tests: Pass `--legacy-peer-deps` flag to work around npm v7 bug
This flag is unknown to npm v6, but npm v6 silently ignores unknown
flags.
2021-02-22 03:36:12 -05:00
Richard Hansen 588b73f366 tests: Install deps after installing plugins 2021-02-22 03:36:12 -05:00
Richard Hansen 5ea66701f7 tests: Use `--no-save` when installing plugins on Windows 2021-02-22 03:36:12 -05:00
webzwo0i 14a9749b75 tests: add assert helper for supporting node 10.x 2021-02-22 03:36:12 -05:00
John McLear ce83181ac3
Lgtm bugfixes (#4838)
* code tidy up: always evaluates

* tidy up: is always true

* tidy up: remove unused code

* always true/false variables

* unused variable

* tidy up: remove unused code in caretPosition.js

* for squash: Revert "tidy up: remove unused code in caretPosition.js"

The `if` condition was previously always true, so the body should be
preserved. If the body is preserved, other logic can be deleted. I
opened PR #4845 to clean it all up.

This reverts commit 75b03e5a7d.

* for squash: simplify

* for squash: Explain that the getter is used for its side effects

It's very weird to call a getter without using its return value. Add a
comment explaining why this is done so that the reader doesn't get
confused.

* for squash: Revert "tidy up: remove unused code"

The exception test was the purpose of the code.

This reverts commit 85153b1676.

* for squash: Log the tsort results

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-22 08:26:35 +00:00
Stefan de186fbe36
Update node in docker to version 14 (#4844) 2021-02-22 01:34:34 -05:00
John McLear 40d7480d5b lint: padaccess.js 2021-02-21 21:09:02 -05:00
John McLear 029729a386 lint: Settings.js 2021-02-21 21:09:02 -05:00
John McLear 435562299f lint: NodeVersion.js 2021-02-21 21:09:02 -05:00
John McLear 7352dc7571 lint: ImportEtherpad.js 2021-02-21 21:09:02 -05:00
John McLear 613c7d8545 lint: ExportTxt.js 2021-02-21 21:09:02 -05:00
John McLear d2359be08b lint: ExportHtml.js 2021-02-21 21:09:02 -05:00
John McLear 5718c8b360 lint: AbsolutePaths.js 2021-02-21 21:09:02 -05:00
John McLear b1614f0592 lint: i18n.js
Partial, still 3 more to do that are slightly higher hanging that can get done.
2021-02-21 21:09:02 -05:00
John McLear 586af5e16e lint: padurlsanitize.js 2021-02-21 21:06:38 -05:00
John McLear 86c938cae2 lint: openapi.js 2021-02-21 21:06:38 -05:00
John McLear 25d4faddd9 lint: SocketIORouter.js 2021-02-21 21:06:38 -05:00
John McLear 5201cb717f lint: PadMessageHandler.js 2021-02-21 21:06:38 -05:00
John McLear d67f170c46 lint: eejs/index.js 2021-02-21 21:06:38 -05:00
John McLear 3ed4ac649c lint: PadManager.js 2021-02-21 21:02:59 -05:00
John McLear 6b6201b448
null link on plugins and noopener / noreferrer
Resolves a (non) security issue brought up by LGTM but I think the noopener and norefferer are good shouts
2021-02-21 19:30:39 +00:00
John McLear 2c763fb4d1 Delete dirty-db-cleaner.py 2021-02-21 18:07:20 +00:00
John McLear 543e94fd4a
timeslider: slight improvement on code quality (#4836)
This is an interim patch, ultimately the JS needs to be thrown out of the HTML...
2021-02-21 17:59:15 +00:00
John McLear 1b8cd0747d
Move vendor libraries to /vendors folder and exclude from LGTM 2021-02-21 15:07:39 +00:00
webzwo0i 0bb3e65020 fix for caching plugin-definitions 2021-02-21 14:31:15 +00:00
John McLear bdb78adb3f Update CHANGELOG.md 2021-02-21 13:50:55 +00:00
John McLear 086b59b30d
editor: UI polish - Etherpad brand as reconnect & loading animation 2021-02-21 13:24:51 +00:00
Richard Hansen 6023117d29
CI: Use `saucelabs/sauce-connect-action` to create the tunnel (#4833) 2021-02-21 13:17:41 +00:00
John McLear bb14775820 drop apiRoot object from build 2021-02-21 11:08:07 +00:00
John McLear 227370547d update openapi-backend 2021-02-21 11:08:07 +00:00
John McLear ee2b32281c
pluginfw: Warn plugins on missing plugin (#4826)
* pluginfw: Warn plugins on missing plugin

Add functionality to console.warn when a plugin is missing.  This will help admins know when people are trying to use plugins that are missing.  Resolves https://github.com/ether/etherpad-lite/issues/4730

* pluginfw: importing .etherpad can notify admins of missing plugins

Extending .etherpad imports to notify admins if a missing plugin is present

* Update ImportEtherpad.js
2021-02-21 11:07:13 +00:00
John McLear 77b2f372ab lint: pad_userlist.js arrow functions
This probably needs a good rewrite/refactor to remove self.
2021-02-21 11:05:25 +00:00