Commit Graph

2486 Commits

Author SHA1 Message Date
calzoneman 0ee7f05213 Make polls more efficient
Instead of emitting frames to each individual socket, group them into
socket.io rooms of people who can see hidden poll results and people who
can't, then just do 2 broadcasts.
2016-04-02 11:57:26 -07:00
calzoneman 20538e328f Replace legacy emitter with EventEmitter prototype 2016-04-02 11:23:34 -07:00
calzoneman a45148863a Fix #548 2016-03-31 22:51:05 -07:00
calzoneman d59daab2ae Make EmoteList self-contained instead of referencing globals 2016-03-29 23:31:02 -07:00
calzoneman 4e011c0d26 Change modflair label to "Name Color"
Also combined adminflair and modflair into one button (the button has 2
states if you're a moderator, or 3 states if you're a site
administrator).  Resolves #517
2016-03-29 22:30:16 -07:00
calzoneman 9debebd4b9 /clean: error when no argument given 2016-03-28 22:31:35 -07:00
calzoneman 52e444ab64 ffmpeg: follow relative redirects 2016-03-26 11:43:26 -07:00
calzoneman efdab32aa8 soundcloud: fix volume preservation
Soundcloud requires rebinding the READY event when a new track is loaded
in order to set the volume.
2016-03-26 11:25:04 -07:00
calzoneman 319c52911a Resolve #553 2016-03-23 23:04:58 -07:00
calzoneman c5c40a0386 Address #560 by adding a 'Volume' label 2016-03-23 22:45:54 -07:00
calzoneman 7448429341 Fix #566
Refactored the ffprobe stream-selection logic to handle rejected files
better:

  * Streams tagged as a non-default disposition are not considered
  * If a file has any video stream, the audio stream will be ignored

This should prevent videos from being misreported as invalid audio
codecs, etc.
2016-03-21 23:28:21 -07:00
calzoneman a96b85fa5b proxyinterceptor: handle SocketDisconnectEvent 2016-03-07 20:25:32 -08:00
calzoneman d913f02657 player: call videojs.destroy() when transitioning 2016-03-02 19:31:29 -08:00
calzoneman e07cc0f5aa Remove unused rtmpEventHandler 2016-03-02 19:19:47 -08:00
calzoneman e88031f4c5 Fix rtmp->rtmp transition 2016-03-02 19:18:33 -08:00
calzoneman 2bfb143c4c Update copyright year (finally lol) 2016-03-01 22:59:14 -08:00
Calvin Montgomery 1eb91e8c3c Merge pull request #563 from XCanG/patch-1
Fixed profile image
2016-02-29 17:24:13 -08:00
XCanG e2e864e93b Fixed profile image
See why: http://hnng.moe/f/8Q4
Now profile-image never be stretched.
2016-02-28 18:38:41 +05:00
calzoneman 908377b20c Set allowfullscreen for iframe embeds 2016-02-21 21:04:35 -08:00
Calvin Montgomery 6192de4bcb Create ISSUE_TEMPLATE.md 2016-02-17 19:38:47 -08:00
calzoneman 76ef8d6906 Improve performance of mass connects by broadcasting usercount 2016-02-15 21:35:59 -08:00
calzoneman 98d3090c7d Move BackendModule import 2016-02-15 17:21:28 -08:00
calzoneman 39e3978161 Fix 2016-02-09 23:04:07 -08:00
calzoneman cada5f0b0a Actually make the legacy mode default 2016-02-09 22:59:48 -08:00
calzoneman 5de6be0850 Merge branch 'mp-backend' into 3.0 2016-02-09 20:14:08 -08:00
calzoneman e6234297a1 Merge 2016-02-09 20:13:58 -08:00
calzoneman 2eb17f4c32 Fix MIME mapping for ogg/vorbis -> audio/ogg 2016-02-09 19:44:07 -08:00
calzoneman b3c85e8534 Limit requestPlaylist to once per 60 seconds
If clients call it quickly in succession with large playlists, it can
cause node to get stuck stringifying socket.io frames and cause an out
of memory crash.
2016-02-06 19:40:50 -08:00
calzoneman 50124c8a45 Refactor backend initialization 2016-02-04 21:43:20 -08:00
calzoneman 65d4ea9496 Fix #555 2016-01-31 11:17:19 -08:00
calzoneman ba54848db5 mediarefresher: fix memory leak from dangling timers 2016-01-30 19:42:55 -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 eba787942c package: bump source-map-support 2016-01-09 11:59:23 -08:00
calzoneman d7da01a7d0 package: bump cytubefilters 2016-01-08 00:08:08 -08:00
calzoneman be0759069e package: bump cytubefilters 2016-01-07 22:15:21 -08:00
calzoneman f46891b6ed Defer to mediaquery for anonymous vimeo lookup 2016-01-07 17:38:05 -08:00
calzoneman eeaffe1f61 Update socket.io to version 1.4.0 2016-01-06 21:42:48 -08:00
calzoneman 1ac69709ee Minor fix to refcounter logic 2016-01-04 20:35:02 -08:00
calzoneman 865a7453d9 Undo HD layout before applying synchtube, fluid (#549) 2016-01-03 22:53:29 -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 be4011cda1 Replace old ActiveLock system with a slightly better one
CyTube has been crashing recently due to things attempting to release
the reference after the channel was already closed (apparently the
uncaughtException handler isn't called for this?).  This newer
implementation keeps track of what is ref'ing and unref'ing it, so it
can log an error if it detects a discrepancy.

Also changed the server to not delete the refCounter field from the
channel when it's unloaded, so that should reduce the number of errors
stemming from it being null/undefined.
2015-12-25 17:07:25 -08:00
calzoneman 10d4ec8e60 Initial work for proxy connections 2015-12-24 16:24:07 -08:00