Commit graph

461 commits

Author SHA1 Message Date
muxator
2955740a6e Settings.js: support syntax for default values
+---------------------------+---------------+------------------+
| Configuration string in   | Value of      | Resulting confi- |
| settings.json             | ENV_VAR       | guration value   |
|---------------------------|---------------|------------------|
| "${ENV_VAR}"              | "some_string" | "some_string"    |
| "${ENV_VAR}"              | "9001"        | 9001             |
| "${ENV_VAR}"              | undefined     | null             |
| "${ENV_VAR:some_default}" | "some_string" | "some_string"    |
| "${ENV_VAR:some_default}" | undefined     | "some_default"   |
+---------------------------+---------------+------------------+

Mention this briefly in the main README.md, also.

Closes #3578.
2019-03-21 23:32:08 +01:00
muxator
c3bca6506e Settings.js: extracted into coerceValue() the logic for string -> number|bool conversion
This will be user in a later commit for implementing support for default values
2019-03-21 23:32:08 +01:00
muxator
59b1eed4a8 Settings.js: rephrased a log message 2019-03-21 23:32:08 +01:00
muxator
21ac37170e doc: rephrase settings.json.template and Settings.js
Better document current behaviour.
In this revision, ENV_VAR are supported, default values are not.
2019-03-21 23:32:08 +01:00
muxator
6d400050a3 Settings.js: support configuration via environment variables.
All the configuration values can be read from environment variables using the
syntax "${ENV_VAR_NAME}".
This is useful, for example, when running in a Docker container.

EXAMPLE:
   "port":     "${PORT}"
   "minify":   "${MINIFY}"
   "skinName": "${SKIN_NAME}"

Would read the configuration values for those items from the environment
variables PORT, MINIFY and SKIN_NAME.

REMARKS:
Please note that a variable substitution always needs to be quoted.
   "port":   9001,          <-- Literal values. When not using substitution,
   "minify": false              only strings must be quoted: booleans and
   "skin":   "colibris"         numbers must not.

   "port":   ${PORT}        <-- ERROR: this is not valid json
   "minify": ${MINIFY}
   "skin":   ${SKIN_NAME}

   "port":   "${PORT}"      <-- CORRECT: if you want to use a variable
   "minify": "${MINIFY}"        substitution, put quotes around its name,
   "skin":   "${SKIN_NAME}"     even if the required value is a number or a
                                boolean.
                                Etherpad will take care of rewriting it to
                                the proper type if necessary.

Resolves #3543
2019-03-11 08:11:30 +01:00
muxator
f96e139b17 Settings.js: factored out parseSettings()
No functional changes.
2019-03-11 08:11:30 +01:00
muxator
6353768256 Settings.js: factored out storeSettings()
Grouped copied & pasted code into a single function.
2019-03-11 08:11:30 +01:00
muxator
ab57edef33 Settings.js: exit gracefully if an invalid credentials.json is passed.
Before this commit, when passed a malformed credentials.json the application
crashed with a stack dump. Now we catch the error and fail in a controlled way
(like already done for settings.json).

Example of exception we no longer throw:
  MALFORMEDJSON
  ^

  SyntaxError: Unexpected token M in JSON at position 0
      at JSON.parse (<anonymous>)
      at Object.reloadSettings (<BASEDIR>/src/node/utils/Settings.js:390:24)
      at Object.<anonymous> (<BASEDIR>/src/node/utils/Settings.js:543:9)
      at Module._compile (module.js:635:30)
      at Object.Module._extensions..js (module.js:646:10)
      at Module.load (module.js:554:32)
      at tryModuleLoad (module.js:497:12)
      at Function.Module._load (module.js:489:3)
      at Module.require (module.js:579:17)
      at require (internal/module.js:11:18)
