Commit Graph

724 Commits (851d3df65693e8596db9acf96370a0a53e490e2d)

Author SHA1 Message Date
ansuz a58d6c745a implement remaining listeners and factor
* 'isProxyable' helper
* 'find' helper
* 'lengthDescending' helper (for sorting change/remove events by path length)
* implement recursive proxy creation
* implement recursive proxy removal
* implement 'bubbling' prevention (via return false)
* implement create, ready, and disconnect event handlers
* return 'this' from 'on'
* trim dead code
2016-06-01 12:28:25 +02:00
ansuz 4222c0b516 simplify api
* refactor conditional with DeepProxy helpers
* don't call 'onRemote' until fully initialized
* use disconnect, ready, and create handlers on proxy object
2016-06-01 12:25:16 +02:00
ansuz 954ee26f4d fix undefined disconnect reason 2016-06-01 12:19:54 +02:00
ansuz a0ec5eada8 better fix for magicline filter 2016-05-31 12:51:04 +02:00
ansuz 9336c4de5c import latest chainpad 2016-05-31 12:35:01 +02:00
ansuz d0b553d198 port Yann's multiple-select implementation to cryptpad 2016-05-31 12:27:28 +02:00
ansuz e3b8a10959 fix magicline filter 2016-05-30 17:33:24 +02:00
ansuz 058548b95a revert my reversion
Revert "Revert "Added checkpoints with the new code from ChainPad""

