Commit graph

88 commits

Author SHA1 Message Date
Calvin Montgomery 9ea48f58cf Merge refactoring into 3.0 2014-05-20 19:30:14 -07:00
calzoneman 04dbb3444b Fix a few memory leaks; add /gc console command
3 memory leaks were fixed
  - ipThrottle (due to the periodic cleaner clearing the wrong object...)
  - ipCount (shouldn't have leaked very much, but removing obsolete data is good practice)
  - lastguestlogin (again, shouldn't leak much, but should be cleared periodically anyways)
A new console command (i.e. from the terminal running node) was added: /gc
  - If the process is invoked as node --expose-gc index.js, /gc allows you to manually invoke the garbage collector
2014-04-10 21:54:46 -05:00
calzoneman e973813718 Patch a memory leak caused by an earlier failsafe
A global object AllPlaylists was added back in v2 as a hardfix for an issue where playlists would continue to send updates after the channel was reloaded and the playlist object was obsolete.  This condition should no longer happen due to other fixes, so the only thing this object was doing was wasting memory.
2014-04-10 16:10:55 -05:00
Calvin Montgomery a2f2b1adc2 Add support for Vimeo's OAuth ("advanced") API
This allows for authenticated API requests.  Currently, the only reason
you would want to use this is to be able to add videos that are marked
private but still embeddable.
2014-04-04 20:06:16 -05:00
calzoneman 644437ea42 Directory cleanup 2014-02-18 22:00:56 -06:00
calzoneman 1cbb1c2a6a Add contact page 2014-02-13 18:15:22 -06:00
Calvin Montgomery 6fe31b9a3e Add configuration option to use express-minify for CSS and JS 2014-02-04 11:32:52 -06:00
calzoneman 5f3fa8922d Start working on event log 2014-01-27 18:37:48 -06:00
calzoneman 4a2366eb06 Switch config to YAML 2014-01-22 17:11:26 -06:00
calzoneman 0a2dd6cbbe Update package.json 2014-01-21 23:29:26 -06:00
calzoneman 760e14ca01 Fix package.json 2013-11-04 16:13:49 -06:00
calzoneman 4ad22308a0 Add module to block Tor IPs 2013-11-04 16:04:24 -06:00
calzoneman 2e77cb4499 Change channel dumping to a single interval rather than per-channel 2013-10-14 16:39:41 -05:00
calzoneman a23a55f6a2 Update changelog and version # 2013-10-01 23:02:31 -05:00
Calvin Montgomery dd0410eac7 Fix video lengths not showing in library 2013-08-23 21:06:29 -05:00
calzoneman 1294a7bd50 Fix banning guest names, add ban message to chat 2013-08-22 15:14:17 -05:00
calzoneman 1acf27d867 dev is now in final testing stages 2013-08-19 00:27:30 -05:00
calzoneman 8b3ae3b546 Merge dev into dbrefactor 2013-08-19 00:24:48 -05:00
calzoneman 40f3e875a8 2.3.3 - run update.js 2013-08-13 11:18:30 -04:00
calzoneman 44d5f42a36 Start switching to node-mysql 2013-08-12 10:34:57 -04:00
calzoneman e53a0eee4c Increment version number 2013-08-08 18:28:24 -04:00
calzoneman 2e79b01894 v2.3.1 (client only)
- Add a nice menu to userlist dropdowns for easily changing ranks
- Merge give/take leader into one button
- Move playlist lock button to the same button strip as voteskip/get playlist urls
- Add a volume slider for Soundcloud
2013-08-07 17:12:11 -04:00
calzoneman 22d5da5991 Update version number 2013-08-07 11:02:14 -04:00
calzoneman 15085fc6ae Minor fixes for v2.2
- If NO_WEBSOCKETS or USEROPTS.altsocket are true, don't use websockets
- Base resizing on an invisible div (some channels remove/hide #queue)
- Names are properly italicized when AFK
2013-08-04 11:44:48 -04:00
calzoneman 4937dca98e Ceil voteskip requirement instead of truncating 2013-08-01 16:11:11 -04:00
calzoneman a1b39833ed (Hopefully) fix voteskip problems 2013-08-01 09:39:10 -04:00
Calvin Montgomery 103e01042e Fix voteskip calculation 2013-08-01 00:03:56 -04:00
Calvin Montgomery 971cb18c9f Update version 2013-07-31 22:27:08 -04:00
calzoneman fe2985e8dd Save playlists with cached data 2013-07-30 09:07:30 -04:00
calzoneman 6899186600 Add cache TTL option; fixes 2013-07-28 17:10:35 -04:00
calzoneman 34e55d6fad Proper fix for path traversal 2013-07-27 11:06:49 -04:00
calzoneman be7ebf49d1 Fix #228 2013-07-27 10:13:30 -04:00
Calvin Montgomery e5d9a4c125 A few small improvements 2013-07-13 22:25:34 -04:00
calzoneman efc3cf35f4 Fix Ustream [#216] 2013-07-12 16:07:11 -04:00
calzoneman 7aac0a0f9f Fix a bug with IP forwarding 2013-07-06 13:00:02 -04:00
calzoneman 91a2fcb61d Better XSS prevention (NOTE: must run npm install validator on existing installs) 2013-07-02 15:42:26 -04:00
calzoneman c00b95feae Get x-forwarded-for IP address from cloudflare when it exists 2013-06-26 10:57:56 -04:00
calzoneman e620605458 Correct version number 2013-06-19 17:57:35 -04:00
calzoneman d5e03c10b6 Increment version number 2013-06-04 18:34:03 -04:00
calzoneman 52b88c0e40 Finish up 2013-05-30 14:34:54 -04:00
calzoneman 5205afb9cd Add password reset emailer 2013-05-30 14:07:29 -04:00
calzoneman e19f38f75b Remove debug print statement from channel.js 2013-05-27 15:23:47 -04:00
calzoneman 296bddefcd Fix #153 2013-05-27 14:35:24 -04:00
calzoneman a5c297365c Fixes; implement /clear command 2013-05-23 00:03:37 -04:00
calzoneman f8b0b06caf Add username bans, tweak ban interface 2013-05-21 12:17:01 -04:00
calzoneman 01fc746334 Implement #137 2013-05-19 12:56:13 -04:00
calzoneman 6dc0a33bda Separate ports for webserver and socketio
It came to my attention today that some firewalls block websocket traffic on port 80.  For this reason, I have split out the webserver and socket.io traffic to 2 different ports.
In config.js, IO_PORT is the socket.io port.  This should NOT be port 80.  WEBSERVER_PORT is the port that the built in webserver will bind to (can be port 80, but this requires root permissions).
You will connect to yourhostname:WEBSERVER_PORT, and use yourhostname:IO_PORT as IO_URL.
2013-05-17 18:39:49 -04:00
calzoneman 66fbbb77ce Add Justin.tv support 2013-05-17 14:39:58 -04:00
calzoneman 74bdffea58 Fix race condition which caused users to lose moderatorship 2013-05-17 11:02:45 -04:00
calzoneman a8d8f346d4 Add editors for CSS and JS 2013-05-15 11:34:27 -04:00