Commit graph

9968 commits

Author SHA1 Message Date
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
ansuz
f33e061c9a visit /hack/ to see what this is
I'll leave it up to the users to decide
whether XSS is a bug or a feature
2016-02-10 10:47:33 +01:00
ansuz
019750bea8 realtime-input.js : callback onInit if exists 2016-02-10 10:40:52 +01:00
ansuz
61fbf81dcd factor out rainbow stuff into rainbow.js 2016-02-05 11:55:37 +01:00
ansuz
7102a0a164 make rainbows 2016-02-05 11:48:34 +01:00
ansuz
aa3880f442 up to date 2016-02-03 16:48:49 +01:00
ansuz
d2f6c63d8a realtime-input.js : changed the api and left an undefined reference. fixed 2016-02-03 12:58:54 +01:00
ansuz
150c9a300d scale viewport so mobile is readable 2016-02-03 12:50:36 +01:00
ansuz
d96124229b clean up realtime-input.js, break API
use an object for configuration, so as to be more extensible.
modify applications which use the API to match.
2016-02-03 12:45:45 +01:00
ansuz
e43b9715e8 remove /md/ prototype
use /text/ and /render/ instead.
2016-02-03 11:52:23 +01:00
ansuz
64cc177a60 remove vmd directory
it was only a prototype, and only contained code which was no longer useful
2016-02-03 11:46:11 +01:00
ansuz
e220113e98 fix the 'crapstorm' bug 2016-02-01 19:41:55 +01:00
ansuz
ed03a48092 minor patches that make things a bit more reliable, still some bugs 2016-02-01 19:41:13 +01:00
ansuz
ac0f7852fc committing latest changes for review 2016-02-01 15:28:33 +01:00
ansuz
2016550e01 virtual-dom.js : identify problem area? 2016-02-01 14:28:13 +01:00
ansuz
08fb010627 give 'onChange' a name 2016-02-01 14:27:43 +01:00
ansuz
b52327be49 restyle /text/ page 2016-02-01 14:14:48 +01:00
ansuz
266e5eccce change styles for rendered page 2016-02-01 14:14:32 +01:00
ansuz
2adfeaaaaa test having multiple textareas in one page 2016-02-01 14:13:35 +01:00
ansuz
3cffdc982f remove unused functions from render/main.js
better comments
2016-01-31 13:15:50 +01:00
ansuz
317abf36f3 make rendered images sort of responsive 2016-01-31 13:14:45 +01:00
ansuz
388c6de64a minor style tweaks for /render/ 2016-01-30 18:04:01 +01:00
ansuz
ec172b6d21 rendered html should be scrollable 2016-01-30 17:30:00 +01:00
ansuz
a484b920e3 disallow resizing of textarea 2016-01-30 17:26:39 +01:00
ansuz
d9d4abb9a5 don't let the textarea overflow the body 2016-01-30 17:25:20 +01:00
ansuz
dcbbeea734 solarized dark color scheme in /text/ 2016-01-30 17:15:59 +01:00
ansuz
c2eb29b75e fix typo 2016-01-30 14:24:26 +01:00
ansuz
fd1e5d5735 better styling on render page
now solarized dark
2016-01-30 14:18:20 +01:00
ansuz
a718f89e08 make a new pad that doesn't allow input.
It simply renders markdown that's being written in the same channel
but in another editor that allows input.
2016-01-30 13:59:20 +01:00
ansuz
2e3b424a1a sanitize markdown before rendering to prevent XSS
draw rainbox borders on element redraws in vdom method.
This lets us see what being redrawn, as the vdom.diff method
is breaking a few things.
2016-01-30 13:54:12 +01:00
ansuz
13f5371199 remove duplicated files 2016-01-30 13:53:21 +01:00
ansuz
aa6bbabc62 prototype a vdom-based markdown editor
avoid unnecessary redraws.

discover a bug, apparently vdom replaces all child elements after an
element which was modified.

As such, changing b in [a, b, c, d] causes b, c, and d to be redrawn.
This is undesirable.
2016-01-29 15:06:10 +01:00
ansuz
d14e42fedd start on a vdom-based wysiwyg realtime
There are still a few conditions that cause it to 'explode'
when different browsers disagree on element semantics.

Overall it's a much cleaner approach, but it will require
extensive tuning to improve performance, as there are still
many complete dom traversals which will not scale for large documents
2016-01-29 12:40:45 +01:00
ansuz
1f7f90165f Slap marked.js onto a textarea
Multiple people can now edit markdown and see the results in realtime.
2016-01-29 12:30:17 +01:00
ansuz
d5a1629a93 A really basic shared text area with encryption.
...and not much else. If you want to hack on something
this is a great place to start.
2016-01-29 12:29:24 +01:00
ansuz
50121c8ab6 a really basic collaborative input
type="text" is typically slower than the same code
when used to sync a textarea.