2019-03-11 08:11:30 +01:00
muxator
8fa52659f5 Settings.js: trivial rewording of abiword and soffice (libreoffice) error messages 2019-03-11 08:11:30 +01:00
muxator
d526c5ccca Settings.js: trivial reformatting 2019-03-11 08:11:30 +01:00
Ray Bellis
ccb49dcdc1 padDiff.js: convert to Promises/async 2019-01-31 14:38:56 +00:00
Ray Bellis
4622309dc2 TidyHtml.js: convert to promises
test case uses "nodeify" to convert the calls to TidyHtml back
into nodeback because it integrates better with the test framework
2019-01-31 13:42:41 +00:00
Ray Bellis
62345ac8f7 import/export: conversion to Promises/async
NB1: needs additional review and testing - no abiword available on my test bed
NB2: in ImportHandler.js, directly delete the file, and handle the eventual
     error later: checking before for existence is prone to race conditions,
     and does not handle any errors anyway.
2019-01-31 08:55:36 +00:00
Ray Bellis
5ef4a2d1d5 more thenify in node/utils/* 2019-01-22 17:30:33 +00:00
Ray Bellis
5d7162ac9a utils/ImportHtml.js: migrate to thenify 2019-01-22 14:58:25 +00:00
muxator
9497ee734f prepare to async: trivial reformatting
This change is only cosmetic. Its aim is do make it easier to understand the
async changes that are going to be merged later on. It was extracted from the
original work from Ray Bellis.

To verify that nothing has changed, you can run the following command on each
file touched by this commit:
  npm install uglify-es
  diff --unified <(uglify-js --beautify bracketize <BEFORE.js>) <(uglify-js --beautify bracketize <AFTER.js>)



This is a complete script that does the same automatically (works from a
mercurial clone):

```bash
#!/usr/bin/env bash

set -eu

REVISION=<THIS_REVISION>

PARENT_REV=$(hg identify --rev "${REVISION}" --template '{p1rev}')
FILE_LIST=$(hg status --no-status --change ${REVISION})
UGLIFYJS="node_modules/uglify-es/bin/uglifyjs"

for FILE_NAME in ${FILE_LIST[@]}; do
  echo "Checking ${FILE_NAME}"
  diff --unified \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${PARENT_REV}" "${FILE_NAME}")) \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${REVISION}"   "${FILE_NAME}"))
done
```
2019-02-08 23:20:57 +01:00
muxator
b34fc2de2b use Date.now() instead of new Date().getTime()
This is documented to be more performant.

The substitution was made on frontend code, too (i.e., the one in /static),
because Date.now() is supported since IE 9, and we are life supporting only
IE 11.

Commands:
  find . -name *.js | xargs sed --in-place "s/new Date().getTime()/Date.now()/g"
  find . -name *.js | xargs sed --in-place "s/(new Date()).getTime()/Date.now()/g"

Not done on jQuery.
2019-02-26 23:25:15 +01:00
muxator
46fdeb8dc4 ExportTxt.js: getPadTXT() does not need to be exported
This function is used only inside this module, and does not belong to its
external interface.
2019-02-22 23:32:10 +01:00
muxator
9d9b7c9faf NodeVersion.js: do not use callbacks, simplify calling style in server.js 2019-02-19 00:46:37 +01:00
muxator
631b23f7a2 utils/AbsolutePaths.js: do not break when running as a Windows manual install
A Windows manual install has the same directory layout of a normal Unix one
(e.g. the nice symlink node_modules/ep_etherpad-lite -> ../src).
Only when running from the pre-built Windows package the directory layout is
different (e.g. src is physically copied into node_modules/ep_etherpad-lite).
The previous version of the code wrongly assumed that all Windows installs would
be run from the pre-built pakage.

In this version the path search is the same on all platform. If it fails, and we
are on Windows, there is a fallback for the specific case of the pre-built
package.

Fixes #3550
2019-02-11 03:28:02 +01:00
muxator
78c057af31 NodeVersion.js: factor out require('semver') 2019-02-08 19:10:49 +01:00
muxator
5b88882e34 LibreOffice: add debugging log statements 2018-11-01 00:22:27 +01:00
muxator
4b8a0ff4ac LibreOffice: rename variables (conversion is generic and not PDF-specific) 2018-11-01 00:18:26 +01:00
muxator
73d09f1c6c LibreOffice: rephrase comments (conversion is generic and not PDF-specific) 2018-10-31 22:34:11 +01:00
muxator
fb1f8dd239 toolbar: missing var declaration
Without this, Etherpad would fail to start in strict mode:
  "ReferenceError: SelectButton is not defined"
2018-08-27 01:34:01 +02:00
muxator
27b3b0ecd2 logs: on the server, use template literals when possible
It's just synctactic sugar, but it is always better than executing string
concatenations in one's mind.

Do not do this with files in src/static, because we want to keep IE 11
compatibility.
2018-08-27 01:29:37 +02:00
muxator
0e972aaecf settings: reword some log messages 2018-08-27 01:56:33 +02:00
muxator
e34c74b24d skins: the settings class understands skinName. Send skinName value to the client
skinName must be a single string (no directory separators in it) pointing to an
existing directory under /src/static/skins.
In case these conditions are not met, its value is rewritten to "no-skin".

Also, the value of skinName if sent to the client via clientVars for allowing
its use it in the browser.
2018-08-26 21:17:04 +02:00
Luc Didry
2cc32d7fe9 Add --writer option to soffice convert command
If you edit `src/templates/export_html.html` to remove the
`<meta name="changedby" content="Etherpad">` tag[1], PDF export with
soffice has a bug: the first word of the pad is deleted and a blank page
is inserted as first page (the pad's text begins on the second page).
The `--writer` soffice option avoids that bug.

[1] you may want to delete that tag since it is inserted as a comment in
.doc or .odt soffice export.
2018-08-24 18:26:51 +02:00
muxator
9db5fd7884 AbsolutePaths: introduced isSubdir()
It can be used to check whether a user input or a configuration settings tries
to traverse the directory hierarchy, going out of its allowed bounds.

source: https://stackoverflow.com/questions/37521893/determine-if-a-path-is-subdirectory-of-another-in-node-js#45242825
2018-08-23 07:20:17 +02:00
muxator
ce14a99606 settings, APIHandler: use makeAbsolute() for locating APIKEY and SESSIONKEY 2018-08-23 07:02:45 +02:00
muxator
8247d5eef3 settings: use makeAbsolute() for locating settings.json and credentials.json
This should look to consistent locations when looking for relative paths,
without depending on current working directory.
For absolute paths, nothing changes.
2018-08-23 07:02:45 +02:00
muxator
435b2a4edf settings: the dirtyDb file path is interpreted using makeAbsolute()
Otherwise its position depended on process.cwd
2018-08-23 07:02:45 +02:00
muxator
5406472d65 AbsolutePaths: makeAbsolute() computes an absolute path from a relative one
The base is assumed to be exports.findEtherpadRoot(), without depending on
process.cwd.
2018-08-23 07:02:45 +02:00
muxator
1b938a7a40 settings: compute exports.root via AbsolutePaths.findEtherpadRoot()
First steps for fixing #3466.
2018-08-23 07:02:45 +02:00
muxator
b1a0e14ee2 AbsolutePaths: written findEtherpadRoot()
This is just a function (with an ugly side effect for caching purposes) that
heuristically tries to compute the Etherpad installation path when running under
Unix and win32 (they have different file system layouts).

This path can be used by Etherpad as a base for all the relative paths, in order
to be deterministic and not depending on cwd.
2018-08-23 07:02:45 +02:00
muxator
cbce3c1b08 AbsolutePaths: written utility function popIfEndsWith()
It will be necessary in the next commit to evaluate the Etherpad base
install path.
2018-08-23 07:02:45 +02:00
muxator
dbf7eff1fc AbsolutePaths: module for deterministically computing relative Etherpad paths
Empty for now.
2018-08-23 07:02:45 +02:00
muxator
ec5573f88c settings, APIHandler: generate more informative logs 2018-08-21 00:05:15 +02:00
muxator
b635371d52 settings: the default dirty.db location should be var/dirty.db
This is the location that is choosen by default when Etherpad starts with no
settings.json file.
It was different than the one contained into setting.json.template.
2018-08-21 21:57:13 +02:00
muxator
cb07805022 NodeVersion: take responsibility for ugly code 2018-08-22 00:12:53 +02:00
muxator
9d815c58b8 deprecations: get rid of DEP0005 about Buffer()
Similar code still lives in some dependent libraries.
It will be updated when upgrading the dependencies.

Fixes #3446
2018-08-14 19:45:03 +02:00
muxator
6d5a6cf795 caching_middleware: removed unnecessary escape in regex
Found by eslint with "no-useless-escape"
2018-08-14 19:33:10 +02:00
Masaru Nagaku
392f39b623 fix bug for getPadPlainText 2018-08-11 11:02:20 -03:00
Muh Muhten
3cedf474e5 Fix misparse of port when binding Unix socket
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.
2018-08-10 01:57:30 +02:00
Michael Braun
971853ca58 remove -k argument as it is currently for both sessionkey and apikey 2018-08-09 19:42:14 +02:00
muxator
a69f8a3db9 runtime: deprecate Node <= 7. From Etherpad 1.8.0 minimum Node version will be 8 2018-07-28 23:33:24 +02:00
muxator
7544585908 runtime: enforce minimal node version to 6.9.0
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.
2018-07-28 23:33:24 +02:00
ilmar
a96aa88dad merge with ether/etherpad-lite develop branch 2018-05-21 16:18:40 +03:00
ilmar
4feccff530 merge with develop branch 2018-05-21 15:41:49 +03:00
ilmar
3c66425b60 List indent fix 2018-05-21 13:07:08 +03:00
ilmar
016497dbb4 prevLine/nextLine check fix 2018-05-14 22:57:15 +03:00
ilmar
47e20a2f49 line parsing fix 2018-05-03 00:07:07 +03:00
ilmar
6684f9bfe8 hook callAll to aCallAll 2018-05-02 11:45:48 +03:00
ilmar
7cc7bb1abc upgrade to 1.6.5 2018-04-24 12:25:56 +03:00
ilmar
d6fa065ef2 export html to original structure 2018-04-24 12:13:31 +03:00
ilmar
517b249394 D 2018-04-10 00:08:42 +03:00
ilmar
8502c04bee html lists export fix 2018-04-09 15:37:28 +03:00
Peter 'Pita' Martischka
6d5dc93dbf merged 2018-04-07 10:23:49 +01:00
ilmar
b4ad7cf452 Export lists fix + code linting and readability update 2018-04-05 23:27:02 +03:00
John McLear
6388055f51
Merge pull request #12 from nashe/no_findkeys_export
No findkeys during export
2018-04-04 19:36:59 +01:00
Peter 'Pita' Martischka
806c9207e3 remove findkeys from pad export 2018-04-04 18:02:54 +01:00
John McLear
d393bf4dd8
Merge pull request #3232 from michael-dev/develop
Make APIKEY and SESSIONKEY file customizable
2018-04-03 13:34:49 +01:00
Mikk Andresen
6f2466bebc Merge with upstream develop. 2018-04-02 13:47:16 +03:00
Luc Didry
82816acf4a Fix .doc export with LibreOffice (soffice) (#3338)
When using LibreOffice to convert pads to doc, we got `Error: no export filter for /tmp/xxxx.doc` (tested with LO 5 and 6). Maybe it's a regression from LO. Anyway, converting HTML to odt, then to doc works.

Thx to lpagliari for her review!
2018-03-08 10:44:11 -03:00
Joas Souza
f1fcd16894 Add settings to scroll on edition out of viewport (#3282)
* Add scroll when it edits a line out of viewport

By default, when there is an edition of a line, which is out of the
viewport, Etherpad scrolls the minimum necessary to make this line
visible. This makes that the line stays either on the top or the bottom
of the viewport. With this commit, we add a setting to make possible to
scroll to a position x% pixels from the viewport. Besides of that, we
add a setting to make an animation of this scroll.
If nothing is changed on settings.json the Etherpad default behavior is
kept
2018-01-03 19:57:28 -02:00
ilmar
76f211b0bf ExportHtml.js update 2017-11-01 09:48:23 +02:00
ilmar
5469ce85cd exportHTML update 2017-10-31 22:46:24 +02:00
Michael Braun
4cce3bcbed Make APIKEY und SESSIONKEY file customizable
Running multiple instances sometimes requires different api- and session-keys for security reasons.
2017-07-31 15:31:45 +02:00
Patrick Easters
d72d79ea82 Fetch credentials arg from CLI 2017-07-05 15:20:02 -04:00
Luiza Pagliari
0cb8d31e95 [fix] Have one setting for each shortcut to create ordered list
This is an adjustment to #2891.
2017-05-11 14:56:09 -03:00
Luiza Pagliari
97038c2183 [fix] Fix shortcut enabling flag for 'ESC'
This is an adjustment to #2891.
2017-05-11 12:36:20 -03:00
Luiza Pagliari
1ebcf0dc47 Merge pull request #2891 from bhldev/padShortcutDisable
Added pad shortcut disabling feature to settings.json
2017-05-11 11:29:25 -03:00
Luiza Pagliari
009cd31243 [feature] Create option to automatically reconnect after a few seconds
On some erros that display a modal with "Force reconnect" button, allow
Etherpad to automatically reload pad after a few seconds. Amount of
seconds is defined on settings.json.

Still need to create tests for this feature, and implement i18n.
2017-04-04 11:09:24 -03:00
joassouza
0025613ba6 Refactor code 2017-02-07 15:06:49 -02:00
joassouza
d1e6c8492d Fix minification of code 2017-02-07 13:04:22 -02:00
Dan Bornstein
0a9d02562d Handle relative paths properly, when @importing. 2016-09-09 12:59:02 -07:00
Dan Bornstein
a5a7ebea3d Handle @import during CSS minification.
This meant plumbing a callback through to `compressCSS()`, which meant that
I had to alter the innards of `getFileCompressed()`. I tried to	leave that
function looking more understandable than when I found it; for example,	I
flattened out the nested `if`.

I went ahead and upgraded the version of `clean-css` while I was in the
territory.
2016-09-09 12:32:24 -07:00
Dan Bornstein
a0403ffc22 Remove unused parameter noDocType.
My editor also auto-stripped some EOL whitespace.
2016-09-08 09:46:13 -07:00
Dan Bornstein
879ae7c67d Remove the noDocType argument, which was only ever passed as false. 2016-09-08 09:41:23 -07:00
Dan Bornstein
6d7f128b87 Use an EEJS template for HTML export instead of inlining it in the JS code.
The semantics of all the substitutions are identical to what they were before.
I _did_ take the liberty of formatting the CSS to be a bit more readable
(at the cost of adding a little bit of whitespace).
2016-08-24 16:25:31 -07:00
Stefan
6b9711cb70 Fixed path check 2016-06-20 00:22:29 +02:00
John McLear
b3b17c2190 Merge pull request #2991 from LokeshN/deactivate-settings
Issue #2960 - deactivate settings.json
2016-06-13 14:41:30 +08:00
LokeshN
a8d5dc0693 Issue #2960 - deactivate settings.json
Deactivate settings.json in Admin dashboard
2016-05-22 21:12:21 +05:30
Stefan
835bca7967 Use fs.statSync instead of fs.existsSync (deprecated) 2016-05-16 16:51:12 +02:00
John McLear
6b6a028355 include the padId 2016-04-09 20:01:49 +01:00
Brian Lim
26aeb7b705 Added pad shortcut disabling feature 2016-01-21 07:38:41 -05:00
Chris Birk
7f517eca0b check for soffice before removing export paths 2015-12-17 21:54:04 -06:00
John McLear
98016665e4 working logic 2015-12-02 11:54:37 +00:00
Luiza Pagliari
92a8253449 Create hook exportHtmlAdditionalTagsWithData
The new hook does the same as exportHtmlAdditionalTags, but is declared
in another hook to avoid confusion about how to export tags when they
are stored as ['tag', 'value'] on attribute pool.

This complements #2762, as per @Gared suggestions.
2015-11-03 07:16:55 -02:00
John McLear
3aff0001a1 Merge pull request #2798 from ypid/fixed_get_git_hash
Get git commit hash even if the repo only points to a bare repo.
2015-10-22 16:13:58 +01:00
John McLear
50171a4c3c Merge pull request #2805 from storytouch/indentationSetting
Create setting to control if a new line will be indented or not
2015-10-22 16:12:07 +01:00
Simon Gaeremynck
7289e89070 Use Etherpad rather than Etherpad Lite when exporting HTML 2015-10-22 16:09:44 +01:00
Simon Gaeremynck
2bfc3026d2 Allow LibreOffice to be used when exporting a pad
This commit adds support for LibreOffice when exporting a pad to doc, pdf, ..

This commit also cleans up some export logic when exporting to txt
2015-10-20 19:46:08 +01:00
Luiza Pagliari
5deb06d589 Create setting to control if a new line will be indented or not
Currently pressing ENTER on a line that ends with ':', '[', '(' or '{'
automaticaly indents the new line with 4 spaces. The variable added by
this commit to settings.json allow an Etherpad instance to not have this
behavior.
2015-10-13 18:39:23 -03:00
Robin Schneider
29441a8ae1
Get git commit hash even if the repo only points to a bare repo.
* Used by https://github.com/debops/ansible-etherpad
2015-10-07 15:43:29 +02:00
Luiza Pagliari
1d134f0b13 Fixing ed52626. It was closing the span with </span data-TAG=VALUE>, not </span> 2015-09-17 15:30:09 -03:00
Luiza Pagliari
ed5262650a Generating pad HTML with tags like <span data-TAG="VALUE"> instead of <TAG:VALUE> 2015-09-07 03:55:56 -07:00
Luiza Pagliari
1a5985dc75 Accepting Arrays on 'exportHtmlAdditionalTags' to handle attributes stored as ['key', 'value'] (and not only ['key', 'true']) 2015-08-24 07:58:45 -07:00
Thomas Russell Murphy
b557927b72 Fix link to etherpad-lite on GitHub 2015-08-03 21:53:54 -05:00
Stéphane Alnet
0b3216ecb6 Do not extend Array.prototype 2015-05-22 12:27:08 +02:00
John McLear
757ad765d3 use removeItem instead of remove namespace 2015-05-22 11:09:21 +01:00
John McLear
41d24a8c8f Merge branch 'develop' of github.com:ether/etherpad-lite into develop 2015-05-19 16:44:57 +01:00
John McLear
b662d5c618 dont show editing buttons in R/O view 2015-05-19 16:43:19 +01:00
Simon Gaeremynck
7fe99cccad Using log4js in TidyHtml 2015-05-18 17:43:46 +01:00
Simon Gaeremynck
786b43efc8 Tidy HTML before trying to convert it with abiword 2015-05-18 16:24:41 +01:00
Xavid
9e86fb279b Fix backend tests with new setText() implementation; tests depended
on the old setText() behavior leaving the last character.
2015-05-06 08:45:22 -04:00
Tom Hunkapiller
6ff7d4e9a6 revert to old path handling, but strip out "..". fixes #2614 2015-04-15 14:31:21 -05:00
louis
0fa7650df8 dont allow directory traversal #2 2015-04-12 17:12:35 +02:00
John McLear
e3f95d0c9c Merge pull request #2604 from ether/pad-options
session key is now ignored and also padOptions are available in settings
2015-04-11 22:33:46 +01:00
Peter 'Pita' Martischka
fc0cac0cad merge object settings into default settings 2015-04-11 22:01:46 +01:00
John McLear
8ed12c7776 session key is now ignored and also padOptions are available in settings 2015-04-11 21:22:00 +01:00
John McLear
4a70837de9 Merge pull request #2602 from devoidfury/fix/import-large-etherpad
fix large etherpad import, fixes #2524
2015-04-11 20:09:01 +01:00
Tom Hunkapiller
a896d67e8c make setPadRaw async; streamline .etherpad file import handling chain 2015-04-11 12:02:19 -05:00
Stefan
a3ed82ad06 Move sessionKey setting from settings.json to SESSIONKEY.txt 2015-04-11 18:45:14 +02:00
Stefan
db5bdc8719 Log version number and git-sha on server start 2015-04-11 00:13:04 +02:00
Stefan
8e4c961207 Add version number to plugins-info page 2015-04-10 23:52:17 +02:00
John McLear
9d4e5f6e35 dont allow directory traversal 2015-04-10 22:02:22 +01:00
John McLear
a5345524e1 Merge pull request #2566 from ether/editbar-accessibility
Accessibility
2015-04-07 21:25:27 +01:00
John McLear
3a969f8dd8 pass error messages to pad text if shown during startup 2015-04-06 00:13:38 +01:00
John McLear
e027083136 timeslider settings for fonts 2015-04-05 15:18:36 +01:00
John McLear
662216b6cf slightly different alt stuff 2015-03-31 16:36:44 +01:00
John McLear
ef38bcad9f make buttons i18n friendly and a better experience 2015-03-31 13:57:18 +01:00
John McLear
7b726cbc02 more working logic and also pretty nice screen reader experience 2015-03-26 13:58:57 +00:00
John McLear
ec1956b4b6 read for button activity 2015-03-26 12:42:07 +00:00
John McLear
5761e998de first semi working alt f9 functionality 2015-03-25 11:03:45 +00:00
webzwo0i
a0fb65205c oops, fix export with wildcards 2015-03-14 00:02:23 +01:00
John McLear
178309e10d Merge branch 'develop' of github.com:ether/etherpad-lite into develop 2015-02-26 12:13:41 +00:00
John McLear
470b0ba2a6 Merge pull request #2520 from ether/load-testing-settings
allow for load testing connections to hit by a setting
2015-02-22 14:41:09 +00:00
John McLear
d5bec1701e fix export of bad pads and also limit import to files 2015-02-21 12:33:30 +00:00
John McLear
ec6a2b5ba9 allow for load testing connections to hit by a setting 2015-02-16 23:02:19 +00:00
webzwo0i
37924e441a add try-catch clause around calls to applyToAText 2015-02-16 09:01:30 +01:00
John McLear
ddc69831b2 working, need to test though 2015-02-11 17:59:05 +00:00
John McLear
b9802616b6 use latest cleanCSS 2015-02-04 17:57:34 +00:00
Stefan
4c64b7a670 Revert 'asyncLineHTMLForExport' hook 2015-01-25 22:08:40 +01:00
John McLear
c798a27ad8 boop 2015-01-24 13:39:45 +00:00
John McLear
1890ba3976 working, might need polish its pretty late 2015-01-24 05:14:38 +00:00
John McLear
9abb85799c realization how aCallAll works 2015-01-24 04:31:50 +00:00
John McLear
372063295f beginning of a hook, needs docs etc 2015-01-24 04:09:13 +00:00
John McLear
6fd0285d4d include lineContent in hok 2015-01-21 21:36:11 +00:00
John McLear
cb65224997 better logic for author handling 2015-01-21 00:28:00 +00:00
John McLear
5f9bbd0666 restrict expor4t to only expose this pad ID 2015-01-21 00:03:39 +00:00
John McLear
85fffbe14c more handling 2015-01-19 02:57:10 +00:00
John McLear
cadb83ac5a bumpage 2015-01-19 02:51:32 +00:00
John McLear
6bc74a9adb more export logic handling 2015-01-18 23:33:29 +00:00
John McLear
e50ea6ffea whoops proper regexp fix for listNumber 2015-01-18 23:24:20 +00:00
John McLear
bd9ff770fe reset all numbers on first item 2015-01-18 23:21:34 +00:00
John McLear
af70902bef support deeper nested elements on exports 2015-01-18 23:16:58 +00:00
John McLear
26c839063f check file system that abiword exists 2015-01-04 14:47:08 +00:00
John McLear
036b7d2890 Merge pull request #2418 from ether/etherpad-export-and-import
Full Pad portability (Export/Import)
2014-12-31 13:32:09 +00:00