312 Commits (103bb69daab064c2f58b82b661bb1cefe1ebded9)

Author SHA1 Message Date
ansuz 851ccfbdb6 detect falsey operations in OT and ignore them 9 years ago
ansuz 400f6efde1 json-ot.js : jshint compliance 9 years ago
ansuz a0999d1d2b add a comment about why hashes are being stubbed 9 years ago
ansuz ca94d30386 detect falsey operations in OT and ignore them 9 years ago
ansuz 9f9cd8d8cd realtime-input.js : fixes for jshint compliance 9 years ago
ansuz 793149a608 json-ot.js : jshint compliance 9 years ago
ansuz 06a3b63923 jshint compliance for toolbar.js 9 years ago
ansuz 3b8238ef3b add missing semicolons to pad/main.js
jshint compliance
9 years ago
ansuz 5cead3fad3 add missing semicolons to TextPatcher.js 9 years ago
ansuz e6ab03164c import TypingTests.js and expose at the console
RTWYSIWYG-54
> implement tests for components of the WYSIWYG editor
9 years ago
ansuz 94e57e4a26 update location of text-patcher.js 9 years ago
ansuz b37dab1f49 Merge branch 'diffdom' into netflux
Simple cleanup and unit tests
9 years ago
ansuz a07774e81a Implement tests for serialization
ensure that complex DOM elements can serialize and deserialize without modifications

RTWYSIWYG-54
> implement tests for components of the WYSIWYG editor
9 years ago
ansuz 6bb37aed44 main.js : support tab insertion in /hack/ pad 9 years ago
ansuz 6b9d982d40 stabilize _socket/realtime-input.js
...as common/RealtimeTextSocket.js
9 years ago
ansuz 1a22592afa remove unused modules from realtime-input.js 9 years ago
ansuz 39071021eb stabilize typingTest.js as /common/TypingTests.js 9 years ago
ansuz 9805958ad7 stabilize text-patcher.js into /common/TextPatcher.js 9 years ago
ansuz 2c34833d2c break text-patcher's functionality into components
text-patcher.js now exports diff, patch, log, and apply change
in addition to the previous 'create' method.
9 years ago
ansuz 7782069dbd Merge pull request #15 from xwiki-labs/diffdom
merge diffdom into netflux
9 years ago
ansuz a1f9b10175 remove offending line from chainpad entirely
RTCHAINPAD-3
9 years ago
ansuz 4071a3aa25 revert to using the chainpad in /common/
now that we have found the problem that caused the backspace bug
we don't need a special chainpad for testing.
9 years ago
ansuz 4ba68eb2bf fix leaky variable in chainpad
Patch.transform declared a 'toTransform' variable without using 'var'
this caused it to leak onto the window during operational transformations
9 years ago
ansuz 05108efdfa correct chainpad's transformation function
addresses RTCHAINPAD-3

Pending further testing, this change will still need
to be corrected in https://github.com/xwiki-contrib/chainpad/
9 years ago
Yann Flory 360fee9feb Fix a new cursor error with Codepad 9 years ago
Yann Flory c2e0dded3a Fix an issue with the cursor sometimes disappearing when a patch was received
Update CodeMirror to the latest version (5.13.2)
9 years ago
Yann Flory 713c90242b Hide the usernames when they have not been changed 9 years ago
Yann Flory c53baab99d Update Codepad with the latest improvements 9 years ago
Yann Flory 0b3d6e15b8 Replace the Netflux old client (netflux.js) by the Netflux2 client.
Move the WebRTC peer-to-peer use case in /padrtc, which still uses the old
Netflux client
Use es6-promises.min.js to solve a issue with some browser and the new
Netflux client
9 years ago
ansuz cd357a9136 turn an alert into a console.error 9 years ago
ansuz ec64e0d381 use getAttribute to inspect document elements
el.getAttribute('attr') is more reliable than el[attr].
9 years ago
ansuz f5b0e1a5df Add comments, debug variables. initialize better
Expose Hyperscript via window.REALTIME_MODULE