This reverts commit 6e2e8bf21f.
2016-05-30 14:58:20 +02:00
ansuz 6e2e8bf21f Revert "Added checkpoints with the new code from ChainPad"
This reverts commit da2bfe2de9.
2016-05-30 10:20:08 +02:00
ansuz 599f5aeec8 add sample listeners for debugging 2016-05-30 10:18:08 +02:00
ansuz 3afd144562 don't make noise when adding a listener 2016-05-30 10:17:46 +02:00
ansuz e86a3567be more minor bugfixes and general improvements
off by one error in deletion loop (and undefined references)
sort listeners by pattern specificity
deletions are changes (for now)
2016-05-28 13:51:24 +02:00
ansuz ce99bd9ba3 Merge branch 'two' of github.com:xwiki-labs/cryptpad into two 2016-05-28 13:15:33 +02:00
ansuz 7c63219add fix some minor bugs 2016-05-28 13:15:06 +02:00
ansuz a0c73c95d8 do away with a bit of boilerplate 2016-05-28 13:13:54 +02:00
ansuz e189092ba8 document/spec the listmap api in its current/intended form 2016-05-28 00:48:52 +02:00
ansuz 55846044e1 rewrite underlying API. implement listeners 2016-05-28 00:48:10 +02:00
Caleb James DeLisle da2bfe2de9 Added checkpoints with the new code from ChainPad 2016-05-26 17:09:02 +02:00
ansuz 014dce272b working on better abstractions. still held together with duct tape 2016-05-26 11:55:33 +02:00
ansuz c1bca09cce move list/map functionality into wrapper file 2016-05-25 18:36:44 +02:00
ansuz f61d06fa18 first commit for listmap prototype 2016-05-25 11:56:17 +02:00
ansuz 774d349ec3 ignore hidden elements and submit buttons 2016-05-25 11:55:11 +02:00
ansuz cf85de6113 remove old bencoding code 2016-05-25 11:54:36 +02:00
ansuz d99bb8ff84 WIP : fallback to old parsing doesn't work 2016-05-20 17:46:48 +02:00
ansuz f04be53d11 fall back to old parsing if the message is bencoded? 2016-05-20 16:45:25 +02:00
ansuz 976a08cc7a move to chainpad version 2 2016-05-20 16:34:55 +02:00
ansuz 297d8c2d44 reformat code for jshint compliance 2016-05-20 13:39:40 +02:00
ansuz baf523e9a5 add new functionality from xwiki development 2016-05-19 12:20:05 +02:00
ansuz 0c89443c1b fix typo 2016-05-17 17:22:18 +02:00
ansuz 39fcd7dc4c more specific filtering for magicline plugin
to avoid false positives for other things which are non-contenteditable spans
2016-05-17 16:57:50 +02:00
ansuz cae750cd75 update padrtc for to use bower libraries 2016-05-13 17:35:17 +02:00
ansuz ad3c53c344 use textpatcher from bower for all pads 2016-05-13 17:32:56 +02:00
ansuz 0cd4f85ff0 remove migration notes 2016-05-13 17:00:01 +02:00
ansuz a7cbd8c470 we're pushing json over the wire, so let's use json-ot.validate 2016-05-13 16:42:14 +02:00
ansuz 3ea270acb9 fix cursors in form prototype 2016-05-13 16:41:36 +02:00
ansuz d2c8fbf1f8 use hyperjson.amd.js, not hyperjson.js 2016-05-12 18:21:01 +02:00
ansuz 663c157e2a expose text patcher to the window via APP 2016-05-12 10:46:17 +02:00
ansuz 1769ca16dc add example for configuring the logLevel in /pad/ 2016-05-10 10:23:22 +02:00
ansuz 7faf57602b implement log level settings from application layer 2016-05-10 09:39:20 +02:00
ansuz 523aff3067 use upstream chainpad.js 2016-05-09 15:50:19 +02:00
ansuz dcd130cd9d use hyperjson from bower in padrtc 2016-05-09 15:27:37 +02:00
ansuz c752e4a6e5 remove sharejs 2016-05-09 14:20:11 +02:00
ansuz 6b2e986789 remove deprecated textsocket library 2016-05-09 11:57:40 +02:00
ansuz d2fa5e8f70 start using hyperjson from bower.io 2016-05-09 11:41:02 +02:00
ansuz 150ebaba7b add ability to force text diffing 2016-04-27 17:58:55 +02:00
ansuz aef6f3a85b lock codemirror editor until chain has synced 2016-04-27 16:21:10 +02:00
ansuz 6736335db2 add 'made with <3' toolbar to code 2016-04-27 15:43:31 +02:00
ansuz 506a703b7d turn off TextPatcher logging on /pad/ 2016-04-27 15:42:27 +02:00
ansuz ba17b78f7a restyle name change button 2016-04-27 15:32:58 +02:00
ansuz d79b3616c9 remove unused files 2016-04-27 15:32:15 +02:00
ansuz 4c84758265 disable textpatcher logging 2016-04-27 15:30:53 +02:00
ansuz 46b009d20f remove last non-netflux pad 2016-04-27 12:30:43 +02:00
ansuz 18e0131d6e Merge branch 'migrate' of github.com:xwiki-labs/cryptpad into beta 2016-04-27 12:28:24 +02:00
ansuz 32d1807350 import unused functions from /p/, to be integrated later 2016-04-27 12:25:19 +02:00
Yann Flory 492054a938 Fix the cursor position when a remote patch is applied 2016-04-27 12:17:06 +02:00
ansuz 626ecaffcd log browser fights in /pad/ 2016-04-27 11:10:31 +02:00
Yann Flory 5bb2e12db2 Merge branch 'beta' into migrate 2016-04-27 10:51:51 +02:00
ansuz afe78dad56 Merge branch 'netflux' into beta 2016-04-27 10:44:32 +02:00
Yann Flory cc51e6d6ed Update CodeMirror pad to work with Netflux 2016-04-27 10:44:04 +02:00
ansuz a735d63306 migrate markdown rendering 'pad' to netflux 2016-04-27 10:38:44 +02:00
Yann Flory f5f8f6e1eb Remove the delay between a change and its propagation to chainpad 2016-04-26 17:50:54 +02:00
ansuz fa6914037c start rewriting codepad to use realtime-input 2016-04-26 17:34:57 +02:00
ansuz 2852c8f594 Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into beta 2016-04-26 17:24:51 +02:00
Yann Flory fe3bb4da27 Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into netflux 2016-04-26 17:18:31 +02:00
Yann Flory 53b2644b64 Fix a issue with fights over usernames 2016-04-26 17:16:58 +02:00
Caleb James DeLisle 3b6fe44378 Merge branch 'beta' of github.com:xwiki-labs/cryptpad into beta 2016-04-26 14:31:57 +02:00
ansuz 255dc17a5d Merge branch 'beta' into netflux 2016-04-25 16:08:00 +02:00
ansuz f9de1c9e1f Merge branch 'beta' of github.com:xwiki-labs/cryptpad into beta 2016-04-25 16:07:24 +02:00
ansuz c14b86d84a add missing semicolon 2016-04-25 16:07:02 +02:00
ansuz b3ef2abb84 fix jshint complain 2016-04-25 16:06:10 +02:00
Yann Flory 85d5f5c47f Convert netflux to es5 2016-04-25 15:29:39 +02:00
Yann Flory c0b8aac792 Fix an issue where metadata could be duplicated in the realtime userdoc 2016-04-25 15:29:09 +02:00
ansuz 22cf18f78c Merge branch 'beta' of github.com:xwiki-labs/cryptpad into beta 2016-04-23 16:31:35 +02:00
ansuz c509c28c18 realtime form prototype, almost in good condition 2016-04-23 16:31:07 +02:00
ansuz 1a9e7299fc working state 2016-04-23 00:15:39 +02:00
ansuz 69e8f54e8f pass in Crypto to realtime-input 2016-04-22 18:54:24 +02:00
Caleb James DeLisle 5f16ad4a58 Update to most recent chainpad 2016-04-22 18:17:00 +02:00
ansuz aa07dd31ee have json-ot initialize its own debug module, instead of relying on a window variable's existence 2016-04-22 17:35:07 +02:00
Yann Flory d3203d1c2a Remove Crypto from the modules loaded with RequireJS in realtime-input
It now has to be passed in the config in the main JS file
2016-04-22 14:26:37 +02:00
Yann Flory 8ac69ca262 Add a missing "time" property in the netflux client causing incorrect
timeout errors
2016-04-22 11:46:27 +02:00
ansuz be1ef7abe3 migrate canvas to netflux 2016-04-22 10:04:54 +02:00
ansuz d4943511fe move text/ and hack/ to Netflux 2016-04-22 09:47:26 +02:00
ansuz 4c95602347 remove a little bit more dead code 2016-04-22 09:46:41 +02:00
ansuz b140b6429d remove a little bit of dead code 2016-04-22 09:46:06 +02:00
ansuz 2c6cf9883b stop using deleted file 2016-04-22 08:19:58 +02:00
ansuz bbdc9da853 delete duplicated file 2016-04-22 08:19:28 +02:00
ansuz cce50390a0 don't depend on library to set hash 2016-04-21 19:04:15 +02:00
ansuz 5f4825f3a0 don't change the hash from realtime input
let applications handle that logic
2016-04-21 19:03:50 +02:00
ansuz 80fb5e1e21 don't rely on RealtimeSocket exporting textPatcher 2016-04-21 17:59:30 +02:00
ansuz 4f426651ad remove TextPatcher from RealtimeTextSocket 2016-04-21 17:41:50 +02:00
ansuz a527024a8c start on realtime form prototype 2016-04-21 15:51:04 +02:00
ansuz 02ff1a63a4 Merge branch 'netflux' into beta
Conflicts:
	www/assert/main.js
