Commit Graph

3144 Commits (cd277e5810a0ed2f2dac204a340e588fc329669b)

Author SHA1 Message Date
John McLear cd277e5810 Merge pull request #1786 from clkao/saferun
Fix safeRun that tries to shift on subsequent restarts
2013-06-02 05:43:17 -07:00
Chia-liang Kao 67b513216a Fix safeRun that tries to shift on subsequent restarts 2013-05-29 10:40:30 +08:00
John McLear 0aa0c69ba3 Merge pull request #1785 from interesse/saferun_args
Pass arguments from safeRun.sh to run.sh
2013-05-26 16:03:35 -07:00
Jens Herrmann cbbf9a82ac Pass arguments from safeRun.sh to run.sh 2013-05-26 23:06:15 +02:00
Siebrand Mazeland 7d81a6d042 Localisation updates from http://translatewiki.net. 2013-05-26 09:36:03 +00:00
Siebrand Mazeland 9c69753a35 Localisation updates from http://translatewiki.net. 2013-05-20 09:30:23 +00:00
Siebrand Mazeland 8ee15d4003 Localisation updates from http://translatewiki.net. 2013-05-12 18:40:40 +00:00
Siebrand Mazeland 923c01745b Localisation updates from http://translatewiki.net. 2013-05-09 13:39:04 +00:00
Marcel Klehr 90d1598688 Merge pull request #1751 from goldquest/dev_IE8-fix
Fixing IE8 errors
2013-05-08 07:19:15 -07:00
John McLear 42e164c1b6 Merge pull request #1770 from ether/feature/travis_fix
Fixed sauce labs key in travis config file
2013-05-04 05:20:23 -07:00
Peter 'Pita' Martischka 97bbff05d4 Let travis use sauce labs key of the etherpad user 2013-05-04 13:14:39 +01:00
John McLear 2273cf9ed6 Merge pull request #1740 from ether/feature/add-cs-queue
add a changeset queue
2013-04-28 13:58:08 -07:00
John McLear 9f2bab2ba3 Merge pull request #1760 from bemeric1/develop
Issue #1652: Fix to client-side-induced changeset spamming.
2013-04-28 13:11:34 -07:00
Siebrand Mazeland 702a300164 Localisation updates from http://translatewiki.net. 2013-04-28 17:48:19 +00:00
Marcel Klehr 2c855de6f6 Add a server-side changeset queue per pad
fixes #1573
2013-04-27 23:04:42 +02:00
Brian Emerick e7d8f124ad Issue #1625: Fix to client-side-induced changeset spamming.
THE BUG - HIGH LEVEL:
- When client A sends out an attribute change, client B applies that change to itself but
  also thinks that it made the change itself, which is incorrect. This means that when client B
  next makes a change, he will send out that he made the attrib change that A actually made.
- Ex: Have 2 clients on the same pad. Have A apply bold on some text. Next, have B type a character.
  B will broadcast that it both added a character AND applied bold, when in reality it did NOT
  apply bold at all, that change was done by the other client and this client incorrectly adopted it as its own.
- This root bug behavior results in clients continuing to think that they each made the other client's change,
  thus resulting in an infinite loop of changeset spamming that bogs down clients and harms server stability.

THE BUG - IN DEPTH:
- The root issue is in the way that Changesets are combined in Changeset.follow(). Specifically, in the case of a
  changeset with ONLY new attrib changes (no text changes) being merged with an identity changeset (has no ops).
- In this case, Changeset.follow() copies the ops of the new CS and fully overrides the other CS.
- applyChangesToBase invokes Changeset.follow to determine the final client document CS state after applying the new CS.
  If the final client document CS state is NOT the identity CS, then the client broadcasts that it made a change.
- When client A changes just attribs, client B's applyChangesToBase calls Changeset.follow() and passes client A's
  changeset (attrib change) and Client B's current changeset state (identity).
- As per the noted bug, Changeset.follow() returns client A's changeset as a result, causing client B to adopt
  client A's changeset as its own document state. Thus, client A ends up thinking it has made client B's changes.

THE FIX:
- Changeset.follow() should NOT copy the ops of the new CS passed in if those changes are only attrib changes.
  This allows applyChangesToBase to properly set the client's CS back to the identity after applying an
  external attrib change, instead of incorrectly adopting the external client's changes.
