Calvin Montgomery
c6f9b1611e
Add some sanity checks for common first-startup issues
2019-02-10 10:22:16 -08:00
Calvin Montgomery
4c9e85b293
Support IO token bucket capacity > refill rate
2018-11-15 23:04:03 -08:00
Calvin Montgomery
f6a58d00b2
Adjust some socket.io settings ( #780 )
2018-11-07 21:23:00 -08:00
Calvin Montgomery
24a13c12cf
Minor fixes, logging, metrics
2018-09-30 21:03:09 -07:00
Calvin Montgomery
67b1c97d89
Add io.throttle-in-rate-limit for socket event rate
2018-07-25 21:07:07 -07:00
Calvin Montgomery
3db751b65f
Fix socket count metric leak
2018-07-09 20:24:53 -07:00
Calvin Montgomery
62417f7fb8
Add eslint ( #741 )
2018-04-07 15:30:30 -07:00
Calvin Montgomery
95e147b5a0
Use socket.handshake instead of socket.client.request
...
Fixes a bug where sockets would be rejected if they connected directly
with the 'websocket' transport instead of doing an AJAX connection with
websocket upgrade (e.g. if `transports: ['websocket']` is passed to the
socket.io-client constructor).
See https://github.com/socketio/socket.io/blob/master/docs/API.md#sockethandshake
2017-12-27 14:24:33 -08:00
Calvin Montgomery
fbee6d2ab7
Fix a few common causes of error logs (incl. better ffprobe error messages)
2017-12-10 16:39:06 -08:00
Calvin Montgomery
9886f648f2
Workaround for #724
2017-12-06 22:10:06 -08:00
Calvin Montgomery
de5cc3352a
Fix another bug with prometheus socket.io emtrics
2017-09-19 19:03:43 -07:00
Calvin Montgomery
3eb97bab6a
Fix bug in cytube_sockets_num_connected metric
2017-09-04 10:04:33 -07:00
Calvin Montgomery
82004aab73
ioserver: change on disconnect to once to avoid double-counting
2017-08-14 18:23:07 -07:00
Calvin Montgomery
d0c1e8cbd9
Change metric names to follow prometheus naming guide
2017-08-12 13:12:58 -07:00
Calvin Montgomery
cb6cfc8455
Instrument some more metrics with prometheus
2017-08-02 21:24:44 -07:00
Calvin Montgomery
0118a6fb15
Refactor socket.io controller
2017-08-01 19:29:11 -07:00
Calvin Montgomery
5a78056c91
Some small refactoring
2017-07-24 22:08:26 -07:00
Calvin Montgomery
e780e7dadb
Deprecate stats table in favor of prometheus integration
2017-07-17 21:58:58 -07:00
Calvin Montgomery
07179d6c83
Upgrade to jsli 2.0
2017-07-08 20:11:54 -07:00
Calvin Montgomery
00901f9cdb
Remove junk from an old abandoned project
2017-07-02 22:35:12 -07:00
Calvin Montgomery
76e0d1b7ec
Use `proxy-addr` for parsing x-forwarded-for
...
Closes #683 by providing functionality to trust proxies other than
localhost.
2017-06-27 23:37:18 -07:00
Calvin Montgomery
b23a858a8c
Integrate socket.io ban check with GlobalBanDB
2017-06-05 23:14:45 -07:00
Calvin Montgomery
8306d2d1b6
Refactor logging
2017-04-04 23:02:31 -07:00
Calvin Montgomery
9dc82ad444
Enforce stricter validation on polls
2017-03-20 21:37:32 -07:00
Calvin Montgomery
99760b6989
Purge the awful refreshAccount logic
...
User.prototype.refreshAccount was responsible for multiple race
condition bugs as well as inefficient duplication of DB queries in an
attempt to correct such race conditions.
It has now been replaced by a more reasonable model:
* Global user account information and aliases are fetched in parallel
on socket connection
* Channel rank is fetched when the user tries to join a channel
2016-10-03 23:12:22 -07:00
calzoneman
701d470494
Add initial blocking of new users in chat
2016-08-10 21:59:18 -07:00
calzoneman
016b125f49
Initial IP session cookie implementation
2016-08-08 23:03:16 -07:00
calzoneman
312892e56b
Short term additional fix for #583
...
The previous commits do not handle all of the edge cases of #583
appropriately. This is a short term solution that will work, but is not
as efficient as it could be. The whole refreshAccount function needs to
be reconsidered and replaced with a more sane way of handling atomic
updates to the user's account state.
2016-06-29 22:00:25 -07:00
calzoneman
6e772c6837
Add partition map reload
2016-06-08 22:54:16 -07:00
calzoneman
77465e6b49
Add partitioning logic
2016-06-06 21:54:49 -07:00
calzoneman
b69bd82a72
Add DualClusterClient for live testing phase of backend/frontend split
2016-04-23 19:53:18 -07:00
calzoneman
e6234297a1
Merge
2016-02-09 20:13:58 -08:00
calzoneman
50124c8a45
Refactor backend initialization
2016-02-04 21:43:20 -08:00
calzoneman
86abebf9bf
Add RedisClusterClient
2016-01-28 19:51:59 -08:00
calzoneman
f8470fc8f6
Use new proxy address formatter
2016-01-23 12:46:04 -08:00
calzoneman
dd73a8ee9a
Automatically publish backend address to the pool
2016-01-20 23:11:55 -08:00
calzoneman
eeaffe1f61
Update socket.io to version 1.4.0
2016-01-06 21:42:48 -08:00
calzoneman
8bef7924b2
Minor fix
2016-01-01 18:28:53 -08:00
calzoneman
28807344bc
Import logger
2016-01-01 18:26:43 -08:00
calzoneman
cdb20e8d40
Handle when a frontend disconnects
2016-01-01 18:25:12 -08:00
calzoneman
9a262da13d
Set socketUser data from frontend
2015-12-30 21:57:46 -08:00
calzoneman
5b44117681
Use new protocol
2015-12-28 23:52:39 -08:00
calzoneman
9dd617d9fc
Update to reflect change in endpoint key
2015-12-27 15:10:43 -08:00
calzoneman
b536c15758
Initial hacks to get the split to work
2015-12-26 15:07:03 -08:00
calzoneman
10d4ec8e60
Initial work for proxy connections
2015-12-24 16:24:07 -08:00
calzoneman
bfe76dae0e
Check X-Forwarded-For on sockets ( resolves #528 )
2015-12-12 16:59:58 -08:00
calzoneman
23333ee266
Remove console logging of clientErrors from HTTP/socket.io
2015-10-30 22:26:20 -07:00
calzoneman
a8cc8e4b04
Add more counters for diagnostic information
2015-10-28 23:38:17 -07:00
calzoneman
21c3a1b3cd
API changes, add documentation
2015-10-25 17:20:39 -07:00
calzoneman
7b5476874d
Minor function change
2015-10-21 20:56:09 -07:00