The hostname:port of URIs used in Minify are currently bogus and refer
to localhost only for historical reasons; there's no reason to retain
them and omitting them avoids generating an invalid URI when "port" is
not an integer.
Context: settings.port is passed to express's listen; if not numeric, it
is used a filename for a Unix domain socket.
This allows e.g. starting a server to be reverse-proxied on a multi-user
system, using the filesystem to handle access control and avoiding need
to allocate port numbers.
Before this change, etherpad-lite starts without error when configured
to listen on a Unix domain socket in this manner. However, `pad.js` and
`ace2_common.js` are generated incorrecting, causing an error
"Uncaught Error: The module at "ep_etherpad-lite/static/js/rjquery" does not exist."
when loading the editor:
When settings.port is a non-numeric string, e.g. `etherpad.sock`, a URI
of the form `http://localhost:etherpad.sock/static/js/rjquery.js` is
generated and parsed to find the file needed. In this case, the file
searched for is `:etherpad.sock/static/js/rjquery.js`, rather than the
expected `static/js/rjquery.js`. No such file exists, and the required
code is silently omitted from the bundle.
As a workaround, hard-code a (meaningless) hostname which can be parsed
correctly, since the current code makes no use of it anyway.
In its current form, Etherpad stores passwords for users in plain text in
settings.json. We should at least mention the opportunity of installing
ep_hash_auth to start tackling this problem.
The advice was added in README.md and in settings.json.template
Fixes#3444
This commit replaces an old test with a new, different one.
Reasons for removing the old test:
- the old list test was introduced in cadb83a with an explicit attempt to import
an invalid HTML and see if it could recover from it
- in 5967e08 the code base finally managed to export a meaningful HTML (but we
do not know if other bugs were introduced in pursuing this)
- the old test seemed to aim at attaining resiliency, but correctness should be
addressed before that
Modified by muxator. See discussion in:
https://github.com/ether/etherpad-lite/pull/3268#issuecomment-411185713
Etherpad 1.6.6 does not run on node <= 5 already.
Node 6.9 is the first LTS release in the 6 series, and comes with npm 3.10.8.
Declarations in package.json are advisory unless the user has set
`engine-strict` config flag.
Updated the docs accordingly.
The fix was done on another branch to show that it completely solves tests
failures introduced by 2be873e3c7.
All remaining failures in this branch are due to other changes made after
**1.6.6**, namely from fe08d2a1db included onwards.
These changes make the frontend tests send keydown instead of keypress in
firefox, in accordance with #3413 (Use keydown instead of keypress on Firefox).
The percentage of passing frontend in Firefox 61 on this revision is 100%.
This puts issue: #3383, PR: #3413 (Use keydown instead of keypress on Firefox)
directly on top of bacc37cf9b, which is the last commit before fe08d2a1db
merged #3268 (getLineHTMLForExport - Fixes#2486 but breaks plugins).
This is necessary for showing that:
- bacc37cf9b was passing client side tests on firefox
Visit `http://<yourhost>/tests/frontend/` using firefox.
- 2be873e3c7 forgot to update the client side tests. You cannot test it since
that commit was mad on top of other changes, hence this graft
- in this commit there are 20 failures with firefox:
passes: 82 failures: 20 duration: 261.84s
Otherwise, when inserting a multiline changelog sed would with this message:
sed: -e expression #1, char 27: unterminated `s' command
And the script would continue with an unmodified CHANGELOG.md
For simmetry, added the same check to package.json, too
This change partially reverts 0a9d02562d, which got released in 1.6.4
due to #3280.
Text size and line alignment are now reverted back to their 1.6.3
appearance (thus stay non customizable, for now).
Fixes#3378