2016-04-21 15:47:07 +02:00
ansuz 04f6299938 reconcile differences with netflux 2016-04-21 15:44:56 +02:00
ansuz 565fb1d186 include small snippets for preventing browser fights 2016-04-21 15:40:29 +02:00
ansuz ffbd428b87 better logging of browser fights 2016-04-21 15:06:03 +02:00
ansuz 4d44661f3b more correct tests 2016-04-21 15:05:41 +02:00
ansuz a18c793f98 use latest hyperjson 2016-04-21 14:53:53 +02:00
ansuz 980ff8a0ca Fix a test that was failing on chrome
it failed for reasons which are irrelevant to our application
2016-04-21 12:16:48 +02:00
ansuz 9efcc443cd add 'format' to TextPatcher's API 2016-04-21 12:16:11 +02:00
ansuz 0769e50414 move TextPatcher to highest application layer 2016-04-20 18:56:18 +02:00
ansuz 1d70335228 provide all callbacks before starting 2016-04-20 18:27:20 +02:00
ansuz 9498937b43 add a FIXME to the assert page
tests were failing (unnecessarily) on Chrome
2016-04-20 18:15:17 +02:00
ansuz a3787ee4dc Merge branch 'netflux' into beta 2016-04-20 15:25:00 +02:00
ansuz 06b464c524 move sheet/ to .git 2016-04-20 15:04:43 +02:00
ansuz cdf02ac725 remove input pad 2016-04-20 15:00:21 +02:00
ansuz 11961b4f1d export stringifyDOM to REALTIME_MODULE 2016-04-20 14:50:56 +02:00
ansuz 5db487db3f remove old pad entirely
hyperjson version is considered a strict improvement
2016-04-20 14:26:56 +02:00
ansuz 010566d3c3 pushDelta was mistakenly deprecated. restored. 2016-04-20 14:20:34 +02:00
ansuz 1639c5b099 use hyperscript and hyperjson from common 2016-04-20 14:14:44 +02:00
ansuz 3598c93098 move new hyperjson into common 2016-04-20 14:14:06 +02:00
ansuz 103bb69daa move custom hyperscript into common 2016-04-20 14:13:08 +02:00
ansuz e357549eda push browser fights into an array for inspection 2016-04-20 14:01:21 +02:00
ansuz b83fb7b823 improve brFix logic
stop exporting functions which we wish to deprecate
2016-04-20 12:29:16 +02:00
ansuz 1c7954ed51 Grab Fabric off of the window 2016-04-20 12:13:04 +02:00
ansuz 06786b6e02 Remove redundant declaration 2016-04-20 10:37:20 +02:00
ansuz df22c246c4 serialize text nodes correctly 2016-04-20 10:10:26 +02:00
ansuz 7ca5f47d02 remove multitest pad since it offers no significant benefit 2016-04-18 17:31:37 +02:00
ansuz bafdd588dd fix /hack/ to not require sharejs textarea 2016-04-18 17:14:00 +02:00
ansuz f2db6b83eb better sizing for palette options 2016-04-18 16:40:44 +02:00
ansuz 5ce158d2e2 add more colors 2016-04-17 20:21:19 +02:00
ansuz 7c4b334ad3 here's a canvas app! 2016-04-17 20:04:49 +02:00
ansuz 41276fffb5 repair /text/ application, conform to new API 2016-04-17 14:15:34 +02:00
ansuz cb979844f6 implement text patching at application layer 2016-04-17 14:06:30 +02:00
ansuz 4a41575e6d accept onLocal in config 2016-04-17 14:05:33 +02:00
ansuz d3c2c901b6 implement cursor transformation in a common library 2016-04-17 14:02:45 +02:00
ansuz 92d89f6cac start to factor sharejs into two modules 2016-04-15 18:17:45 +02:00
ansuz 13dc77b7f6 remove commented line 2016-04-15 18:16:54 +02:00
ansuz 41e635b2e5 realtime-input.js : turn on logging 2016-04-14 16:27:34 +02:00
Yann Flory 69e8e18283 Remove the pipe character in the hash 2016-04-14 16:10:08 +02:00
ansuz d62e9fc1c9 add a missing semicolon 2016-04-14 15:41:02 +02:00
ansuz 4095201d15 Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into integrate 2016-04-14 15:40:37 +02:00
Yann Flory c32045d7d0 Fix an issue with missing characters when several users were typing at the same time 2016-04-14 15:30:42 +02:00
ansuz 822b2bd2b9 Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into integrate 2016-04-14 14:47:22 +02:00
Yann Flory be09a1808d Remove old code from realtime-input 2016-04-14 14:46:42 +02:00
ansuz 5a5b9ad718 Merge branch 'netflux' into beta 2016-04-14 12:37:28 +02:00
ansuz 4af987a2a2 point to correct toolbar.js 2016-04-14 12:36:25 +02:00
ansuz 3ade46adc7 Merge branch 'newtests' into beta 2016-04-14 12:33:12 +02:00
Yann Flory 6884b0890a Fix the typong tests not working properly 2016-04-14 12:24:17 +02:00
ansuz b12a01e08f report test results on the page, not in the console 2016-04-14 12:16:10 +02:00
ansuz feaae609ad fix broken path for padrtc 2016-04-14 10:48:25 +02:00
Yann Flory ecc41d14af Use canonical serializer for json serialization 2016-04-13 17:46:41 +02:00
ansuz fc77ef66b3 Merge remote-tracking branch 'origin/sortify' into HEAD
utilize canonical stringify function