Make sure to pass in a JSON.parse'able initial state.

Add comments detailing the problems with not using setAttribute
9 years ago
ansuz 842b9d4243 Generalize _socket/realtime-input.js a little more
Anything JSON related should be at the application layer
9 years ago
Yann Flory cf9f60bd57 The server don't send back anymore messages to their sender 9 years ago
Yann Flory eb4ea7a6b0 Remove the content from the ACK messages sent by the server 9 years ago
Yann Flory ba4faea939 Update the pads to run with the latest improvements to the websocket server 9 years ago
Yann Flory 5ef7e29a9b Add the latest changes from _socket into the netflux pad 9 years ago
ansuz b59a14c5ac merge hyperjson changes from realtime xwiki
more resilient class serialization.
comments
9 years ago
ansuz 2691d85582 use forked chainpad with assertions for _socket 9 years ago
Yann Flory b41f0e8c50 Merge branch 'cjd-fixed-it-with-hax' into netflux2 9 years ago
ansuz c50690349b comments describing the role of each argument 9 years ago
ansuz df78d284c4 initial state should be valid JSON so JSON parse doesn't fail 9 years ago
ansuz 96e03fcfa4 Use latest chainpad without mutations 9 years ago
ansuz d5772c6315 when json-ot produces json that fails to parse...
export the relevant data to a window variable so we can inspect it better
9 years ago
ansuz aaf7c777cc add debugging info to the textPatcher
* kill dead code
* add assertions
* better logging for insertions and removals
9 years ago
ansuz 523df40d09 Debugging concurrent typing:
track whether there are local operations in progress, such that we can tell
whether a remote change is interrupting the DOM's conversion to hjson.
9 years ago
ansuz e446a3645c don't send funny BR attributes over the wire. Properly initialize the typing test 9 years ago
ansuz 22290590cb don't rely on window scope in typingTest.js 9 years ago
ansuz 772ca5d30e comment out debugging line 9 years ago
ansuz 6c340a6527 chainpad testing = true, reject non-compliant messages 9 years ago
ansuz afa1104d85 Pull the cursor out of bogus BR tarpits when it gets stuck 9 years ago
ansuz bac0e0ff88 implement hyperjson filtering 9 years ago
ansuz e51635c4bb fix index error 9 years ago
ansuz 3aebf7d2c2 minor changes to pass linting 9 years ago
ansuz 29e24f556c kill another window variable 9 years ago
ansuz e699073d45 attempt to preserve the magic line plugin while someone else is typing 9 years ago
ansuz 941f5361ea forgot to add 'typingTest', which main depends on 9 years ago
ansuz d852c578d8 removed dead code 9 years ago
ansuz 5591aae8fa Clean up main file
* convert.js includes the vdom library, which we aren't using anymore
  - removed, and replaced with the simple functions from Hyperjson and Hyperscript
