Age | Commit message (Collapse) | Author |
|
Support for additional underlying databases
|
|
Bump version #
|
|
Fix for #1032 caused by pull-request 999
|
|
fix Pita/etherpad-lite #1032 (International composition (e.g. Japanese Input))
|
|
refact inInternationalComposition
|
|
Guard against malicious clients in USERINFO_UPDATE handling
|
|
fix for error handling in the callback code
|
|
The callback code does not follow error handling guidelines, thus always
receiving NULL instead of results array.
|
|
Fix variable name in handleMessageHook
|
|
the code would never work as expected with this type
|
|
Drop method deprecated in Express 3.x.
|
|
|
|
Both functions did the same thing, the first function was buggy. Might be worth someone looking through the history of this file and pointing out when I made this heinous error ;)
|
|
Added hooks for pad events create/edit/load/remove
|
|
Add `userColor` query param to set initial color
|
|
|
|
Upgrade Express to v3 [proposal]
|
|
Upgrade to Yajsml bug fix.
|
|
|
|
|
|
passed as hash.
|
|
|
|
Conflicts:
src/node/hooks/express/errorhandling.js
|
|
|
|
The server was reusing the client's message when broadcasting userinfo
updates. This would allow a malicious client to insert arbitrary fields
into a message that the other clients would trust as coming from the
server. For example, adding "disconnect" or renaming other authors.
This commit fixes it by having the server construct a new message with
known fields before broadcasting.
|
|
|
|
|
|
|
|
|
|
Update docs for new hooks and ace exposures
|
|
Don't shut down the whole server, if error handling middleware is called...
|
|
The errors passed to error handling middleware aren't that severe, so it's fine to just stay alive...
|
|
Somehow </iframe> was no more. Now it is back.. Oh boy.
|
|
|
|
|
|
Ace cleanup
|
|
|
|
Fix server crash if client disconnects too soon after connecting
|
|
Fixes for express-v3 branch
|
|
The client might have disconnected between callbacks so don't try to
write to the session before checking this. The main callback of this
function now has a single check at its top.
Removed a redundant check halfway through the callback.
Also normalized use of client.id for the session index instead of a mix of
client.id and sessionId.
Added some explanatory comments.
|
|
|
|
Fix race condition and a stack error caused by too old changesets
|
|
Also add a comment to explain what's going on with thisSession.
No changes in behavior.
|
|
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.
|
|
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.
|
|
Upgrade to Yajsml with another Windows backslash fix.
|
|
|
|
|
|
|
|
|