Conflicts:
	www/_socket/main.js
2016-04-13 17:36:05 +02:00
Caleb James DeLisle 319f5b95f7 Use canonical serializer for json serialization 2016-04-13 16:54:34 +02:00
Yann Flory 9683fd9aec Always serialize the DOM in one way. 2016-04-13 16:46:31 +02:00
Caleb James DeLisle 698338b49a Use canonical serializer for json serialization 2016-04-13 16:43:59 +02:00
Yann Flory e207d8b579 Merge branch 'diffdom' into netflux 2016-04-13 16:19:56 +02:00
ansuz 468827dadd newest tests 2016-04-13 16:10:38 +02:00
ansuz c867ab04ab rename /_socket/ app to /p/ 2016-04-13 16:01:45 +02:00
ansuz a1fe941f69 Always serialize the DOM in one way. 2016-04-13 15:00:19 +02:00
ansuz f4c5b2a996 Add sane defaults to TextPatcher diffs 2016-04-13 14:51:15 +02:00
ansuz 259772dd62 Turn on TextPatcher logging for _socket 2016-04-13 13:54:25 +02:00
ansuz 0537c28919 Add switchable logging to TextPatcher.js 2016-04-13 13:53:20 +02:00
Caleb James DeLisle 8a36963582 Enable ChainPad PARANOIA mode but remove the part which causes most slowness 2016-04-13 13:51:01 +02:00
ansuz 284da6a4e9 minor improvements I made to the /hack/ pad last night 2016-04-13 10:16:44 +02:00
ansuz 9f0cc4ed64 update hack with a slightly better UI 2016-04-12 18:51:03 +02:00
ansuz 71c0a06c3b Merge branch 'hack' into diffdom 2016-04-12 18:17:01 +02:00
ansuz 19cd991dba trim dead code, comment, very minor optimizations 2016-04-12 17:29:20 +02:00
ansuz f75c246029 remove dead code from pad/main.js 2016-04-12 17:17:14 +02:00
ansuz 9f45ccb2d9 use console.error for stack traces 2016-04-12 16:47:30 +02:00
ansuz d705b947ab Merge branch 'diffdom' into netflux
basic cleanup while performing a larger merge between two prototypes
2016-04-12 15:56:43 +02:00
ansuz 2ffa69dc15 remove checks for a non-existent race condition 2016-04-12 15:55:03 +02:00
ansuz 368d72b337 add missing semicolons to TextPatcher.js 2016-04-12 15:39:53 +02:00
ansuz 851ccfbdb6 detect falsey operations in OT and ignore them 2016-04-12 15:37:47 +02:00
ansuz 400f6efde1 json-ot.js : jshint compliance 2016-04-12 15:37:47 +02:00
ansuz a0999d1d2b add a comment about why hashes are being stubbed 2016-04-12 15:36:03 +02:00
ansuz ca94d30386 detect falsey operations in OT and ignore them 2016-04-12 15:35:07 +02:00
ansuz 9f9cd8d8cd realtime-input.js : fixes for jshint compliance 2016-04-12 15:07:05 +02:00
ansuz 793149a608 json-ot.js : jshint compliance 2016-04-12 15:00:46 +02:00
ansuz 06a3b63923 jshint compliance for toolbar.js 2016-04-12 14:58:24 +02:00
ansuz 3b8238ef3b add missing semicolons to pad/main.js
jshint compliance
2016-04-12 14:51:32 +02:00
ansuz 5cead3fad3 add missing semicolons to TextPatcher.js 2016-04-12 14:51:06 +02:00
ansuz e6ab03164c import TypingTests.js and expose at the console
RTWYSIWYG-54
> implement tests for components of the WYSIWYG editor
2016-04-12 14:34:47 +02:00
ansuz 94e57e4a26 update location of text-patcher.js 2016-04-12 14:21:31 +02:00
ansuz b37dab1f49 Merge branch 'diffdom' into netflux
Simple cleanup and unit tests
2016-04-12 14:15:04 +02:00
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
2016-04-12 14:12:44 +02:00
ansuz 6bb37aed44 main.js : support tab insertion in /hack/ pad 2016-04-12 14:05:56 +02:00
ansuz 6b9d982d40 stabilize _socket/realtime-input.js
...as common/RealtimeTextSocket.js
2016-04-12 13:10:57 +02:00
ansuz 1a22592afa remove unused modules from realtime-input.js 2016-04-12 13:06:52 +02:00
ansuz 39071021eb stabilize typingTest.js as /common/TypingTests.js 2016-04-12 12:53:23 +02:00
ansuz 9805958ad7 stabilize text-patcher.js into /common/TextPatcher.js 2016-04-12 12:46:49 +02:00
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.
2016-04-12 12:27:33 +02:00
ansuz 7782069dbd Merge pull request #15 from xwiki-labs/diffdom
merge diffdom into netflux
2016-04-12 10:21:19 +02:00
ansuz a1f9b10175 remove offending line from chainpad entirely
RTCHAINPAD-3
2016-04-12 10:02:11 +02:00
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.
2016-04-12 09:55:50 +02:00
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
Yann Flory 360fee9feb Fix a new cursor error with Codepad 2016-04-11 17:58:30 +02:00
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)
2016-04-11 15:47:40 +02:00
Yann Flory 713c90242b Hide the usernames when they have not been changed 2016-04-11 15:00:22 +02:00
Yann Flory c53baab99d Update Codepad with the latest improvements 2016-04-11 14:43:39 +02:00
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
2016-04-08 16:54:03 +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
Yann Flory cf9f60bd57 The server don't send back anymore messages to their sender 2016-04-07 11:27:14 +02:00
Yann Flory eb4ea7a6b0 Remove the content from the ACK messages sent by the server 2016-04-05 15:06:38 +02:00
Yann Flory ba4faea939 Update the pads to run with the latest improvements to the websocket server 2016-04-05 12:17:43 +02:00
Yann Flory 5ef7e29a9b Add the latest changes from _socket into the netflux pad 2016-04-01 17:58:33 +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
Yann Flory b41f0e8c50 Merge branch 'cjd-fixed-it-with-hax' into netflux2 2016-04-01 10:51:27 +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 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.
2016-03-24 12:50:04 +01:00
ansuz e066730b68 add notes about how hyperjson is to be used 2016-03-24 12:46:35 +01:00
ansuz cd462ed872 Merge legacy websocket version 2016-03-24 12:28:45 +01:00
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
2016-03-24 12:16:42 +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 475ca9bea8 hyperjson.js : used split instead of filter... oops 2016-03-23 12:33:05 +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 f98fda7604 fix string manipulation off-by-one 2016-03-22 19:28:50 +01:00
ansuz 4f3fcb08a4 better error reporting when the operational transform fails to parse JSON 2016-03-22 12:13:15 +01:00
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.
2016-03-22 12:13:01 +01:00
ansuz fbe6225681 Don't attempt to use the cursor selection when it has length 0
RTWYSIWYG-20
RTWYSIWYG-24
2016-03-22 12:12:46 +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
Yann Flory de6db0285c Limit the size of the usernames to 32 chars 2016-03-16 17:48:27 +01:00
Yann Flory 38d797a4f1 Fix issue with Chrome and WebRTC 2016-03-16 17:38:26 +01:00
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
2016-03-16 17:09:08 +01:00
Yann Flory e77d85bc82 Trigger an onReady() method when the user's pad is fully synced (the history is loaded) 2016-03-16 14:00:14 +01:00
Yann Flory eca4ec699c Ability to change the username (the user ID is displayed by default) 2016-03-16 12:02:39 +01:00
Yann Flory 6e50ae94dd Remove unused code 2016-03-15 10:51:19 +01:00
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
2016-03-15 10:37:27 +01:00
Yann Flory 3a188625e0 Improve the detection of a disconnected peer to update the user list with the WebRTC service 2016-03-14 15:20:00 +01:00
Yann Flory 77e7fb5724 Fix an issue with the WebRTC service where it was impossible to join a channel once someone had left this channel 2016-03-14 14:49:19 +01:00
Yann Flory 06e5c84702 Clean some code 2016-03-11 17:32:45 +01:00
Yann Flory 29033f344c Merge branch 'netflux' of github.com:xwiki-labs/cryptpad into netflux 2016-03-11 17:15:55 +01:00
Yann Flory b1e8bcddef Fix the user list not working with the WebRTC service and causing major issues 2016-03-11 17:09:27 +01:00
Yann Flory c576241104 Add a Chainpad adapter to make Chainpad know the userList 2016-03-10 18:48:38 +01:00
ansuz fb0e82931d correct malformed json 2016-03-10 14:08:15 +01:00
Yann Flory ae8f6f7f2c Ability to choose which protocol to use (Websocket or WebRTC) with Netflux 2016-03-10 14:03:31 +01:00
ansuz 3a7af63c54 correct malformed json 2016-03-10 11:58:23 +01:00
Yann Flory b7885eb539 Fix channel history 2016-03-09 18:35:39 +01:00
ansuz 136e2d8cf2 pass in missing textarea argument so textpad starts working again 2016-03-09 11:02:12 +01:00
ansuz 8258018c1d Revert "fix undefined reference"
This reverts commit 7d65540123.