* removed several variables that had been exported to 'window'
* moved the testing functions out into their own file for easier reuse
* restructured realtime initialization to be more compact
9 years ago
ansuz 478ccbf984 revert changes to chainpad 9 years ago
ansuz e3b78e20de Merge branch 'cjd-fixed-it-with-hax' of github.com:xwiki-labs/cryptpad into cjd-fixed-it-with-hax 9 years ago
ansuz e26246178f start to clean up and give things more sensible names.
get rid of the textarea entirely
9 years ago
Caleb James DeLisle b372b0b77c small change to chainpad in order to make it more likely to fail if the authDoc goes into the wrong state 9 years ago
Caleb James DeLisle f3fb674504 Merge branch 'cjd-fixed-it-with-hax' of github.com:xwiki-labs/cryptpad into cjd-fixed-it-with-hax 9 years ago
Caleb James DeLisle 98c85cef8b xxx 9 years ago
ansuz 12dcbc9121 fix quick red fox and make test.cancel work again 9 years ago
Caleb James DeLisle 62eabbc7ae If a message does not match parent hash, don't delete it from storage 9 years ago
Caleb James DeLisle dbf31798d5 json-ot triggering PARANOIA errors in ChainPad 9 years ago
Caleb James DeLisle 03932d0169 small changes to chainpad for testing 9 years ago
Caleb James DeLisle 669bcc1935 If there is a difference in the hjson then send a message back 9 years ago
Caleb James DeLisle f62ec85a4c Shuffled around some assertions and logs 9 years ago
Caleb James DeLisle 420a7098a6 more testing and crap 9 years ago
ansuz 4b35a145e3 Push WIP 9 years ago
ansuz 42c972116b leave TODO re: diffDOM and magicline
Hyperjson guarantees that magicline elements are not sent across the wire.
DiffDOM must guarantee that magicline elements will not be removed on remote edits.
9 years ago
ansuz e066730b68 add notes about how hyperjson is to be used 9 years ago
ansuz cd462ed872 Merge legacy websocket version 9 years ago
ansuz c047d5310f implement optional filtering in hyperjson
Implemented via callback, return falsey if you want to filter an element
and all of its children from the serialized result.

Conflicts:
	www/common/convert.js
9 years ago
ansuz 0d33af773f implement optional filtering in hyperjson
Implemented via callback, return falsey if you want to filter an element
and all of its children from the serialized result.
9 years ago
ansuz 475ca9bea8 hyperjson.js : used split instead of filter... oops 9 years ago
ansuz 1bd5cb9e27 hyperjson.js : used split instead of filter... oops 9 years ago
ansuz b2753ef7b7 fix string manipulation off-by-one 9 years ago
ansuz f98fda7604 fix string manipulation off-by-one 9 years ago
ansuz 4f3fcb08a4 better error reporting when the operational transform fails to parse JSON 9 years ago
ansuz 0ff4906f0e implement better serialization of class names
RTWYSIWYG-27 : poorly formed yet valid HTML caused hyperjson to produce element
               selectors which hyperscript could not parse.
9 years ago
ansuz fbe6225681 Don't attempt to use the cursor selection when it has length 0
RTWYSIWYG-20
RTWYSIWYG-24
9 years ago
ansuz 0c6222b5f9 better error reporting when the operational transform fails to parse JSON 9 years ago
ansuz 79a9998b13 implement better serialization of class names
RTWYSIWYG-27 : poorly formed yet valid HTML caused hyperjson to produce element
               selectors which hyperscript could not parse.
9 years ago
ansuz bd24821c6c Don't attempt to use the cursor selection when it has length 0
RTWYSIWYG-20
RTWYSIWYG-24
9 years ago
Yann Flory de6db0285c Limit the size of the usernames to 32 chars 9 years ago
Yann Flory 38d797a4f1 Fix issue with Chrome and WebRTC 9 years ago
Yann Flory 7237c751d5 Move 'vdom' to the main 'pad'.
Hide the right-hand panel (can de bisplayed with a 'debug' button)
Hide the IDs of users if they don't change their name
9 years ago
Yann Flory e77d85bc82 Trigger an onReady() method when the user's pad is fully synced (the history is loaded) 9 years ago
Yann Flory eca4ec699c Ability to change the username (the user ID is displayed by default) 9 years ago
Yann Flory 6e50ae94dd Remove unused code 9 years ago
Yann Flory 5da8560e22 Fix the user list in the toolbar keeping old data with the WebSocket server
Chainpad is no longer responsible for the userlist or the ping
9 years ago
Yann Flory 3a188625e0 Improve the detection of a disconnected peer to update the user list with the WebRTC service 9 years ago
Yann Flory 77e7fb5724 Fix an issue with the WebRTC service where it was impossible to join a channel once someone had left this channel 9 years ago
Yann Flory 06e5c84702 Clean some code 9 years ago
Yann Flory 29033f344c Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into netflux 9 years ago
Yann Flory b1e8bcddef Fix the user list not working with the WebRTC service and causing major issues 9 years ago