Commit graph

66 commits

Author SHA1 Message Date
Calvin Montgomery
99740a3673 Add cache, test 2022-09-23 21:39:38 -07:00
Calvin Montgomery
ae5dbf5f48 Continue working on banned channels 2022-09-23 21:39:38 -07:00
Calvin Montgomery
8338fe2f25 Work on banned channels feature 2022-09-23 21:39:38 -07:00
Calvin Montgomery
9e0f7b8efa Tweaks 2022-09-18 19:10:36 -07:00
Calvin Montgomery
a75917d4e4 fix: attempt to avoid socket leak in node >= 13.x
The default timeout was removed from the HTTP module in node 13.x:
https://github.com/nodejs/node/pull/27558.  I believe this is the most
likely cause of fd leaks when running under current node versions.
2021-01-16 14:19:22 -08:00
Calvin Montgomery
00e9acbe4d Revert "Remove channel reference counter"
This reverts commit d678fa56d1.  The
reference counter, flawed as it is, was masking far more issues than I
realized.  It would require a more significant rearchitecture of the
code to remove it.  Probably better to keep it and try to improve it for
now.
2021-01-09 13:03:38 -08:00
Calvin Montgomery
d678fa56d1 Remove channel reference counter
This was an old attempt at gracefully unloading channels that still had
pending callbacks.  Its implementation was always flawed, and the number
of places where it was used is small enough to replace with
straightforward checks for whether the channel has been unloaded after
an asynchronous operation.  Hopefully fixes the stuck 0 user channels
issue.
2020-11-11 22:05:05 -08:00
Calvin Montgomery
df82d2d4f1 Add registration captcha support 2020-09-22 20:11:34 -07:00
Calvin Montgomery
106065184f Remove old flatfile chandump storage 2020-02-15 16:17:49 -08:00
Calvin Montgomery
c6f9b1611e Add some sanity checks for common first-startup issues 2019-02-10 10:22:16 -08:00
Calvin Montgomery
c7fcd11e53 Fix channel save error introduced by removing async-to-generator 2018-08-29 20:59:07 -07:00
Calvin Montgomery
7b0427afa2 Remove code that was never finished and likely won't be used 2018-08-27 22:07:42 -07:00
Calvin Montgomery
a9a644460f Fix #760 2018-08-18 12:27:24 -07:00
Calvin Montgomery
62417f7fb8
Add eslint (#741) 2018-04-07 15:30:30 -07:00
Calvin Montgomery
78bffad888 Fix errored channels getting stuck during unload 2018-01-06 09:59:18 -08:00
Calvin Montgomery
7fbd62142e Minor tweaks/fixes 2017-12-15 19:10:32 -08:00
Calvin Montgomery
c4cc22dd05 Add experimental feature to reduce database writes for channel data 2017-12-10 10:36:28 -08:00
Calvin Montgomery
f975f7ef85 Update password reset to use new nodemailer impl 2017-09-26 21:22:15 -07:00
Calvin Montgomery
5b6f86668a Refactoring 2017-09-05 22:47:29 -07:00
Calvin Montgomery
8b1b501bbd Start working on /account/data controller 2017-08-30 22:45:48 -07:00
Calvin Montgomery
791a712a68 Move channel register/delete reload logic to message bus 2017-08-15 18:55:36 -07:00
Calvin Montgomery
d16cfb7328 Add message bus for #677 2017-08-15 18:23:03 -07:00
Calvin Montgomery
0118a6fb15 Refactor socket.io controller 2017-08-01 19:29:11 -07:00
Calvin Montgomery
e780e7dadb Deprecate stats table in favor of prometheus integration 2017-07-17 21:58:58 -07:00
Calvin Montgomery
c7bec6251e Begin prometheus integration
Add a dependency on `prom-client` and emit a basic latency metric for
testing purposes.  Add a new configuration file for enabling/disabling
prometheus exporter and configuring the listen address.
2017-07-16 22:35:33 -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
Xaekai
6d4558c978 Allow channel path to be customizable
We now allow server operators to customize the /r/ part of the channel links
The new config option in the template is commented and the config module validates and will terminate with status 78 if an improper value is used.
We've also dropped some old cruft and uses a more elegant method to assign CHANNEL.name

Resolves #668
2017-06-16 20:09:36 -07:00
Calvin Montgomery
6bfbbc0c01 Support hot-swapping HTTPS certificates 2017-04-30 17:20:19 -07:00
Calvin Montgomery
8306d2d1b6 Refactor logging 2017-04-04 23:02:31 -07:00
Calvin Montgomery
d4db459ff9 Fix #647 2017-03-01 20:46:01 -08:00
Calvin Montgomery
f6c201f3ba Add a few safeguards around channel saving 2016-12-20 00:09:24 -08:00
Calvin Montgomery
a624f45493 Fix warning in node 7 2016-11-17 23:01:20 -08:00
Calvin Montgomery
7117cd0a5e Fix typo 2016-10-15 16:09:27 -07:00
Calvin Montgomery
d2cce4f166 Work on auto reloading partition map from redis 2016-10-15 12:36:20 -07:00
Calvin Montgomery
7b4126c32f Add concurrency to channel saving on server shutdown 2016-08-31 21:46:54 -07:00
Calvin Montgomery
5b60a48c7f Fix double save when reloading partition map 2016-08-31 21:33:56 -07:00
Calvin Montgomery
8b94c54d25 Fix bug causing channels to get stuck when DB is down 2016-08-31 21:32:42 -07:00
calzoneman
edb5fb6f4e Sync announcements across partitions 2016-07-03 21:28:43 -07:00
calzoneman
056b2a48ea Add throttling of usercount frames 2016-06-18 00:32:50 -07:00
calzoneman
b6bb0aa56d Add redis-based channel index 2016-06-09 23:42:30 -07:00
calzoneman
6e772c6837 Add partition map reload 2016-06-08 22:54:16 -07:00
calzoneman
a360cd8808 Reject joins for channels mapped to other partitions 2016-06-07 22:47:49 -07:00
calzoneman
77465e6b49 Add partitioning logic 2016-06-06 21:54:49 -07:00
calzoneman
0a94da4d13 Use Promise.reduce() on shutdown to prevent overloading memory 2016-05-25 18:56:20 -07:00
calzoneman
a33f3d8bb0 Remove debug console.log 2016-04-23 19:54:32 -07:00
calzoneman
b69bd82a72 Add DualClusterClient for live testing phase of backend/frontend split 2016-04-23 19:53:18 -07:00
calzoneman
98d3090c7d Move BackendModule import 2016-02-15 17:21:28 -08:00
calzoneman
cada5f0b0a Actually make the legacy mode default 2016-02-09 22:59:48 -08:00
calzoneman
e6234297a1 Merge 2016-02-09 20:13:58 -08:00