To restore functionality in convert.js
2016-03-09 10:32:57 +01:00
ansuz c67451bc1a Revert "remove broken functions from convert module"
Because I forgot that the /render/ page was still using vdom

This reverts commit 93fb944e1f.
2016-03-09 10:29:51 +01:00
Yann Flory c536ecbc1c Temp commit 2016-03-08 15:13:57 +01:00
Yann Flory 870b2dbb7e Add the WebRTC server in Cryptpad 2016-03-08 11:45:03 +01:00
Yann Flory c4f62fb812 First try with WebRTC 2016-03-08 11:25:37 +01:00
Yann Flory 09a06a8bc5 Replace the chainpad server by the netflux server 2016-03-07 17:35:31 +01:00
Yann Flory 60c3aceb0d Add chatflux server 2016-03-07 17:18:47 +01:00
Yann Flory deb2084fc5 Add the socket connection checker 2016-03-07 12:00:45 +01:00
ansuz d3e2a2f52e make verbose logging switchable via a conditional 2016-03-07 11:59:36 +01:00
ansuz 1c54af69a1 update minor editors to use new realtime-input api 2016-03-07 11:52:18 +01:00
ansuz 9b228eea6b modify vdom main.js to adhere to new realtime-input api 2016-03-07 11:36:33 +01:00
ansuz fefb904261 realtime input changes 2016-03-07 11:34:16 +01:00
ansuz fd99dba4a3 modify realtime-input api to take a single object as configuration. merge netflux API 2016-03-07 11:33:46 +01:00
Yann Flory 62ba579d4a Add Netflux API with WebSocket service V1 2016-03-07 11:07:37 +01:00
ansuz 53d3e475f7 ui hints for hackpad 2016-03-04 16:47:59 +01:00
ansuz d2f4fbcee9 fail the toolbar from the application layer 2016-03-04 16:46:18 +01:00
ansuz d7b34cf6be don't call toolbar from within realtime-input.js 2016-03-04 16:45:11 +01:00
ansuz e8469ae1bb test out extended realtime-input api 2016-03-04 16:41:34 +01:00
ansuz 5e1566eaec fix incomplete 'onAbort' block 2016-03-04 11:07:12 +01:00
ansuz 52fe892bae invert logical relationship with flag
otherwise updates don't actually propogate
2016-03-04 11:05:58 +01:00
ansuz 938df2b92f lock the editor until the chain has synced
add 'onAbort' hook. lock the editor if the connection fails.
2016-03-03 18:05:05 +01:00
ansuz 1d6ccc99a1 add 'onAbort' hook to realtime-input.js 2016-03-03 18:04:14 +01:00
ansuz e5bef52850 reintroduce the toolbar 2016-03-03 16:05:07 +01:00
ansuz 6ff5b10486 remove local diffDOM version 2016-03-03 16:04:08 +01:00
ansuz 93fb944e1f remove broken functions from convert module 2016-03-03 15:18:05 +01:00
ansuz 7d65540123 fix undefined reference 2016-03-03 15:12:43 +01:00
ansuz c246adc57b Lock contenteditable until chain is done syncing.
Don't bother patching the dom until the chain has synced
2016-03-03 14:38:07 +01:00
ansuz 1c0074258c go back to using diffDOM from bower
The latest version is required. You'll need to update.
2016-03-03 10:49:59 +01:00
ansuz 79bd82a62e main.js : integrate with patched diffDOM 2016-02-29 17:59:00 +01:00
ansuz 6884fabda9 Use local diffDOM instead of bower_components
At least until the PR gets accepted
2016-02-29 17:05:04 +01:00
ansuz f5a8727254 remove some unused functions from cursor.js 2016-02-29 16:52:07 +01:00
ansuz db1515c445 cursor.js : commit before cleaning up 2016-02-29 16:27:55 +01:00
ansuz 7e367e770e resize vdom debug panel to 30% width 2016-02-29 15:37:51 +01:00
ansuz 91ada5ce7a export Operation from chainpad. for use with OT 2016-02-29 15:28:32 +01:00
ansuz 5425699f43 check if possible parent exists before checking if it contains another element 2016-02-29 15:27:11 +01:00
ansuz 67bdb8a65a fix a bad regex that occasionally threw an error
'nothing to repeat'
2016-02-25 12:35:11 +01:00
ansuz e87a4599a4 main.js : tiny patch until things are working correctly. 2016-02-23 16:22:09 +01:00
ansuz 9ce59c985f only do stuff with the cursor when a remote edit takes place 2016-02-23 15:54:25 +01:00
ansuz 39f56d4fd1 throw error when checking for the index of a node that has no parent.
it probably isn't in the dom if this is the case.
Check if it's there before using this function
2016-02-23 15:53:58 +01:00
ansuz de46be85ba add better helpers for finding and resetting the cursor 2016-02-23 15:52:58 +01:00
ansuz 7e7f1fee76 include abstracted json-ot, add comments, start to use cursor stuff 2016-02-22 18:01:57 +01:00
ansuz c09036bd29 snapshot cursor.js, as some things are working quite well now 2016-02-22 18:00:46 +01:00
ansuz 4eee1f5210 add orderOfNodes function to tree library 2016-02-22 17:56:17 +01:00
ansuz 7689151fc0 pull json validation for OT into its own module for reuse 2016-02-22 17:54:59 +01:00
ansuz fbb9163e42 main.js : clean up and commit before making big-ish changes for cursor fixing 2016-02-19 14:12:22 +01:00
ansuz 2c8a2406c6 cursor.js : snapshot before code deletion 2016-02-19 14:07:43 +01:00
ansuz 1beb3f5355 snapshot of treesome.js before deletion 2016-02-19 14:07:16 +01:00
ansuz 8ead5ca129 realtime-input.js : add notes regarding integration of the netflux api 2016-02-16 15:14:38 +01:00
ansuz 3cb94b8d80 jshint compliance 2016-02-15 16:07:46 +01:00
ansuz d1885fbab6 better jshint compliance for common files 2016-02-15 15:42:08 +01:00
ansuz 539cc3a2fa remove unused files from common directory 2016-02-15 15:41:36 +01:00
ansuz afa2811472 remove local version of marked.js, prefer bower version 2016-02-15 11:49:47 +01:00
ansuz 587f95b6d7 don't overflow 2016-02-14 12:01:05 +01:00
ansuz a01331cb9a hide styling textarea no matter what 2016-02-12 16:44:54 +01:00
ansuz a600ece5c5 fix jshint complaints in common directory 2016-02-12 16:22:20 +01:00
ansuz 4a05a859e6 fix initialization routines 2016-02-12 16:21:52 +01:00
ansuz f1915d3b7c fix jshint complaints in pad directory 2016-02-12 16:21:17 +01:00
ansuz fe3917c0f1 fix jshint complaints in codemirror directory 2016-02-12 16:20:55 +01:00
ansuz 2c5a2b6023 remove unused code, add todos, fix minor errors 2016-02-12 12:03:15 +01:00
ansuz c5ab5dfe26 realtime style editor with lorum ipsum 2016-02-12 11:45:40 +01:00
ansuz 967d636df9 address more jshint complaints 2016-02-12 11:39:37 +01:00
ansuz f6c848385f hyperjson.js : jshint complains about var index in for loop 2016-02-12 11:21:33 +01:00
ansuz 0fbbb51f7f drop this useless line 2016-02-12 11:19:36 +01:00
ansuz d1dd497457 html-patcher.js : add missing semicolon 2016-02-12 11:17:10 +01:00
ansuz 62ea172ff4 errorbox.js : add missing semicolon so jshint doesn't complain 2016-02-12 11:15:59 +01:00
ansuz 3b5c932252 jshint ignore eval line 2016-02-12 11:10:59 +01:00
ansuz 7f92abc7bf Merge branch 'diffdom' of github.com:xwiki-labs/cryptpad into demoEffect 2016-02-12 10:24:11 +01:00
Caleb James DeLisle a7da21ccba Remove the cursor treatment 2016-02-11 16:22:59 +01:00
Caleb James DeLisle 86c4a69a97 Switch to patching with DiffDOM for testing :D 2016-02-11 16:10:44 +01:00
ansuz 653ba33b65 Merge branch 'vdom' of github.com:xwiki-labs/cryptpad into demoEffect 2016-02-11 13:15:57 +01:00
Caleb James DeLisle 2031191261 testing=false 2016-02-11 13:13:58 +01:00
Caleb James DeLisle 37db31b09e Attempt an operational transformation and if the result is not valid JSON then fail 2016-02-11 12:34:06 +01:00
Caleb James DeLisle e16299b5c4 Revert "restub OT until it's verified"
This reverts commit 350c9e6c76.
2016-02-11 12:33:12 +01:00
ansuz c22269e36e cursor.js : make the console a little less noisy 2016-02-11 10:02:47 +01:00
ansuz 350c9e6c76 restub OT until it's verified 2016-02-11 09:44:47 +01:00
ansuz 99a23154b7 files for unstubbing OT 2016-02-11 09:38:58 +01:00
ansuz c740c0ec92 add stuff for walking the tree 2016-02-11 09:32:58 +01:00
ansuz ad184b1114 add stuff to recover the cursor 2016-02-11 09:32:41 +01:00
ansuz 1aea11bb30 describe all the prototypes which are available 2016-02-10 16:50:00 +01:00
ansuz 9b13fd8f34 pull cursor correction code out of main.js
put it in cursor.js
2016-02-10 11:38:53 +01:00
ansuz 3b0ac3af4c More sensible styles
respond to viewport size
don't use gigantic font
2016-02-10 10:53:56 +01:00
ansuz b43674eb53 switch back to two-panel layout 2016-02-10 10:52:46 +01:00