Commit graph

480 commits

Author SHA1 Message Date
muxator
11453d544c prepare to async: stricter checks
This change is in preparation of the future async refactoring by Ray. It tries
to extract as many changes in boolean conditions as possible, in order to make
more evident identifying eventual logic bugs in the future work.

This proved already useful in at least one case.

BEWARE: this commit exposes an incoherency in the DB API, in which, depending
on the driver used, some functions can return null or undefined. This condition
will be externally fixed by the final commit in this series ("db/DB.js: prevent
DB layer from returning undefined"). Until that commit, the code base may have
some bugs.
2019-03-01 09:43:41 +01:00
muxator
e841798314 prepare to async: typos in error messages
This change extracts the grammar correction performed on the async branch,
anticipating them in a single commit. It cannot be folded with the previous
one, as it is not purely cosmetic.
2019-02-15 22:52:53 +01: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
90bfbeb38d PadMessageHandler.js: fixed logic error in a guard condition
The guard condition on count being non negative and < 100 used the wrong
boolean operator. In its form it was impossible.

This error was introduced in 2013, in 5592c4b0fe.
Fixes #3499
2019-02-27 00:56:41 +01:00
muxator
4b913172fe PadMessageHandler.js: renamed parameter in handleCustomMessage() to avoid name clash 2019-02-26 22:19:49 +01:00
muxator
791012bb9b PadMessageHandler.js: removed redundant return statement 2019-02-26 19:15:22 +01:00
muxator
59a6f2e9b8 node8: get rid of node < 0.7 compatibility when deleting files.
- path.exists() is no longer part of nodejs
- fs.exists() is deprecated (as of nodejs >= 8)
- checking a file for existence before using it is open to raca condition. It is
  preferable to go ahead and use the file, and eventually handle the error
- we can afford two simple synchronous fs operations here
2019-02-19 22:01:12 +01:00
muxator
6d36bb2c53 node8: we can safely use os.tmpdir()
Since we are requiring node >= 8, we can safely use native functionalities.
2019-02-19 22:01:12 +01:00
Ray Bellis
c8e5d87268 api: simplify version table
This commit vastly shortens (and simplifies) the version table within
handler/APIHandler.js by building each version's entry incrementally based off
the previous version.

The resulting table has been validated by comparing the "before" and "after"
output of the following loop on both versions of the code (albeit with an
intermediate "sort" step to account for the different insertion order)

  for (let v in version) {
    let m = version[v];
    for (let [k, a] of Object.entries(m)) {
      console.log(v, k, a);
    }
  }

The patch also fixes a few typos, and removes a duplicate definition of
getChatHistory which in each applicable version was defined with two different
parameter lists, but where only the second would be used.
2019-01-22 22:51:22 +01:00
muxator
df5618b274 ImportHandler: flattened code
Removed redundant else, no functional changes
2018-10-31 23:34:15 +01:00
muxator
fcd88de900 ImportHandler: flattened code
Removed redundant else, no functional changes
2018-10-31 23:31:23 +01:00
muxator
49a7572cee ImportHandler: early return by condition inversion
No functional changes
2018-10-31 23:28:52 +01:00
muxator
df15daac0e ImportHandler: early return by condition inversion
No functional changes
2018-10-31 23:27:22 +01:00
muxator
12bb97dc2d ImportHandler: early return by condition inversion
No functional changes
2018-10-31 23:24:56 +01:00
muxator
2b8e45e2bd ImportHandler: anticipated the error checking
No functional changes.
2018-10-31 23:22:50 +01:00
muxator
4c2ad68b69 ImportHandler: early return via DeMorgan's law
Inverted a boolean condition, no functional changes.
2018-10-31 23:20:55 +01:00
muxator
f652ba8c52 ImportHandler: flattened code
Removed redundant else, no functional changes
2018-10-31 23:16:20 +01:00
muxator
fb552b2dbb ImportHandler: early return via DeMorgan's law
Inverted a boolean condition, no functional changes.
2018-10-31 23:15:01 +01:00
muxator
9d104cc4b0 ImportHandler: early return via DeMorgan's law
Inverted a boolean condition, no functional changes.
2018-10-31 23:09:27 +01:00
muxator
395db73eb1 ImportHandler: early return by condition inversion
No functional changes
2018-10-31 23:00:45 +01:00
muxator
6727a77073 ImportHandler: flatten code
No functional changes
2018-10-31 22:55:58 +01:00
Luc Didry
e8558e3497 Allow to import files using soffice
Currently, you have to use Abiword to convert odt, pdf and doc files to be able to import those files.
This add soffice as convertor too.
2018-10-31 22:21:48 +01:00
muxator
b60c0b122c PadMessageHandler: reversed condition to make core logic evident. No behavioural changes.
This one replaces a big "if (message)" negating its truthy condition.

Being lame, I erred on the safe side and wrote a super ugly statement that is
guaranteed to respect the original logic.

In the hope that eventual logic errors become more evident now.

See: https://stackoverflow.com/questions/36661748/what-is-the-exact-negation-of-ifvariable-in-javascript#36661843
2018-08-29 01:23:38 +02:00
muxator
324929ca2d PadMessageHandler: early return to reduce code depth.
Get rid of an else branch to simplify code layout. No functional changes at all.

==============

This series is an attempt to reduce the control structure depth of the code
base, maintaining at the same time its exact same behaviour, bugs included. It
is, in a sense, an initial attempt at a refactoring in the spirit of its
original definition [0].

The idea beyond this refactoring is that reducing the code depth and, sometimes,
inverting some conditions, bugs and logic errors may become easier to spot, and
the code easier to read.

When looked at ignoring whitespace changes, all of these diffs should appear
trivial.

[0] https://refactoring.com/
2018-08-29 00:57:28 +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
muxator
ce14a99606 settings, APIHandler: use makeAbsolute() for locating APIKEY and SESSIONKEY 2018-08-23 07:02:45 +02:00
muxator
ec5573f88c settings, APIHandler: generate more informative logs 2018-08-21 00:05:15 +02:00
anugu-chegg
7b6a4aba30 Remove leftover code from earlier commits 2018-04-19 23:23:16 +02:00
anugu-chegg
b4068144c3 Refactor code 2018-04-19 23:23:16 +02:00
anugu-chegg
461ed413b7 Fix few mistakes 2018-04-19 23:23:16 +02:00
anugu-chegg
d41e184a3c Send commits missed during the reconnect 2018-04-19 23:23:16 +02:00
anugu-chegg
bf05e9ae89 Handle client reconnect properly 2018-04-19 23:23:16 +02: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
John McLear
022783a774
Merge pull request #3239 from jainendra/jainendra-feature-support-for-rtf
Feature: Support for uploading .rtf files rich text format
2018-04-03 13:07:00 +01: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
Jainendra Mandavi
b4ddd0276d Use abiword to process .rft files 2017-08-04 03:23:12 +05:30
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
Jainendra Mandavi
e4ddb42e11 FIX-2864: Add useAbiword flag
This is a fix for the issue - 2864
Which is import failure of PDF after importing a text file
2017-07-28 23:13:07 +05:30
Luiza Pagliari
cf686282ef Do not use cookie for pad shortcuts
Users still cannot choose which shortcuts they want to enable/disable,
so it does not make sense (yet) to have a cookie with that preference.

This can be reverted once we create an UI to change shortcuts, but
PLEASE PLEASE PLEASE do not read the cookie every time handleKeyEvent is
called!!!

This is an adjustment to #2891.
2017-05-11 12:26:14 -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
Stefan
be9ff4a0de Fixed crash on invalid export url 2016-12-22 23:04:06 +01: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
Stefan
14e1f3bf22 Update socket.io to version 1.4.5 2016-04-26 18:55:58 +02:00
John McLear
793b34d17b hrm, removal 2016-01-08 13:39:32 +00:00
John McLear
f16616d23b seems to work 2016-01-08 13:26:46 +00:00
John McLear
b519f9f156 include req and res in export convert hook 2015-12-21 17:32:05 +00:00
Chris Birk
7f517eca0b check for soffice before removing export paths 2015-12-17 21:54:04 -06:00
John McLear
1a8462fb4f remove unused variable 2015-12-01 17:40:16 +00:00
John McLear
4ae88b2ee7 Hook for export ocnvert control 2015-12-01 17:38:52 +00:00
John McLear
8a79ae6e02 regex incoming colors 2015-11-26 15:55:26 +00: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
John McLear
5652adb4eb Merge pull request #2813 from simong/export-libreoffice
Allow LibreOffice to be used when exporting a pad
2015-10-22 16:11:26 +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
Ted Mielczarek
a675659dc2 Add an appendText API 2015-10-19 15:27:09 -04: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
Stefan
9d29b15def Merge pull request #2730 from emilyxxie/clientready_hook
added clientReady hook
2015-10-10 13:30:36 +02:00
webzwo0i
1ee1f818db if granularity is negative, endNum is negative and loop 2015-10-09 14:55:59 +02:00
webzwo0i
31f7c7e0f2 check if ChangesetRequest granularity is a number (#2796) 2015-10-09 14:55:19 +02:00
Stefan
94cb743ca8 Fix API call appendChatMessage to send new message to all connected clients 2015-08-15 22:05:31 +02:00
Emily Xie
21f0d12d31 clientReady hook- pass entire message, updated doc 2015-07-20 11:45:41 -04:00
Clark Boylan
1060595676 Check for valid session in handleUserInfoUpdate
Address issue 2674 by checking that the session is valid and has a valid
author and padId before using it to update the userInfo for that
session. Otherwise it is possible that by the time we try to update a
session with new userInfo that session has disconnected and is no longer
available to be updated. Without this commit the etherpad-lite service
gracefully shutsdown whenever this happens.
2015-06-24 15:18:35 -07:00
Xavid
0713553906 Allow a pad to only end with a single newline, rather than requiring two. 2015-06-19 14:02:18 -04:00
John McLear
3944a0e79b more read only mode fixes andadd support for handleMessageSecurity hook 2015-05-20 01:05:53 +01:00
Simon Gaeremynck
786b43efc8 Tidy HTML before trying to convert it with abiword 2015-05-18 16:24:41 +01:00
John McLear
4938c7be38 plugins always return html so use that endpoint 2015-04-29 20:54:41 +01: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
John McLear
8ed12c7776 session key is now ignored and also padOptions are available in settings 2015-04-11 21:22:00 +01:00
Tom Hunkapiller
a896d67e8c make setPadRaw async; streamline .etherpad file import handling chain 2015-04-11 12:02:19 -05:00
Tom Hunkapiller
fd1d285a77 fix the rest of the deprecation warnings 2015-04-10 14:18:30 -05:00
Tom Hunkapiller
d0b39c01fb update for express 4.x 2015-04-08 23:12:11 -05:00
John McLear
ee5833b9c6 Merge branch 'develop' of github.com:ether/etherpad-lite into editbar-accessibility 2015-04-02 00:05:25 +01:00
John McLear
27ae48686d reintroduce removed api points that were removed by mistake 2015-04-01 13:56:52 +01:00
John McLear
32a09ff461 tests and fix up sloppy code by original author 2015-04-01 13:52:56 +01:00
John McLear
c705a058fb Merge branch 'feature/append-chat-api' of github.com:derosm2/etherpad-lite into append-chat-api 2015-04-01 13:32:07 +01:00
John McLear
fef746e80e fix import issue with txt files and abiword #2572 2015-04-01 00:19:42 +01:00
John McLear
b404af7c17 Merge pull request #2530 from webzwo0i/exception-handling-for-mimatched-composition
do not crash when encountering mismatched compositions. log the changese...
2015-03-31 23:17:51 +01:00
webzwo0i
f249b42ab4 empty author should be allowed to support clearAuthorship functionality 2015-03-03 16:39:14 +01:00
webzwo0i
0693c0ae97 - operator do not show up in the attribs of a pad, but authors could still leak to the pool 2015-03-03 15:37:56 +01:00
webzwo0i
01cd82427a check author in = operator 2015-03-03 15:20:33 +01:00
webzwo0i
0f82cd8711 print revision numbers - not changesets - in warn-log 2015-03-02 11:14:24 +01:00
webzwo0i
683c9dfb7c callback with argument error in async.series instead 2015-03-02 11:05:33 +01:00
webzwo0i
7719117e1e do not crash when encountering mismatched compositions. log the changesets and padid 2015-02-26 14:57:49 +01:00
Luc Didry
845788c39d Add a saveRevision API function
Calling saveRevision create an author which name is "API"
2015-02-25 01:04:27 +01:00
Luc Didry
a08c50a77d Fixes #1870
Add two functions to API :
 * getSavedRevisionsCount
 * listSavedRevisions
2015-02-24 23:42:35 +01:00
Mike DeRosa
4c6bd37286 Adding api call for appending a chat message. 2015-02-09 00:18:12 -05:00
webzwo0i
6b0cf29af6 Stop processing a message without auth (i.e. a client did not send
CLIENT_READY)
2015-01-24 06:34:41 +01:00
John McLear
cadb83ac5a bumpage 2015-01-19 02:51:32 +00:00
John McLear
17ce67d936 final html export hook 2015-01-06 16:31:52 +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
Stefan
c20a7e9bce Merge pull request #2406 from Gared/fix/author-not-set-callback
Fix missing callback of #2400 and ignore missing author on timeslider on client-side
2014-12-30 14:55:49 +01:00
John McLear
a07d1722fc no errors on chrome client 2014-12-30 12:12:24 +01:00
John McLear
5ba3cab445 better take some responsibility 2014-12-30 00:13:01 +01:00
John McLear
ac4f9eb4ce licensing 2014-12-30 00:12:26 +01:00
John McLear
99a239fa9a remove console log 2014-12-30 00:10:08 +01:00
John McLear
b8648b4a49 remove error logging 2014-12-29 23:08:42 +01:00
John McLear
a6400b3f61 allow only for pads less than 10 to be overwritten 2014-12-29 22:02:24 +01:00
John McLear
ab5e7381a2 working for all files 2014-12-29 21:35:10 +01:00
John McLear
3773b6346b semi working requires browser refresh 2014-12-29 20:57:58 +01:00
John McLear
3fe802077c Merge pull request #2091 from webzwo0i/disconnect-if-an-old-cs-is-submitted-twice
disconnect client if it submits an already accepted changeset based on a...
2014-12-29 02:01:03 +01:00
John McLear
c4959b089f resolve merge conflict 2014-12-29 01:54:44 +01:00
John McLear
8603fb4583 fix sockets of switch to pad 2014-12-29 00:46:47 +01:00
John McLear
6b1fee400d Merge branch 'switch-to-pad' of github.com:derosm2/etherpad-lite into localTest 2014-12-29 00:40:07 +01:00
Gared
9cf19b99fe Fix missing callback of #2400 and ignore missing author on timeslider on client-side 2014-12-27 22:25:24 +01:00
John McLear
7df944b3fd Merge pull request #2404 from webzwo0i/sanity-in-atext
block changeset if it deletes more lines than exist in the whole pad
2014-12-27 18:36:13 +01:00
Stefan
a645aeef5c Merge pull request #2400 from Gared/fix/author-not-set
Prevent server crash if author is not set
2014-12-27 16:15:26 +01:00
Gared
40c7ee9df9 Prevent server crash if author is not set 2014-12-27 14:26:05 +01:00
John McLear
ae22332f71 removing dokuwiki 2014-12-27 14:08:45 +01:00
webzwo0i
b204aa2085 remove more dead requires. 2014-12-16 19:10:01 +01:00
webzwo0i
5306f0c98a wrap appendRevision in try-catch block 2014-12-04 16:05:02 +01:00
John McLear
6fea3a25f8 stop death on no session 2014-11-30 21:21:58 +00:00
John McLear
16f3ebb3ba handle auth fails 2014-11-26 17:34:44 +00:00
John McLear
77de2d918b multiline 2014-11-25 22:14:48 +00:00
John McLear
2a062f8dc3 mheh no browser requirement at all 2014-11-25 18:18:42 +00:00
John McLear
c2c0cb6907 so yeah, prolly can do this anyway? 2014-11-25 18:07:34 +00:00
John McLear
a3f6b2edb7 more fixes 2014-11-23 22:33:56 +00:00
John McLear
555d22245d Merge pull request #2335 from ether/javascript-bower
swap out jquery browser for bower but expose browser object to all pages...
2014-11-23 14:15:41 +00:00
John McLear
9b66c93d6b swap out jquery browser for bower but expose browser object to all pages also enable minification.. Seems to work well 2014-11-22 19:11:35 +00:00
John McLear
764b8af5e3 Merge pull request #2334 from luto/api-mystery-crash
fix api mystery crash
2014-11-22 15:50:23 +00:00
luto
4eee89ad12 fix api mystery crash 2014-11-22 16:46:37 +01:00
John McLear
703440acd7 missing socketio fix 2014-11-21 00:11:50 +00:00
John McLear
3bf108f3b4 Merge pull request #2203 from ether/setting-to-not-import-unknown-file-types
Allow for a setting so you can stop unknown file types from being imported
2014-11-15 15:41:08 +00:00
John McLear
cce2d7279a resolve merge issues 2014-11-15 15:34:18 +00:00
Cristo
0253156dbb Update APIHandler.js 2014-11-12 19:55:37 +01:00
Cristo
46bc328896 new api ver 2014-11-08 01:41:23 +01:00
John McLear
053ff3097d whoops I missed this one 2014-11-04 23:29:45 +00:00
John McLear
9fa77cdea2 working handling of setting client ip and anonymizing etc 2014-11-04 23:25:18 +00:00
John McLear
f418dfa205 fix author notification handler 2014-11-04 22:37:10 +00:00
John McLear
af3e8e5e15 fix room client leave 2014-11-04 22:34:43 +00:00
John McLear
8391f902fb re-apply roomsize 2014-11-04 22:31:09 +00:00
John McLear
a6cbb4af40 working messages 2014-11-04 19:58:38 +00:00
John McLear
68eaa09708 Begin to repair damage done to rooms logic 2014-11-04 19:55:05 +00:00
John McLear
adef0af227 more stuff required to stop it crashing, now we have identified what needs fixing we can fix it 2014-11-04 18:01:41 +00:00
John McLear
1e53c4f5f0 identify which parts are causing issues and comment them out, obviously this needs fixing 2014-11-04 17:57:18 +00:00
Olivier Tétard
bfde869948 If exportFileName hook isn’t defined don’t return empty filename.
This commit should fix #2251.

If ``exportFileName`` hook is not defined, ``hookFileName`` should be an empty array. Test the length of ``hookFileName`` before overriding ``fileName``, the export filename.
2014-09-28 14:53:07 +02:00
Simon Gaeremynck
2f8b860e69 Added a userLeave hook that gets called when a user leaves a pad 2014-08-08 15:49:15 +01:00
John McLear
17f26b8c2c Support to allow for a setting so you can stop unknown file types from being imported 2014-07-22 15:46:31 +01:00
Mike DeRosa
25f6c9bf9a Checking if the author for the sessions match instead of comparing the entire session. 2014-07-12 16:40:59 -04:00
Mike DeRosa
7861cae763 Cleaning up switchToPad functionality so that we only need one call to the server("SWITCH_TO_PAD") instead of two (cleaning session info and client ready).
Also Clearing chat messages when switchToPad is called in pad.js instead of having the server tell the client to clear the chat messages.
2014-07-12 16:27:00 -04:00
John McLear
44cb676ba2 Merge pull request #2150 from ether/export-file-name-hook
Server side hook to modify the export file name
2014-06-16 16:47:15 +01:00
Mike DeRosa
4ccd7131d3 Added function to switch to a different pad without having to reload the whole page. 2014-06-14 14:25:56 -04:00
Marcel Klehr
cd294c608b Merge pull request #2149 from ether/dont-use-abiword-for-html
abiword shouldnt be used for HTML native documents
2014-06-11 14:47:33 +02:00
Stephan Jauernick
fc3ce3429e Corrected the API Version number. 2014-06-01 21:21:08 +02:00
Stephan Jauernick
493636ec36 Added a new API method getPadID for reversing the Readonly ID and introduced the API level 1.4.1. Based on: 97402f60b8 2014-05-31 00:39:36 +02:00
Marcel Klehr
19be8763c9 Fix race condition 2014-05-15 12:47:28 +00:00
John McLear
c63cb812e8 Update ExportHandler.js 2014-05-15 10:53:37 +01:00
John McLear
a82823ede2 use full string not first char 2014-05-12 15:15:10 +01:00
John McLear
d09e66e271 use call first and update docs 2014-05-12 15:08:32 +01:00
John McLear
b74c43889e Update ImportHandler.js 2014-05-09 13:50:00 +01:00
John McLear
ec6dc4fa0e make async, please check 2014-05-07 16:27:41 +01:00
John McLear
69ba3cc104 remove eplite add etherpad 2014-05-07 15:17:14 +01:00
John McLear
1f7fcd54f1 working logic for allowing a server side hook to modify the export file name but NOT the extension 2014-05-06 21:13:22 +01:00
John McLear
6d38b05623 abiword shouldnt be used for HTML native documents 2014-05-06 17:32:45 +01:00
John McLear
56fd078469 Merge pull request #2092 from webzwo0i/fix-crash-with-queued-messages
Fix crash with queued messages
2014-03-26 19:39:19 +00:00
Marcel Klehr
f6f319960d Fix REQ_CS rev boundary check
fixes #2096
2014-03-20 21:34:01 +01:00
webzwo0i
8245e65d3f disconnect client if it submits an already accepted changeset based on an old revision 2014-02-20 18:13:30 +01:00
webzwo0i
fa681d43f7 remember user session because it can be gone when finalHandler is called 2014-02-20 17:38:25 +01:00
webzwo0i
c8c2866087 fix crash if disconnect happens for sessions that have messages queued 2014-02-20 16:33:42 +01:00
Simon Gaeremynck
cfdd57b487 Addressed a potential never finishing forEach in PadMessageHandler.padUsers
If the session info for a client would be null or undefined, the forEach
callback would never get called which means the padUsers callback would
never get trigged. This could potentially block API request as this function
is exposed at an HTTP API endpoint.
2014-02-19 10:48:15 +00:00
Robert Helmer
348d9a838f convert over to server-side crypto 2014-01-15 11:44:57 -08:00
Marcel Klehr
adf05576b2 Don't crash if CHANGESET_REQ fails 2013-12-17 16:20:57 +01:00
s1341
5add63165d Fix server side bug index overflow
The server wasn't properly checking that the changesets it needed to
return for changeset_requests actually existed.
2013-12-17 15:37:35 +02:00
John McLear
24e96c4f8b Merge pull request #2028 from webzwo0i/remove-deadcode
Remove deadcode
2013-12-09 10:49:57 -08:00
John McLear
438f3fc717 Merge pull request #2030 from ether/import_hook
Working import hooks
2013-12-09 10:22:40 -08:00
John McLear
3180b96213 Remove console logs 2013-12-09 18:13:07 +00:00
webzwo0i
aadcfbb3d1 do not send globalPadId in clientvars - its not used anywhere 2013-12-08 17:29:41 +01:00
webzwo0i
01c71085e4 fix closing of </title> tag 2013-12-07 00:18:36 +01:00
Luc Didry
3d8452b143 Replace tabs indentation with spaces indentation
Some files are obviously external libraries, I didn't touch them
2013-12-05 08:41:29 +01:00
John McLear
271dd663bf foo 2013-11-28 17:22:34 +00:00
John McLear
6fcc7c77f9 not working and erally confused 2013-11-27 00:23:11 +00:00
s1341
45e0680484 move copy/move pad into a new api version 2013-11-24 22:34:56 +02:00
s1341
52a99eb9e5 fix bugs, add force option to overwrite destination 2013-11-18 08:25:46 +02:00
s1341
93fcab0461 change parameter names 2013-11-17 21:01:02 +02:00
s1341
29d8bb7716 add pad copy/move API functions 2013-11-17 17:02:44 +00:00
Marcel Klehr
7b84e7308b Merge branch 'metrics' into develop
Conflicts:
	src/node/handler/PadMessageHandler.js
2013-10-28 12:11:25 +01:00
Marcel Klehr
3ad4b1b837 stats: Add http500, memoryUsage, pendingEdits gauges
and turn edits metric into a timer instead of a simple meter
2013-10-27 21:43:32 +01:00
Marcel Klehr
940f114a84 Record metrics with 'measured' 2013-10-27 17:42:55 +01:00
Kenan Sulayman
7ab65d7112 Refactors APIHandler:callAPI
Refactors and optimizes the APIHandler->callAPI.
2013-10-25 12:14:22 +02:00
Grant Woodford
fbe4e43c3d Privacy: Add an option to disable IP logging 2013-10-19 21:37:11 +02:00
vileda
77c2313025 pass correct padID to checkAccess if pad is requested via readOnly link 2013-10-13 22:31:41 +02:00
Marcel Klehr
aa77a615da Drop messages from unknown connections
fixes #1908
2013-10-12 18:51:04 +02:00
Marcel Klehr
7f10b9a42f Add explanations for more disconnect scenarios 2013-10-10 21:11:15 +02:00
Marcel Klehr
d4c99d40b8 Never keep processing a changeset if it's corrupted 2013-10-10 18:19:25 +02:00
Marcel Klehr
6689a3c02e Catch errors during preparation of client vars
... and disconnect the user
2013-10-10 16:38:41 +02:00
Marcel Klehr
de73de38b1 Filter author attribs in client_vars.historicalAuthorData 2013-10-07 18:58:20 +02:00
Marcel Klehr
9fac515885 Revert "do not pass historical author data to read only users"
This reverts commit b32aaaeb1b.
2013-10-07 18:54:57 +02:00
John McLear
d7088031fa remove white space 2013-10-06 15:16:32 +01:00
John McLear
b32aaaeb1b do not pass historical author data to read only users 2013-10-06 15:15:43 +01:00
Marcel Klehr
7b17bd58ae Merge branch 'pr/1756' into develop
Conflicts:
	src/node/handler/SocketIORouter.js
2013-09-29 16:45:12 +02:00
John McLear
f59df2bb80 Merge pull request #1902 from ether/fix/handle-message-continuation
Don't stop processing changesets if there is an error
2013-09-28 23:38:26 -07:00
John McLear
c615ccf514 dont crash on importing blank html 2013-09-27 14:47:34 +01:00
Marcel Klehr
7f7d506ff3 Don't stop processing changesets if there is an error
fixes #1895
2013-09-23 16:38:55 +02:00
John McLear
4bea3a348e strip title out of html during import, pesky abiword behavior 2013-09-21 23:29:32 +01:00
Gared
b336e38637 Add check if uploaded file only contains ascii chars when abiword disabled 2013-09-10 21:58:28 +02:00
tonoman3g
e60591a4d5 fix padUsers http api call in PadMessageHandler.js.
Add callback() function call to iterator function.
2013-09-09 21:24:41 +07:00
Marcel Klehr
40f578cfbd Merge pull request #1816 from bit/sessioninfos
export sessioninfos
2013-07-23 05:14:45 -07:00
j
a62593e9a0 export sessioninfos so plugins can access it
allows plugins to map client.id to author id
2013-06-17 16:54:02 +02:00
Marcel Klehr
2c855de6f6 Add a server-side changeset queue per pad
fixes #1573
2013-04-27 23:04:42 +02:00
Spruce (Felix Fichte)
fb0bc31056 updated to use settings
updated handler/SocketIORouter.js to use new setting
updated hooks/express.js to use new setting
updated utils/Settings.js to accept new setting
updated settings.json.template so new setting is present
2013-04-24 12:19:41 +02:00