Commit graph

1820 commits

Author SHA1 Message Date
d-a-n
07c33c77c4 Updated docs for new pad hooks (add, edit, remove) 2012-10-02 22:10:18 +03:00
Marcel Klehr
3578e36616 Merge pull request #1025 from amtep/develop
Fix race condition and a stack error caused by too old changesets
2012-09-28 05:43:47 -07:00
Richard Braakman
7aaef01346 Prettify session handling in handleUserChanges
Also add a comment to explain what's going on with thisSession.
No changes in behavior.
2012-09-27 23:07:00 +03:00
Richard Braakman
f1b4206cad Fix crash when client submits changeset based on too-old revision
We had a problem with the server running out of stack space if a client
submitted a changeset based on a revision more than about 1000 revs old.
(944 was our cutoff but yours may vary). This happened in the wild with
about 30 people editing via flaky wifi. A disconnected client would try
to submit a fairly old changeset when reconnecting, and a few minutes
was enough for 30 people to generate that many revs.

The stack kept growing because pad.getRevisionChangeset was being answered
from the cache, so no I/O interrupted the callback chain. (This was seen with
mysql, I don't know about other backends.)

This patch forces a nextTick every 200 revisions to solve this problem.
2012-09-26 03:01:59 +03:00
Richard Braakman
e16008b371 Fix sessioninfos race that can cause crash during USER_CHANGES handling
When stress testing etherpad-lite we occasionally got this error:

TypeError: Cannot read property 'author' of undefined
    at /home/etherpad/etherpad-lite/src/node/handler/PadMessageHandler.js:556:47

handleUserChanges was accessing sessioninfos[client.id].author in a callback,
after spending some time in the loop that updates the changeset to the
latest revision. It's possible for a disconnect request to be processed
during that loop so the session might no longer be there.

This patch fixes it by looking up the author at the start of the function.
2012-09-26 03:01:59 +03:00
Marcel Klehr
49799bfa97 Merge pull request #1018 from cweider/fix-windows
Upgrade to Yajsml with another Windows backslash fix.
2012-09-22 07:17:53 -07:00
John McLear
3c828ab1a6 Merge pull request #1019 from marcelklehr/feature/github-contributing-file
Let Github know our Dev Guidelines
2012-09-22 04:04:16 -07:00
Marcel Klehr
087560ea6c Let Github know our Dev Guidelines
https://github.com/blog/1184-contributing-guidelines
2012-09-22 12:55:49 +02:00
Chad Weider
49915dfeb8 Upgrade to Yajsml with another Windows backslash fix. 2012-09-21 22:09:44 -07:00
John McLear
cd3e65e043 Merge pull request #1015 from marcelklehr/fix/multiSession-foreach
Fix async.forEach in MultiSession code
2012-09-19 10:07:20 -07:00
Marcel Klehr
a72ade4494 Fix async.forEach in MultiSession code 2012-09-19 17:48:26 +02:00
Marcel Klehr
b9da0e187e Revert "Fixed foreach loop on session IDs, was breaking EP on single session in cookie."
This reverts commit 443a71bc9c.

	modified:   src/node/db/SecurityManager.js
2012-09-19 17:42:36 +02:00
John McLear
0883043eb9 Merge pull request #1014 from marcelklehr/feature/list-all-groups
Add listAllGroups API endpoint
2012-09-18 15:36:19 -07:00
John McLear
f81a110229 Merge pull request #1013 from eldiddio/develop
Fixed foreach loop on session IDs, was breaking EP on single session in cookie
2012-09-18 08:53:43 -07:00
johnyma22
443a71bc9c Fixed foreach loop on session IDs, was breaking EP on single session in cookie. 2012-09-18 16:30:26 +01:00
John McLear
923b51033b List 12 plugins instead of 4
4 was a bit stingy :)  12 is a bit more friendly from a UX persepctive.
2012-09-18 15:54:08 +02:00
John McLear
363ce7a9ad Merge pull request #1008 from marcelklehr/fix/api-v1.1
Still support API endpoints of v1 in v1.1
2012-09-17 14:19:31 -07:00
Marcel Klehr
f8f002adc0 Add listAllGroups API endpoint
Adds a database key that lists all groups
2012-09-17 23:03:56 +02:00
Marcel Klehr
bbc8848af3 Still support API endpoints of v1 in v1.1 2012-09-17 16:29:39 +02:00
John McLear
9cfcafb852 Merge pull request #1005 from cweider/fix-ie
Remember, the `class` symbol is reserved in some environments.
2012-09-17 04:53:42 -07:00
Chad Weider
a0177e5d3c Remember, the class symbol is reserved in some environments.
Fixes issue introduced in 9be69ef258.
2012-09-16 18:07:55 -07:00
John McLear
6f37de2fae Update src/package.json
Bump to v 1.1.2
2012-09-14 17:33:45 +02:00
John McLear
e9e3ea305b Merge pull request #992 from gedion/develop
Added hooks and made some ace functions available to editorInfo Object
2012-09-14 04:51:17 -07:00
John McLear
ba8177fc6f Merge pull request #999 from lepidum/develop
Fixed international composition issues (e.g., Japanese Input method)
2012-09-14 04:50:08 -07:00
lepidum
22315cd30e Merge pull request #2 from ayokura/fix-international-composition
Fixed international composition issues (e.g., Japanese Input method)
2012-09-14 00:17:49 -07:00
NAGOYA, Yoshihiko
71c9444694 fix for InternationalComposition(e.g., Japanese Input)
moved inInternationalComposition from Ace2Inner to top window
fix bindTheEventHandlers() because ie9 implement CompositionEvent
when inInternationalComposition, NEW_CHANGES msg and ACCEPT_COMMIT msg
are pushed msgQueue.
when handleUserChanges(), apply msgQueue.
2012-09-13 23:37:26 +09:00
John McLear
c2f5fc32cc Merge pull request #998 from marcelklehr/bump/api-version-1.1
Bump API version to v1.1
2012-09-13 07:20:44 -07:00
Marcel Klehr
ad16c0d0d4 Bump API version to v1.1 2012-09-13 16:13:54 +02:00
John McLear
f3abe6e970 Merge pull request #996 from marcelklehr/doc/hook-return-values
Document, how return values of hooks are handled.
2012-09-12 10:37:28 -07:00
Marcel Klehr
40572b13b9 Document, how return values of hooks are handled. 2012-09-12 17:15:38 +02:00
John McLear
d44c7f0bb5 Merge pull request #994 from cweider/parent-plugins
Parent plugins
2012-09-12 04:52:38 -07:00
John McLear
389e0d09b0 Merge pull request #740 from cweider/plugin-cleanup
Plugin cleanup
2012-09-12 04:52:23 -07:00
John McLear
f105cf2646 Merge pull request #995 from cweider/fix-caching
Fix cache headers for missing files.
2012-09-12 04:48:09 -07:00
Chad Weider
feeab5c1b2 Fix cache headers for missing files. 2012-09-11 22:27:14 -07:00
Chad Weider
b691606c4e Replace ParentRequire hack.
Instead of hacking with the internals of require, make client_plugins aware
and capable of sharing behavior.
2012-09-11 21:16:47 -07:00
Chad Weider
1258ed3a0d Split client and server plugin functionality.
There is virtually no shared code for the client, extract it into its own
module and do away with the switches.
2012-09-11 21:16:47 -07:00
Chad Weider
9394495364 Inject plugins into hooks. 2012-09-11 21:16:47 -07:00
Chad Weider
3631f0ece3 Inject special normalization behavior. 2012-09-11 21:16:47 -07:00
Chad Weider
e375b6212a Static functions are static. 2012-09-11 21:16:47 -07:00
Chad Weider
b0d71df604 Fix worthless indentation. 2012-09-11 21:16:47 -07:00
Gedion
a25feed1c2 fixed indentation 2012-09-11 17:49:58 -05:00
Gedion
3364eb131e fixed comments 2012-09-11 17:02:53 -05:00
Gedion
9be69ef258 fixed plugins 2012-09-11 16:21:14 -05:00
John McLear
70fe1a7451 Update bin/installOnWindows.bat 2012-09-11 22:15:48 +02:00
John McLear
693b9832ec Merge pull request #991 from marcelklehr/fix/multiple-sessions
Don't break if there is no session cookie.
2012-09-11 12:00:58 -07:00
Marcel Klehr
d05d587f21 Don't break if there is no session cookie. 2012-09-11 20:59:19 +02:00
John McLear
a4bd92c184 Merge pull request #983 from Pita/feature/multiple-api-versions
Add support for multiple api versions
2012-09-11 11:29:24 -07:00
John McLear
2d274820ba Merge pull request #701 from cweider/modules
Reuse NPM Modules
2012-09-11 07:24:55 -07:00
John McLear
3cb9efb865 Merge pull request #988 from marcelklehr/update/reorganize-readme
Improve and reorganize the README
2012-09-10 08:35:57 -07:00
Marcel Klehr
9bb2bef50d Improve and reorganize the README 2012-09-10 14:44:06 +02:00