2013-04-24 15:18:25 -07:00
Siebrand Mazeland f0f98b41fe Localisation updates from http://translatewiki.net. 2013-04-21 12:29:25 +00:00
John McLear acd2e9ff68 Merge pull request #1754 from goldquest/patch-1
Just a missing character in README
2013-04-18 04:34:03 -07:00
Timo Welde b527c6ead2 Just a missing character 2013-04-18 12:54:09 +03:00
goldquest 98c43aff43 fixed spacing 2013-04-17 18:17:14 +02:00
John McLear f478f99995 Merge pull request #1750 from ether/fix/authorship-once-and-4-all
Fix authorship sanitization
2013-04-17 08:13:22 -07:00
goldquest 896f72311f use document, not doc 2013-04-17 16:51:54 +02:00
goldquest 566034ddf0 IE8 don't knows the Array.forEach function (simple version fix) 2013-04-17 16:51:43 +02:00
goldquest b08a6e522f IE8 complains, if catch block is missing 2013-04-17 16:51:21 +02:00
Marcel Klehr 146c75e703 Remove console.log in content collector
fixes #1731
2013-04-17 16:37:45 +03:00
Marcel Klehr 560fd55bf2 Fix authorship sanitization
author colors wouldn't get disttributed, if their id was greater than 9
(due to apool encoding them to base 36)
2013-04-17 15:24:40 +02:00
John McLear a3ed936d5f Merge branch 'develop' of github.com:ether/etherpad-lite into develop 2013-04-16 00:12:57 +01:00
John McLear e7a80b7b77 still express is stuck at 3.1.0 2013-04-16 00:12:11 +01:00
John McLear 2e0c8dbc4f Merge pull request #1745 from ether/master
Pull tags
2013-04-15 16:05:03 -07:00
John McLear c19b7b8f55 Merge pull request #1743 from ether/dont-crash-on-export-abiword
catch error on export
2013-04-15 15:32:14 -07:00
John McLear f987299a5d catch error on export 2013-04-15 23:01:08 +01:00
Marcel Klehr 76e50e2c4d Refactor SocketIORouter 2013-04-15 20:29:06 +02:00
John McLear fac4058e83 Merge pull request #1739 from ether/update-connect
Update connect and express
2013-04-15 11:09:34 -07:00
John McLear 9b952da692 Merge branch 'develop' of github.com:ether/etherpad-lite into update-connect 2013-04-15 19:07:01 +01:00
John McLear 9a863824c9 update connect and express 2013-04-15 19:06:22 +01:00
John McLear 0b2e1a0c31 Update .travis.yml 2013-04-15 17:33:41 +02:00
John McLear a670158e78 Update .travis.yml 2013-04-15 17:33:20 +02:00
John McLear c5a58d392c Merge pull request #1737 from ether/develop
Patch allow spam to be sent :|
2013-04-15 06:38:42 -07:00
John McLear 9b7dca5427 Merge pull request #1736 from ether/dont-avoid-spam
undo avoid changeset spam as it breaks functionality
2013-04-15 06:37:49 -07:00
John McLear 4989f56673 undo avoid changeset spam as it breaks functionality 2013-04-15 14:36:25 +01:00
John McLear 2872a824de Merge branch 'release/1.2.10' 2013-04-15 12:24:44 +01:00
John McLear 2c8699506d push express back as it breaks sessions 2013-04-15 12:21:10 +01:00
John McLear c3c7a3d128 Merge pull request #1721 from ether/dont-send-same-cs-spam
temp patch for #1652
2013-04-15 04:20:05 -07:00
Siebrand Mazeland 8a2977381f Localisation updates from http://translatewiki.net. 2013-04-14 11:54:26 +00:00
John McLear 08b54ef61b Merge pull request #1732 from ether/authorID-2
Correct authorID in Changeset on modification
2013-04-12 06:36:39 -07:00
John McLear 337179fddd remove console logs and cruft 2013-04-12 14:34:07 +01:00
Marcel Klehr f4de7f6a90 Use a string instead of an array! 2013-04-11 21:23:38 +02:00
Marcel Klehr 49013b18c7 We need to replace all new author attribs with thisSession.author, in case someone copy/pasted or otherwise inserted other peoples changes 2013-04-11 21:12:59 +02:00
John McLear b137f301e2 MAGIQ 2013-04-11 18:34:40 +01:00
Marcel Klehr e8d953a15c Use the correct version number 2013-04-11 19:08:07 +03:00