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
2016-04-12 09:52:36 +02:00
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/
2016-04-12 09:44:08 +02:00
ansuz
cd357a9136
turn an alert into a console.error
2016-04-07 17:03:30 +02:00
ansuz
ec64e0d381
use getAttribute to inspect document elements
...
el.getAttribute('attr') is more reliable than el[attr].
2016-04-07 15:55:57 +02:00
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
2016-04-07 15:50:56 +02:00
ansuz
842b9d4243
Generalize _socket/realtime-input.js a little more
...
Anything JSON related should be at the application layer
2016-04-07 15:48:38 +02:00
ansuz
b59a14c5ac
merge hyperjson changes from realtime xwiki
...
more resilient class serialization.
comments
2016-04-01 11:20:19 +02:00
ansuz
2691d85582
use forked chainpad with assertions for _socket
2016-04-01 10:51:47 +02:00
ansuz
c50690349b
comments describing the role of each argument
2016-04-01 10:46:54 +02:00
ansuz
df78d284c4
initial state should be valid JSON so JSON parse doesn't fail
2016-04-01 10:44:23 +02:00
ansuz
96e03fcfa4
Use latest chainpad without mutations
2016-03-30 15:29:28 +02:00
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
2016-03-30 14:39:41 +02:00
ansuz
aaf7c777cc
add debugging info to the textPatcher
...
* kill dead code
* add assertions
* better logging for insertions and removals
2016-03-30 14:38:10 +02:00
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.
2016-03-30 14:36:11 +02:00
ansuz
e446a3645c
don't send funny BR attributes over the wire. Properly initialize the typing test
2016-03-29 17:21:02 +02:00
ansuz
22290590cb
don't rely on window scope in typingTest.js
2016-03-29 17:02:56 +02:00
ansuz
772ca5d30e
comment out debugging line
2016-03-29 17:01:57 +02:00
ansuz
6c340a6527
chainpad testing = true, reject non-compliant messages
2016-03-29 16:53:40 +02:00
ansuz
afa1104d85
Pull the cursor out of bogus BR tarpits when it gets stuck
2016-03-29 15:36:03 +02:00
ansuz
bac0e0ff88
implement hyperjson filtering
2016-03-29 15:35:40 +02:00
ansuz
e51635c4bb
fix index error
2016-03-29 15:34:58 +02:00
ansuz
3aebf7d2c2
minor changes to pass linting
2016-03-29 12:35:23 +02:00
ansuz
29e24f556c
kill another window variable
2016-03-29 12:13:57 +02:00
ansuz
e699073d45
attempt to preserve the magic line plugin while someone else is typing
2016-03-29 11:54:55 +02:00
ansuz
941f5361ea
forgot to add 'typingTest', which main depends on
2016-03-29 11:16:50 +02:00
ansuz
d852c578d8
removed dead code
2016-03-29 11:16:13 +02:00
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
2016-03-29 11:12:46 +02:00
ansuz
478ccbf984
revert changes to chainpad
2016-03-29 11:04:34 +02:00
ansuz
e3b78e20de
Merge branch 'cjd-fixed-it-with-hax' of github.com:xwiki-labs/cryptpad into cjd-fixed-it-with-hax
2016-03-25 18:01:51 +01:00
ansuz
e26246178f
start to clean up and give things more sensible names.
...
get rid of the textarea entirely
2016-03-25 18:01:23 +01:00
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
2016-03-25 17:35:07 +01:00
Caleb James DeLisle
f3fb674504
Merge branch 'cjd-fixed-it-with-hax' of github.com:xwiki-labs/cryptpad into cjd-fixed-it-with-hax
2016-03-25 16:50:17 +01:00
Caleb James DeLisle
98c85cef8b
xxx
2016-03-25 16:49:27 +01:00
ansuz
12dcbc9121
fix quick red fox and make test.cancel work again
2016-03-25 16:14:17 +01:00
Caleb James DeLisle
62eabbc7ae
If a message does not match parent hash, don't delete it from storage
2016-03-25 15:23:19 +01:00
Caleb James DeLisle
dbf31798d5
json-ot triggering PARANOIA errors in ChainPad
2016-03-25 15:01:17 +01:00
Caleb James DeLisle
03932d0169
small changes to chainpad for testing
2016-03-25 14:52:44 +01:00
Caleb James DeLisle
669bcc1935
If there is a difference in the hjson then send a message back
2016-03-25 14:26:31 +01:00
Caleb James DeLisle
f62ec85a4c
Shuffled around some assertions and logs
2016-03-25 14:14:19 +01:00
Caleb James DeLisle
420a7098a6
more testing and crap
2016-03-25 12:45:51 +01:00
ansuz
4b35a145e3
Push WIP
2016-03-25 11:04:27 +01:00
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.
2016-03-24 12:11:31 +01:00
ansuz
1bd5cb9e27
hyperjson.js : used split instead of filter... oops
2016-03-23 12:31:16 +01:00
ansuz
b2753ef7b7
fix string manipulation off-by-one
2016-03-22 19:29:58 +01:00
ansuz
0c6222b5f9
better error reporting when the operational transform fails to parse JSON
2016-03-22 10:19:13 +01:00
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.
2016-03-22 10:16:14 +01:00
ansuz
bd24821c6c
Don't attempt to use the cursor selection when it has length 0
...
RTWYSIWYG-20
RTWYSIWYG-24
2016-03-22 10:06:42 +01:00
ansuz
5cd118bdb0
ignore netflux since it's ecma6 and not our code
2016-03-10 12:00:36 +01:00
ansuz
3a7af63c54
correct malformed json
2016-03-10 11:58:23 +01:00
ansuz
136e2d8cf2
pass in missing textarea argument so textpad starts working again
2016-03-09 11:02:12 +01:00