WATCH OUT!
2016-01-29 12:28:11 +01:00
ansuz
b18dfef656 sharejs textarea is used by realtime-input.js 2016-01-29 12:27:29 +01:00
ansuz
997ce1147f realtime input wraps up basic realtime stuff
so we don't have to rewrite the realtime api for every application.
starting to move towards a portable api :D
2016-01-29 12:26:49 +01:00
ansuz
40b8c0efe8 drop in chjj's marked.js for a cool demo 2016-01-29 12:26:27 +01:00
ansuz
2d8ffdf31c Merge branch 'master' of github.com:ansuz/cryptpad 2016-01-29 11:54:26 +01:00
ansuz
0c2e057f9d export component APIs from convert 2016-01-27 10:10:47 +01:00
ansuz
b958caebdd dom, vdom, hyperjson, and an api which provides a matrix of conversions 2016-01-26 17:26:33 +01:00
ansuz
4cf2a8a0bd rtwiki.js : catch some typeErrors 2016-01-26 11:32:12 +01:00
Lars-Magnus Skog
84c0ea6d26 refactor: pass in ifrw.CodeMirror into andThen() 2016-01-17 00:43:10 +01:00
ansuz
663e987345 fix race condition in codemirror initialization
over slow connections, iframes don't load fast enough to be ready for code
which depends on certain features existing.

wait until they're ready, then initialize.
2016-01-16 07:37:00 -05:00
ansuz
2ed9f0867a Merge branch 'master' of github.com:xwiki-labs/cryptpad into codepad 2016-01-15 11:24:21 -05:00
ansuz
c71b060dc2 main.js : wait until your editor is defined before trying to reference it. addresses a race condition that caused ckeditor to fail half the time. 2016-01-14 05:14:45 -05:00
ansuz
ff52f050e5 chainpad.js : pull in upstream changes to chainpad.js. new APIs 2016-01-13 09:47:11 -05:00
ansuz
9fc44cdf0c add notes to clientside js files 2016-01-13 05:43:58 -05:00
mouhb
af80bed07b XWR-190: Make CryptPad version with rtwiki/CodeMirror 2016-01-08 11:52:33 +01:00
mouhb
9626dfc365 XWR-190: Make CryptPad version with rtwiki/CodeMirror 2016-01-07 18:13:45 +01:00
Yann Flory
9a932a3f56 Patch Realtime into CodeMirror in CryptPad 2015-11-25 10:09:23 +01:00
Yann Flory
32f44161a7 Patch Realtime into CodeMirror in CryptPad 2015-11-25 09:48:30 +01:00
Caleb James DeLisle
88fb6772e8 Cleaned up the front page and added a little piece of code to show recent pads 2015-02-02 17:53:10 +01:00
Caleb James DeLisle
51544db9a2 Completed adding of customization system and bottom infobar 2015-02-02 16:01:33 +01:00
Caleb James DeLisle
84164123b6 not quite finished 2015-01-30 18:12:20 +01:00
Caleb James DeLisle
0e44b10aeb Seperated common crypto operations to common file and made common toolbar used for both pad and spreadsheet 2015-01-30 16:52:23 +01:00
Caleb James DeLisle
e039e90a24 upgrade to most recent chainpad 2015-01-30 16:41:01 +01:00
Caleb James DeLisle
c13bfe978a Switched cryptpad to use common/toolbar.js which is shared with cryptsheet 2015-01-30 11:10:51 +01:00
Caleb James DeLisle
50c10f818e Added cryptsheet to cryptpad suite! 2015-01-29 17:55:18 +01:00
Caleb James DeLisle
4a63ba7df3 Give cryptpad a proper main page 2015-01-28 17:58:55 +01:00
Caleb James DeLisle
652a1da7a4 oops changed some work in the js file
Revert "change logo"

This reverts commit 9325100a02.
2014-11-06 13:03:20 +01:00
Caleb James DeLisle
9325100a02 change logo 2014-11-06 12:56:57 +01:00
Caleb James DeLisle
3330fae47e typo 2014-11-04 10:53:49 +01:00
Caleb James DeLisle
8fc732d879 remove the 'magic line' because it causes problems with the realtime 2014-11-04 10:52:15 +01:00
Caleb James DeLisle
0d3ded68a0 use a websocket which automatically reconnects if the connection is lost 2014-11-04 10:51:53 +01:00
Caleb James DeLisle
e3a54c11ee remove some code which may be over-engineering 2014-11-03 21:47:54 +01:00
Caleb James DeLisle
2a1f3f9027 show a little spinner which spins when loading and when people type 2014-11-03 21:44:35 +01:00
Caleb James DeLisle
87aa1aaf91 don't start measuring lag until after syncing and update readme 2014-11-03 20:43:43 +01:00
Caleb James DeLisle
6d68bb0bde error when opening error message window D: 2014-11-03 16:16:26 +01:00
Caleb James DeLisle
6cbdcdec65 Show users editing and lag, properly send message to indicate that all users have left channel and show basic error box if disconnected. 2014-11-03 16:07:39 +01:00
Caleb James DeLisle
5ae599fa07 support different ports for websocket and http 2014-11-03 11:13:41 +01:00
Caleb James DeLisle
a6b88e276c use the slower version of applyHTMLOp 2014-10-31 17:28:35 +01:00
Caleb James DeLisle
b6523adb1f rand fixed 2014-10-31 17:05:09 +01:00
Caleb James DeLisle
1508c7ba71 and so it begins 2014-10-31 16:42:58 +01:00