Commit graph

134 commits

Author SHA1 Message Date
Calvin Montgomery
4f5cd7d741 Fix UI bug (#872) 2020-06-18 21:23:05 -07:00
Calvin Montgomery
9e5fcf4904 Fix #866 2020-05-17 10:42:21 -07:00
Calvin Montgomery
5a386d0f81 Remove fallback to YT from library search 2020-03-20 19:38:48 -07:00
Calvin Montgomery
106065184f Remove old flatfile chandump storage 2020-02-15 16:17:49 -08:00
Calvin Montgomery
e3a9915b45 Clean up a few things that no longer work/are no longer used 2020-02-09 16:50:37 -08:00
Calvin Montgomery
1ec3eab0dc Preserve current playing item when shuffling (#812) 2019-08-01 19:57:32 -07:00
Calvin Montgomery
60c348a905 Clamp timeouts to 1 day 2019-04-28 22:30:08 -07:00
Calvin Montgomery
96bf3df928 Fix #793 2019-03-27 21:26:06 -07:00
Calvin Montgomery
9c44488d8e Add sanity check to prevent null duration from corrupting playlist meta 2018-12-07 20:47:46 -08:00
Calvin Montgomery
027b27c1b0 Bump max message length (#782) 2018-11-15 22:48:30 -08:00
Calvin Montgomery
2d6af31c00 voteskip: add early exit for duplicate votes 2018-11-11 16:08:00 -08:00
Calvin Montgomery
5b86fb3187 Implement #779 2018-10-21 22:12:49 -07:00
Calvin Montgomery
1923af16a9 Fix a few minor error conditions 2018-09-30 21:22:20 -07:00
Calvin Montgomery
24a13c12cf Minor fixes, logging, metrics 2018-09-30 21:03:09 -07:00
Calvin Montgomery
c7fcd11e53 Fix channel save error introduced by removing async-to-generator 2018-08-29 20:59:07 -07:00
Calvin Montgomery
d9e2a62f77 Add check for #766 2018-08-29 20:40:24 -07:00
Calvin Montgomery
db48104b80 Initial mixer implementation 2018-08-26 22:04:14 -07:00
Calvin Montgomery
cb687fc078 zalgo text hasn't been funny for years, guys 2018-08-06 19:56:55 -07:00
Calvin Montgomery
878b30bdb2 Fix undefined dereference in rank callback 2018-07-25 21:27:28 -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
fcfc45dd70 Save YouTube playlists to library in batch to avoid connection pool starvation 2018-03-05 22:19:51 -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
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
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
46a738b7f4 Minor tweak to playlist dirty check 2018-01-14 15:08:55 -08:00
Calvin Montgomery
e350eb731b Fix #728 2018-01-07 15:14:20 -08:00
Calvin Montgomery
67fbc8e267 Add more information to the voteskip passed log message 2018-01-06 10:31:59 -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
b7bc93f194 Disable vid.me (RIP) 2017-12-24 11:19:30 -08:00
Calvin Montgomery
0c330a82ce Add dirty check to playlist for efficiency of channel saving 2017-12-16 10:34:04 -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
c4cc22dd05 Add experimental feature to reduce database writes for channel data 2017-12-10 10:36:28 -08:00
Calvin Montgomery
a90d88ad65 Fix race condition that might be causing errors 2017-08-12 13:30:24 -07:00
Calvin Montgomery
d0c1e8cbd9 Change metric names to follow prometheus naming guide 2017-08-12 13:12:58 -07:00
Calvin Montgomery
04c9d48779 custom-media: implement queueing and playback changes 2017-08-08 20:35:17 -07:00
Calvin Montgomery
0b560f15a9 Add prometheus counter for changeMedia 2017-08-05 18:50:27 -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
a8f1e48157 ffmpeg: remove bitrate and codec warning
Browsers which don't support CyTube's limited subset of
generally-supported codecs probably aren't worth warning about.

1Mbps is way too low of a threshold to warn about bandwidth, but even if
the threshold for warning were raised, it's probably still not that
useful.
2017-07-22 10:43:18 -07:00
Calvin Montgomery
c152a19624 Ignore library cached metadata when queueing
The use of the channel library as a cache for metadata to avoid
re-requesting metadata for known media is an optimization that dates
back to 1.0.  However, it doesn't have any TTL, is prone to bugs, and is
of dubious value.

This commit ignores the results of the library check when queueing a new
video, opting to always re-request the metadata.  This fixes a few bugs:

  * Google Drive metadata being lost when storing in library
  * Streamable metadata being lost when storing in library
  * Videos in the channel library that are now unavailable on their
    source website being queueable and then failing to play (e.g. deleted
    YouTube videos).

In its place, a small fail-open check is left behind to emit metric
counters on how many queues would have been cache-hits, to provide
insight into whether a proper caching solution (i.e. one not tacked on
top of the library) would be worth pursuing or not.  This will be
removed eventually.
2017-07-15 14:41:37 -07:00
Calvin Montgomery
b7ceee8ef4 Fix video sources being lost when playlist is saved 2017-07-15 14:12:32 -07:00
Calvin Montgomery
07179d6c83 Upgrade to jsli 2.0 2017-07-08 20:11:54 -07:00