Commit graph

384 commits

Author SHA1 Message Date
ansuz
d39ab5c250 point to the actual translation file 2016-07-12 15:52:36 +02:00
ansuz
dea8e225db fix double scrollbar issue 2016-07-12 15:45:49 +02:00
ansuz
3eccec7054 better effort for translation 2016-07-11 17:36:53 +02:00
ansuz
cbeaa8d609 major refactoring for toolbar. CAN HAZ LESS 2016-07-08 16:45:48 +02:00
ansuz
7504f79e05 add log and warn methods to cryptpad common 2016-07-08 16:45:15 +02:00
ansuz
3ad5d71ab1 make sure the regular favicon is set 2016-07-07 13:43:08 +02:00
ansuz
fd3cd73d0b try to fix favicon bug 2016-07-07 13:40:03 +02:00
ansuz
589b0087a1 listen for keyup events while alertify prompts are active 2016-07-07 13:27:45 +02:00
ansuz
deae7ac78f don't hide the notification until it has been seen 2016-07-07 10:45:09 +02:00
ansuz
3d3c6e4800 add wrappers for alertifyjs 2016-07-06 22:20:15 +02:00
ansuz
73d2b6561a add small modules for page visibility api and notification apis 2016-07-06 22:16:17 +02:00
ansuz
d8b467422a fix default title in localStorage migration 2016-07-04 16:43:39 +02:00
ansuz
7a5877d12a don't filter pads after 30 days 2016-07-04 15:34:43 +02:00
ansuz
d844551fba add a forget button. clean up toolbar a bit 2016-06-30 17:24:25 +02:00
ansuz
8a82e11306 make sure title is defined for home page usage 2016-06-30 15:53:13 +02:00
ansuz
71b1f71ba0 fix migration to include ctime 2016-06-30 15:15:38 +02:00
ansuz
7da58a0de9 improve pad naming UX, slight refactoring
* prevent naming conflicts
* migrate localestorage to use named attributes
* use ctime and atime
* display default names in table
* sort pads by most recent atime
* move more functions into cryptpad common
* change table styles
2016-06-30 15:10:32 +02:00
ansuz
a3da10766a add rename button to /code/ and /pad/ 2016-06-30 10:51:19 +02:00
ansuz
93dcf29c15 more functions for working with localstorage 2016-06-30 10:43:56 +02:00
ansuz
d025d13295 address some jshint complaints 2016-06-23 16:44:20 +02:00
ansuz
12bbf3e8f6 don't drop values onto the window 2016-06-23 16:38:40 +02:00
ansuz
ca45e3533d pass loaded file to callback when importing 2016-06-23 16:38:24 +02:00
ansuz
1a5905d9fd more work on highlighting modes in codemirror
* style the select menu
* add more modes
* preset language selection to 'javascript'
* don't prompt the user with a silly hash when changing their name
2016-06-23 12:07:51 +02:00
ansuz
31aa09d6f6 work a bit more on import/export and code highlighting 2016-06-22 20:58:50 +02:00
ansuz
242c9a99e3 implement import and export in /pad/ 2016-06-22 17:00:07 +02:00
ansuz
0a8137e7eb move rememberPad to cryptpad common and simplify it a bit 2016-06-21 18:46:19 +02:00
ansuz
c3d2568d3c add file export for codepad
addresses #24
2016-06-17 10:59:45 +02:00
ansuz
2b8c21d292 set styles with setAttribute. fixes style fights 2016-06-16 13:00:48 +02:00
ansuz
1746a4e732 use crypto from bower 2016-06-06 12:35:06 +02:00
ansuz
2a3ff256b9 remove libraries which are now in bower 2016-06-06 12:29:45 +02:00
ansuz
f72cb24fc5 rm LORIA 2016-06-06 12:27:42 +02:00
ansuz
2c3de49922 remove realtime-input, since it's in bower now 2016-06-06 12:15:00 +02:00
ansuz
2798d1b1f9 all of the list/map api's dependencies are now on bower 2016-06-06 11:54:37 +02:00
ansuz
58c968b319 minor cleanup in realtime-input 2016-06-03 18:55:32 +02:00
ansuz
288b4d5b66 depend on main passing in the crypto module for now 2016-06-03 18:52:35 +02:00
ansuz
85dbd5cb6e pass in websocketURL from main 2016-06-03 17:27:01 +02:00
ansuz
d9a4f2f22c missed one 2016-06-03 16:44:15 +02:00
ansuz
ff0f7d15dc use json-ot from bower 2016-06-03 16:23:25 +02:00
ansuz
58633af943 listmap can be reused. put it in common/ 2016-06-03 15:47:34 +02:00
ansuz
dbf1e2b870 support reusing the netflux network
export more internals from realtime input
2016-06-03 15:30:51 +02:00
ansuz
83696495a8 use chainpad from bower, not local 2016-06-02 16:54:47 +02:00
ansuz
954ee26f4d fix undefined disconnect reason 2016-06-01 12:19:54 +02:00
ansuz
9336c4de5c import latest chainpad 2016-05-31 12:35:01 +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
ce99bd9ba3 Merge branch 'two' of github.com:xwiki-labs/cryptpad into two 2016-05-28 13:15:33 +02:00
ansuz
a0c73c95d8 do away with a bit of boilerplate 2016-05-28 13:13:54 +02:00
Caleb James DeLisle
da2bfe2de9 Added checkpoints with the new code from ChainPad 2016-05-26 17:09:02 +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
cae750cd75 update padrtc for to use bower libraries 2016-05-13 17:35:17 +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
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
150ebaba7b add ability to force text diffing 2016-04-27 17:58:55 +02:00
ansuz
ba17b78f7a restyle name change button 2016-04-27 15:32:58 +02:00
Yann Flory
492054a938 Fix the cursor position when a remote patch is applied 2016-04-27 12:17:06 +02:00
Yann Flory
5bb2e12db2 Merge branch 'beta' into migrate 2016-04-27 10:51:51 +02:00
Yann Flory
cc51e6d6ed Update CodeMirror pad to work with Netflux 2016-04-27 10:44:04 +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
Yann Flory
85d5f5c47f Convert netflux to es5 2016-04-25 15:29:39 +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
b140b6429d remove a little bit of dead code 2016-04-22 09:46:06 +02:00
ansuz
bbdc9da853 delete duplicated file 2016-04-22 08:19:28 +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
4f426651ad remove TextPatcher from RealtimeTextSocket 2016-04-21 17:41:50 +02:00
ansuz
02ff1a63a4 Merge branch 'netflux' into beta
Conflicts:
	www/assert/main.js
