Commit graph

2625 commits

Author SHA1 Message Date
Calvin Montgomery aca40dde0c Add note about unsupported filetypes 2018-06-15 20:33:55 -07:00
Calvin Montgomery dd23564c15 link-domain-blacklist: fix blank blacklist matching empty string 2018-06-14 18:45:35 -07:00
Calvin Montgomery fa49921866 Speed up join by avoiding quadratic userlist code
At some point the entire user presence logic needs to be refactored for
efficiency, but this at least gives a huge reduction in first page load
time for large channels.
2018-06-06 22:47:00 -07:00
Calvin Montgomery 3413c3bdaa Reject guest names matching the reserved usernames regex 2018-06-03 22:01:40 -07:00
Calvin Montgomery 90b5e5e09f deps: bump mocha and babel 2018-06-03 21:55:41 -07:00
Calvin Montgomery 125a781cc7 deps: updates to support node.js 10 2018-06-03 21:19:12 -07:00
Xaekai a632a4cafa Show poll creator on hover of timestamp 2018-05-28 15:17:27 -07:00
Calvin Montgomery fdab26b792 Hoist sortUserlist outside of userlist population inner loop 2018-05-26 13:28:26 -07:00
Calvin Montgomery bfe0d75278 Add check for error condition exposed by misbehaving bot 2018-04-08 19:19:22 -07:00
Calvin Montgomery 976b0a2168 Fix error introduced by lint changes 2018-04-08 19:17:03 -07:00
Calvin Montgomery e9a183bf9a Replace muted user set implementation with ES6 Set 2018-04-08 19:11:54 -07:00
Calvin Montgomery 62417f7fb8
Add eslint (#741) 2018-04-07 15:30:30 -07:00
Adam davis 953428cad5 Add Admin Setting - Block anonymous connections (#740) 2018-04-07 11:24:52 -07:00
Calvin Montgomery ef7bf1a319 Use path.join(__dirname, ...) to potentially avoid www/js/player.js issue 2018-04-05 20:48:59 -07:00
Calvin Montgomery c1e78fd4dc Kill process if www/js/player.js is not found at startup 2018-04-05 20:39:49 -07:00
Calvin Montgomery 2087921072 Clarify some wording 2018-03-17 17:47:27 -07:00
Calvin Montgomery 6070f7fc06 Update the README 2018-03-17 17:46:21 -07:00
Calvin Montgomery 304a6c9cfa Fix parseMediaLink stripping querystring from HLS manifest URLs 2018-03-17 10:49:08 -07:00
Calvin Montgomery 34eaca7b84 Fix version check in index.js to reject node <v6 2018-03-13 22:36:21 -07:00
Calvin Montgomery fcfc45dd70 Save YouTube playlists to library in batch to avoid connection pool starvation 2018-03-05 22:19:51 -08:00
Calvin Montgomery 54bf7f1c5b Strip GDrive metadata from saved channel playlists 2018-03-05 21:56:08 -08:00
Calvin Montgomery 8340bf2c81 Add notice that quality preference doesn't work for YouTube anymore (#726) 2018-03-05 21:51:40 -08:00
Calvin Montgomery 81e1947656 Clear template cache on /reload (#734) 2018-03-05 21:46:58 -08:00
Calvin Montgomery 247cf770d0 Avoid O(N^2) loop when loading channel emotes on channel load 2018-03-05 21:35:56 -08:00
Calvin Montgomery 726a5bf7c4 Minor tweaks to specific error conditions 2018-02-24 19:51:28 -08:00
Calvin Montgomery 79556d9365
deps: remove "q" (#731)
Insert Star Trek joke here.

Also did significant refactoring of the surrounding logic for the things
that depended on Q.
2018-02-24 19:47:50 -08:00
Calvin Montgomery d5f5c91b05 Minor fixes 2018-02-15 19:59:23 -08:00
Calvin Montgomery 49661a95ab Upgrade dependencies 2018-02-15 19:58:33 -08:00
Calvin Montgomery 03f30a82b9 Fix botched version bump in package.json 2018-02-01 17:41:06 -08:00
Calvin Montgomery 966da1ac58 Revert "Replace quadratic emote list impl with Map"
This reverts commit 0f9bc44925.

The original commit was not backwards compatible with use cases that
users were relying on, such as emotes being sorted in insertion order by
default.

I will develop a new patch which fixes the performance issue in a
backwards compatible way.
2018-02-01 17:39:45 -08:00
Calvin Montgomery aeab31825e Fix a raw file error caused by facebook CDN violating RFC 2616 2018-01-21 18:53:16 -08:00
Calvin Montgomery e7781b5c09 Remove accidentally committed script 2018-01-18 19:48:32 -08:00
Calvin Montgomery 8821de0e7d Try to reduce the extra crap logged when a db query fails 2018-01-18 19:47:55 -08:00
Calvin Montgomery 0f9bc44925 Replace quadratic emote list impl with Map 2018-01-18 19:34:57 -08:00
Calvin Montgomery 8399eab33f Fix error on invalid regex for /clean 2018-01-17 21:54:43 -08:00
Calvin Montgomery 326e67893c Minor bugfix 2018-01-14 15:43:12 -08:00
Calvin Montgomery 1797e11b43 Sanitize google drive IDs to remove URL hash etc. 2018-01-14 15:15:59 -08:00
Calvin Montgomery 46a738b7f4 Minor tweak to playlist dirty check 2018-01-14 15:08:55 -08:00
Calvin Montgomery d706bf63b1 Fix ustream 2018-01-14 15:02:15 -08:00
Calvin Montgomery fec1372e4e Annual bit flip 2018-01-07 15:45:18 -08:00
Calvin Montgomery c07cf7c13a Remove confirmation prompt from postinstall 2018-01-07 15:42:08 -08:00
Calvin Montgomery e350eb731b Fix #728 2018-01-07 15:14:20 -08:00
Calvin Montgomery cf9b95a265 Add experimental support for dash streaming 2018-01-06 11:00:59 -08:00
Calvin Montgomery 67fbc8e267 Add more information to the voteskip passed log message 2018-01-06 10:31:59 -08:00
Calvin Montgomery 4b48966e1d Add ffprobe errors for ECONNRESET and CERT_HAS_EXPIRED 2018-01-06 10:13:07 -08:00
Calvin Montgomery 6d0498987a Add sanity check for one instance of error unload
Unfortunately I think this is just one of a whole class of race
conditions caused by errored channels being unloaded immediately without
waiting for the refcounter to reach 0.

However, this one is the only one that appears commonly in the logs so
adding this check should buy time to rethink the overall problem.
2018-01-06 10:09:22 -08:00
Calvin Montgomery 78bffad888 Fix errored channels getting stuck during unload 2018-01-06 09:59:18 -08:00
Zynjec 7b328b10c3 Removed Vidme provider from getInfo
Loading a channel fails due to it being removed.

`Uncaught exception: Error: Cannot find module 'cytube-mediaquery/lib/provider/vidme'`
2017-12-27 18:15:21 -08:00
Calvin Montgomery 8a8532fc84 Add node.js 9 to .travis.yml 2017-12-27 14:24:57 -08: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