Commit graph

272 commits

Author SHA1 Message Date
Alasdair Smith
937bf82a2f Return callback with guard 2017-09-22 09:25:24 +01:00
Alasdair Smith
5d8e201732 Don't return obj 2017-09-21 16:58:03 +01:00
Alasdair Smith
a299d7335d Fix incorrect var 2017-09-21 16:56:18 +01:00
Alasdair Smith
90d05dc6dd Make args order consistent 2017-09-21 16:56:09 +01:00
Alasdair Smith
3966e2f85b Make variadic options more explicit 2017-09-21 16:55:49 +01:00
Alasdair Smith
790b9ea8ed Switch order of args 2017-09-21 15:19:19 +01:00
Alasdair Smith
55c880e1dd DRY up a bit 2017-09-21 15:07:15 +01:00
Alasdair Smith
b796879c9f Handle options not being passed 2017-09-21 14:58:49 +01:00
Alasdair Smith
aa6e0d0d69 Only encode ranges if option passed 2017-09-21 14:23:16 +01:00
Alasdair Smith
9f503f1e9f First pass at encoding changes & comments in ranges 2017-09-21 13:25:55 +01:00
Brian Gough
ab6fe1d948 check for null bytes from JSON.stringify 2017-06-01 11:27:56 +01:00
James Allen
642134da79 Don't return a user if there is no entry
ioredis returns a blank object, {}, if there is no key with hgetall.
Previously, node-redis returned nil. So we need to check for a blank
object as well as a nil object.
2017-05-16 11:06:05 +01:00
James Allen
a8917b933f Remove multi call to make compatible with redis-cluster 2017-05-11 17:27:28 +01:00
James Allen
720f24427a Use new redis-sharelatex with support for cluster 2017-05-02 15:51:17 +01:00
James Allen
d8ff8ba098 Merge pull request #11 from sharelatex/ja-allow-readonly-comments
Allow readonly users to submit comments
2017-03-20 14:25:03 +00:00
James Allen
8766646149 Allow users to send a comment update if they are read-only 2017-03-15 15:45:52 +00:00
James Allen
d939f6cd65 Remove some old logging 2017-03-15 15:45:18 +00:00
Brian Gough
d468f662ac handle disconnects of unauthenticated users 2017-02-23 12:04:36 +00:00
James Allen
9fd099c24f Update getDoc signature to match reality 2017-01-16 17:09:44 +01:00
James Allen
f66d631886 Merge branch 'master' into ja-track-changes 2017-01-13 13:40:42 +01:00
Brian Gough
e5160d9a36 log client id when disconnecting on otUpdateError
only log errors for connected clients
2016-12-16 14:43:51 +00:00
James Allen
bf2620ee0c Return ranges from docupdater to client 2016-12-08 11:37:31 +00:00
James Allen
4cff89becc Fix acceptance tests 2016-12-08 11:12:07 +00:00
Brian Gough
2e0f5b74db send connectionAccepted/Rejected events on connect
let the client know whether it has successfully authenticated
2016-10-28 15:41:57 +01:00
James Allen
6fa2a81baf Make breakout logic after draining N clients more clear 2016-10-24 16:54:56 +01:00
James Allen
7107d9adcd Delete logging that will be noisy in production 2016-10-24 16:40:10 +01:00
James Allen
59d042e264 Add end point to start draining clients 2016-10-24 16:36:09 +01:00
Shane Kilkelly
185bc7e635 Update session code 2016-09-07 08:58:35 +01:00
Brian Gough
8ffec68250 add comment about fallback case 2016-09-05 12:46:52 +01:00
Brian Gough
ef85bce3b8 track permissions when clients join and leave docs 2016-09-05 12:46:52 +01:00
Brian Gough
9ab19c5d03 avoid double callback 2016-09-02 16:34:14 +01:00
James Allen
51939512ac Return semantic error if doc ops range is not loaded 2016-05-31 14:21:23 +01:00
James Allen
f4a465ea69 Return a 'not authorized' error if the user is not logged in/authorized 2016-05-31 11:49:51 +01:00
James Allen
343ec9d708 Add in flags that track how often each callback is called 2016-05-26 15:46:45 +01:00
James Allen
030abc5340 Don't flush to track changes now that this happens in doc updater 2016-01-20 17:51:24 +00:00
James Allen
830d676f4f Add in limit on all JSON parsing 2015-12-01 11:05:49 +00:00
James Allen
92d18d7e2e Reduce limit to actuall 1Mb, not 1Gb 2015-11-30 15:40:03 +00:00
James Allen
0372fa3203 Add in extra logging about size of messages 2015-11-30 15:25:09 +00:00
James Allen
503b766dcc For duplicate ops only send ack to submitting client
When a duplicate op is received, we only need to ack it to client
that sent it. Only that client is having trouble, and all other clients
will already have received it.
2015-11-19 10:58:28 +00:00
Henry Oswald
3c70acd560 added metrics into realtime around doc update manager 2015-08-29 08:26:16 +01:00
James Allen
d79793c34f Monitor get document times 2015-08-29 08:22:43 +01:00
James Allen
5da5c5c435 Accept arrays of messages to send to client 2015-03-12 14:32:35 +00:00
James Allen
536118b0cf Relay messages received via HTTP into the project 2015-03-03 17:15:19 +00:00
James Allen
79cd0e6a5c Record user id correctly when updating position 2015-02-05 13:41:31 +00:00
James Allen
7a9f7f0870 Don't print massive stack trace when there is no room_id 2014-11-24 22:28:50 +00:00
James Allen
d62dc7ca3a Don't be so verbose with client update errors 2014-11-24 15:42:26 +00:00
James Allen
0ed7d0c811 Ignore messages with null room_id 2014-11-24 12:09:12 +00:00
James Allen
57a34e940e Authorize users before updating their cursor positions 2014-11-24 12:05:05 +00:00
James Allen
a48c8aad92 Support anonymous access 2014-11-21 11:48:59 +00:00
James Allen
2a05045600 Add in redis health check 2014-11-20 16:56:09 +00:00
James Allen
2cb365d2b4 Add /status end point 2014-11-17 14:38:43 +00:00
James Allen
ce587a00ba Send web requests with HTTP auth 2014-11-17 14:35:07 +00:00
James Allen
66dfafdebe Add metrics into all end points 2014-11-17 13:12:49 +00:00
James Allen
8bc6d0e291 Unify logging 2014-11-17 12:46:27 +00:00
James Allen
7b275e9e0e Add acceptence tests for leaving(disconnecting) from a project 2014-11-17 12:23:30 +00:00
James Allen
80b7875414 Add in leaveProject handler 2014-11-14 16:51:55 +00:00
James Allen
fd56655529 Add in track changes and doc updater flushing calls 2014-11-14 15:53:59 +00:00
James Allen
347ceaaf03 Listen for updates from doc updater and send them to clients 2014-11-14 15:30:18 +00:00
James Allen
fef5f6b775 Add acceptance tests for applyOtUpdate 2014-11-14 10:12:35 +00:00
James Allen
f0e69bfe2d Add appltOtUpdate end point (sans acceptance tests for now) 2014-11-13 17:07:05 +00:00
James Allen
cc1c85ebf8 Distribute server side socket.io updates over Redis Pub/Sub 2014-11-13 16:03:37 +00:00
James Allen
e769819521 Add in clientTracking.updatePosition end point 2014-11-13 15:27:18 +00:00
James Allen
84778b5961 Mark user as connected for cursor updates when joining project 2014-11-13 13:05:49 +00:00
James Allen
f7482014ce Import ConnectedUsersManager from web 2014-11-13 12:27:46 +00:00
James Allen
6ed2a0d04d Refactor client attribute fetching and logging 2014-11-13 12:03:43 +00:00
James Allen
0b18edeff3 Add in /clients and /client/:client_id status end points 2014-11-13 11:48:49 +00:00
James Allen
8b923d2fda Add in leaveDoc end point 2014-11-12 16:51:48 +00:00
James Allen
eb8ccc0298 Create joinDoc socket.io end point 2014-11-12 15:54:55 +00:00
James Allen
919b192e16 Add in null check 2014-11-10 11:40:19 +00:00
James Allen
dc60f2b736 Add acceptance test for unauthorized project joining 2014-11-10 11:38:26 +00:00
James Allen
02c0a3a867 Create joinProject socket.io endpoint 2014-11-10 11:27:08 +00:00
James Allen
fbf983c2ff Create framework for real-time API with session authentication 2014-11-07 17:38:12 +00:00