2016-04-21 15:47:07 +02:00
ansuz
a18c793f98 use latest hyperjson 2016-04-21 14:53:53 +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
a3787ee4dc Merge branch 'netflux' into beta 2016-04-20 15:25:00 +02:00
ansuz
010566d3c3 pushDelta was mistakenly deprecated. restored. 2016-04-20 14:20:34 +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
b83fb7b823 improve brFix logic
stop exporting functions which we wish to deprecate
2016-04-20 12:29:16 +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
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
Yann Flory
be09a1808d Remove old code from realtime-input 2016-04-14 14:46:42 +02:00
Yann Flory
6884b0890a Fix the typong tests not working properly 2016-04-14 12:24:17 +02:00
Yann Flory
e207d8b579 Merge branch 'diffdom' into netflux 2016-04-13 16:19:56 +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
19cd991dba trim dead code, comment, very minor optimizations 2016-04-12 17:29:20 +02:00
ansuz
9f45ccb2d9 use console.error for stack traces 2016-04-12 16:47:30 +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
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
5cead3fad3 add missing semicolons to TextPatcher.js 2016-04-12 14:51:06 +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
6b9d982d40 stabilize _socket/realtime-input.js
...as common/RealtimeTextSocket.js
2016-04-12 13:10:57 +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
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
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
713c90242b Hide the usernames when they have not been changed 2016-04-11 15:00:22 +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
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
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
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
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
478ccbf984 revert changes to chainpad 2016-03-29 11:04:34 +02: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
98c85cef8b xxx 2016-03-25 16:49:27 +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
420a7098a6 more testing and crap 2016-03-25 12:45:51 +01:00
ansuz
e066730b68 add notes about how hyperjson is to be used 2016-03-24 12:46:35 +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
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
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
Yann Flory
ae8f6f7f2c Ability to choose which protocol to use (Websocket or WebRTC) with Netflux 2016-03-10 14:03:31 +01:00
Yann Flory
b7885eb539 Fix channel history 2016-03-09 18:35:39 +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
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
d7b34cf6be don't call toolbar from within realtime-input.js 2016-03-04 16:45:11 +01:00
ansuz
5e1566eaec fix incomplete 'onAbort' block 2016-03-04 11:07:12 +01:00
ansuz
1d6ccc99a1 add 'onAbort' hook to realtime-input.js 2016-03-03 18:04:14 +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
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
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
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
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
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
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
a600ece5c5 fix jshint complaints in common directory 2016-02-12 16:22:20 +01:00