Commit Graph

7181 Commits (d87b4e0c20ccd03771833c878345edc4b39139a1)

Author SHA1 Message Date
John McLear 50782bd03a
Merge branch 'master' into develop 2021-02-25 18:26:21 +00:00
John McLear 55f76c565c
Merge branch 'develop' 2021-02-25 18:26:20 +00:00
John McLear 11f3b7232d
bump version 2021-02-25 18:26:17 +00:00
John McLear 6efa41ec23
update Changelog 1.9.10 2021-02-25 18:25:00 +00:00
webzwo0i efd211bbc5 remove useless semicolon 2021-02-25 16:59:06 +00:00
webzwo0i fa29858a4e avoid manually including require-kernel in ace.js 2021-02-25 16:59:06 +00:00
translatewiki.net 12c23d468c Localisation updates from https://translatewiki.net. 2021-02-25 16:17:56 +01:00
webzwo0i a77994ab6e avoid pad_utils in pad.html 2021-02-25 12:46:04 +00:00
John McLear 9675a584ce
Windows Installer Badge into README
Windows Installer Badge into README
2021-02-25 10:44:00 +00:00
Richard Hansen ba5d8369bf Minify: Consistently use `path.join()` to build pathnames
This defends against extraneous or missing slashes, and it might
improve the experience on Windows.
2021-02-25 10:14:48 +00:00
Richard Hansen 2d3469e3ee Minify: Improve pathname sanitization
For context, see:
https://nvd.nist.gov/vuln/detail/CVE-2015-3297
9d4e5f6e35
https://github.com/ether/etherpad-lite/issues/2614
2021-02-25 10:14:48 +00:00
Richard Hansen 0cce4ae536 Minify: Also serve `jquery.js` from old path for compatibility 2021-02-25 10:14:48 +00:00
Richard Hansen f845f21ba5 /static/tests.html: Fix `jquery.js` path
See commit 1b8cd0747d.
2021-02-25 10:14:48 +00:00
John McLear fc7acad846
artifacts: Windows CI Installer
* Windows CI Installer

This PR introduces CI builds of a windows installer(using NSIS) .

It builds an executable that installs Etherpad and runs it.

There are obvious steps to make once this has been merged. But I'd suggest on each release we include both the .zip and the .exe and allow users to have a portable zip or an installed executable.

https://github.com/ether/etherpad_nsis

This was a relatively rushed project (4 hours) and I didn't want to spend any more time on it so it will need a foster parent to maintain it :)

props to @joncloud for https://github.com/joncloud/makensis-action-test and the nsis team that while have a horrible UX make relatively easy to use and rapid tools.

Note for review: I'm using linux to build the windows executable, this may need to be reviewed and we might want to switch to Windows if we can confirm building on linux causes a problem.

* CI: Use Windows to build the .zip
2021-02-25 10:00:33 +00:00
John McLear 4a65acf417
docs: fix links from TOC to Headings and improve appearance of docs (a little) (#4866)
* docs: fix links from TOC to Headings
* docs: Styling

Just a little modernisation of the appearance of the documentation

* Update src/bin/doc/package.json

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

Co-authored-by: Richard Hansen <rhansen@rhansen.org>
2021-02-25 09:01:45 +00:00
Richard Hansen 41ec7fe3fc deps: Update ueberdb2 to work around dirty DB bug 2021-02-25 00:02:14 +00:00
Dan Sonntag 79fee9e796 Update README.md 2021-02-24 18:44:07 +00:00
Richard Hansen b2ffd8c95c lint: Update ESLint dependencies 2021-02-24 09:07:24 +00:00
Richard Hansen 6f17d2f913 CI: Use Windows to build the Windows zip
npm might do something different on Windows when setting up the
executables in `src/node_modules/.bin`.
2021-02-23 22:40:15 -05:00
Richard Hansen dabff9be77 run_cmd: Fix PATH debug log message 2021-02-23 21:41:32 -05:00
John McLear c7511b2f2e tests: change timeout on bold and embed_value test to support Win10 FF84 2021-02-23 19:53:03 +00:00
John McLear 72d9c8fef9 tests: Use more modern relevant Firefox version in Sauce Labs
Firefox 52 has issues with rendering SVG animations which caused random tests to fail.  Less than 2% of total Firefox users now use Firefox 52 so we're safe to drop testing for it.
2021-02-23 19:53:03 +00:00
John McLear 1a9709bb87
Update README.md 2021-02-23 07:24:39 +00:00
John McLear 8364546e70 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>
2021-02-22 18:20:24 -05:00
Richard Hansen e9cb1692eb CI: Disable import/export rate limiting for frontend tests 2021-02-22 18:20:24 -05:00
Richard Hansen 644c8e6195 CI: Disable frontend admin tests for non-admin workflow 2021-02-22 18:20:24 -05:00
Richard Hansen a354b03633 CI: Leave log level at INFO for frontend tests 2021-02-22 18:20:24 -05:00
Richard Hansen 3ca1589885 Revert "tests: fix importexport frontend tests (#4827)"
I'm going to split this into separate commits.

This reverts commit 9b03f8f6ab.
2021-02-22 18:19:48 -05:00
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