Commit Graph

536 Commits

Author SHA1 Message Date
Simon Detheridge 216a977922 Add try/catch around all client emissions 2020-02-04 12:13:03 +00:00
Brian Gough ebb83e4633 use diconnected property, not connected 2020-02-04 11:59:25 +00:00
Brian Gough 7380d523d5 avoid emitting when client not connected
the emit is happening asynchronously after the client list is computed,
so clients may have disconnected in the intervening time.
2020-02-04 11:39:37 +00:00
Brian Gough e263d37476 pass the signal correctly to the shutdown handler 2020-02-04 11:14:53 +00:00
Brian Gough 1fc8cc44c3 log shutdown messages as warnings 2020-02-04 11:14:14 +00:00
Simon Detheridge c7e2b99a7b Update hybi-16 patch to work with socket.io 0.9.19 2020-02-04 10:43:06 +00:00
Simon Detheridge ef852dfa33 Update socket.io to latest patch release 2020-02-04 10:32:54 +00:00
Brian Gough 4f94110225 Merge pull request #84 from overleaf/spd-catch-errors
Bump to Node 10 and add error handlers for socket.io
2020-02-03 14:59:04 +00:00
Brian Gough 49a8e1214b use a separate field for client errors 2020-02-03 14:47:45 +00:00
Brian Gough e04b6e1e49 Update app/coffee/Router.coffee
Co-Authored-By: Jakob Ackermann <das7pad@outlook.com>
2020-02-03 14:46:14 +00:00
Shane Kilkelly e63c6f4395 Merge pull request #87 from overleaf/sk-restricted-users
Filter "comments" if restricted user.
2019-10-31 10:21:11 +00:00
Shane Kilkelly 6df88ebc49 Filter "comments" if restricted user. 2019-10-30 13:54:40 +00:00
Shane Kilkelly 403caa65e8 Revert "Revert "Track the isRestrictedUser flag on clients""
This reverts commit 651e392a7c644403f199e1b03e7494b61ce71d0c.
2019-10-30 13:52:36 +00:00
Nate Stemen 9a838bd071 bump build script to 1.1.24 2019-10-25 13:23:13 -04:00
Nate Stemen 3dc7c357a5 add public link to contributing docs 2019-10-25 13:22:58 -04:00
Simon Detheridge 925a8651c1 Revert "Track the isRestrictedUser flag on clients" 2019-10-22 10:17:38 +01:00
Simon Detheridge c31c2d292d Merge pull request #81 from overleaf/sk-restricted-users
Track the `isRestrictedUser` flag on clients
2019-10-22 09:45:00 +01:00
Simon Detheridge ce366fdbee Bump Dockerfile to node 10 2019-10-17 12:46:07 +01:00
Simon Detheridge 7543f2fcbd Catch errors from socket.io and attempt graceful cleanup 2019-10-17 12:45:56 +01:00
Brian Gough dff4d66209 Merge pull request #83 from overleaf/bg-upgrade-ioredis
upgrade ioredis to v4.14.1
2019-10-14 11:18:45 +01:00
Brian Gough f028148fe2 upgrade ioredis to v4.14.1 2019-10-14 11:10:20 +01:00
Shane Kilkelly 2cc2be3d9c send messages to clients with concurrency of 2 2019-10-11 10:01:21 +01:00
Shane Kilkelly 06aa578bdc Make it an error when we get no data from joinProject 2019-10-11 09:57:16 +01:00
Simon Detheridge 85b23d7da7 Add maxRetriesPerRequest setting for redis 2019-10-10 16:56:58 +01:00
Shane Kilkelly df6cd4a054 Also block getConnectedUsers for restricted users.
Plus refactor to use a pass list instead of a deny list.
2019-10-04 13:41:49 +01:00
Shane Kilkelly 6765d03339 Track the isRestrictedUser flag on clients
Then, don't send new chat messages and new comments to those restricted clients.
We do this because we don't want to leak private information (email addresses
and names) to "restricted" users, those who have read-only access via a
shared token.
2019-10-04 10:30:24 +01:00
Simon Detheridge 21e294c6eb Generate retryable error when hitting rate limits in web 2019-09-02 11:27:04 +01:00
Brian Gough fe2e7b3065 minimal fix for undefined connected users 2019-08-16 10:07:30 +01:00
Henry Oswald 38ed780d80 add log line to draining 2019-08-15 14:41:22 +01:00
Brian Gough b0f0fb64ac clean up unused variable, convert setting to number 2019-08-15 09:48:42 +01:00
Brian Gough a7a161556f Merge branch 'bg-status-on-shutdown' 2019-08-15 09:42:00 +01:00
Brian Gough fa94e3d5e3 Merge pull request #69 from overleaf/ho-drain-connections-timewindow
add shutdownDrainTimeWindow, drains all connections within time range
2019-08-15 09:22:10 +01:00
Brian Gough 022e47b5c8 Merge pull request #73 from overleaf/bg-connected-client-metrics
add connected client count metric
2019-08-15 09:20:03 +01:00
Brian Gough 3552fa40c2 Merge pull request #72 from overleaf/bg-refresh-client-list
refresh client list
2019-08-15 09:19:20 +01:00
Henry Oswald 78629610d5 add health check endpoint and http route logger 2019-08-14 15:38:02 +01:00
Brian Gough f13e66b453 fix client count so that result is zero when all clients have left 2019-08-14 15:34:23 +01:00
Brian Gough 8270c14d86 add connected client count metric 2019-08-14 15:22:03 +01:00
Brian Gough d57b229e17 update tests 2019-08-14 13:03:14 +01:00
Brian Gough d3171e4e2e remove unwanted argument 2019-08-14 13:03:06 +01:00
Henry Oswald 2ae4c8c174 Merge branch 'ho-drain-connections-timewindow' of github.com:overleaf/real-time into ho-drain-connections-timewindow 2019-08-14 11:52:22 +01:00
Henry Oswald 4a984f533e remove forceDrainMsDelay
as soon as a pod is marked as being killed we should start draining
2019-08-14 11:51:25 +01:00
Brian Gough 20d442120f notify docupdate if the flush is from a shutdown 2019-08-13 17:36:53 +01:00
Brian Gough 7db882f339 fix unit tests 2019-08-13 17:26:49 +01:00
Brian Gough 0708f717fd reject connections when shutdown in progress
send a message to the client to reconnect immediately
2019-08-13 16:59:15 +01:00
Brian Gough 53431953fc make shutDownInProgress available via settings 2019-08-13 16:56:48 +01:00
Brian Gough b3e5709b64 enforce a minimum drain rate 2019-08-13 16:15:30 +01:00
Henry Oswald 00cca29d9e add shutdownDrainTimeWindow, drains all connections within time range 2019-08-13 14:21:47 +01:00
Brian Gough 5b54d36b37 fail readiness check when shutting down 2019-08-13 10:41:35 +01:00
Brian Gough 2000f478a7 refresh the client list on demand 2019-08-13 10:40:03 +01:00
Miguel Serrano 49c7bde799 Merge pull request #66 from overleaf/msm-patched-eventemitter-socketio-node7
Patched EventEmitter for socket.io compatibility with Node >= 7
2019-08-12 11:30:11 +02:00