Commit Graph

1084 Commits

Author SHA1 Message Date
really-need-an-api-key 0bc866dbfa Add desktop notifications 2018-10-12 20:19:45 -07:00
Calvin Montgomery db48104b80 Initial mixer implementation 2018-08-26 22:04:14 -07:00
Calvin Montgomery f19efdb859 Fix #762 2018-08-18 13:14:37 -07:00
Calvin Montgomery aca40dde0c Add note about unsupported filetypes 2018-06-15 20:33:55 -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
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
Adam davis 953428cad5 Add Admin Setting - Block anonymous connections (#740) 2018-04-07 11:24:52 -07:00
Calvin Montgomery 304a6c9cfa Fix parseMediaLink stripping querystring from HLS manifest URLs 2018-03-17 10:49:08 -07: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 0f9bc44925 Replace quadratic emote list impl with Map 2018-01-18 19:34:57 -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 d706bf63b1 Fix ustream 2018-01-14 15:02:15 -08:00
Calvin Montgomery c07cf7c13a Remove confirmation prompt from postinstall 2018-01-07 15:42:08 -08:00
Calvin Montgomery cf9b95a265 Add experimental support for dash streaming 2018-01-06 11:00:59 -08:00
Calvin Montgomery 0b6106a89e Clarify gdrive userscript error when fmt_stream_map is missing 2017-12-26 20:40:12 -08:00
Calvin Montgomery b7bc93f194 Disable vid.me (RIP) 2017-12-24 11:19:30 -08:00
Calvin Montgomery a4e72a002a Fix #719 2017-12-16 00:05:28 -08:00
Calvin Montgomery 9886f648f2 Workaround for #724 2017-12-06 22:10:06 -08:00
Xaekai 6a0608bf7e Explicit type conversion in version number comparison. 2017-11-27 23:56:21 -08:00
Xaekai aa5066762b This resolves an issue where Google returns HTTP200 but provides an HTML redirect to a login portal instead of video data.
Closes #718
2017-11-27 23:37:41 -08:00
Calvin Montgomery 342e5d406a Drive userscript: support violentmonkey (#713) 2017-11-27 22:42:50 -08:00
Calvin Montgomery 85169fbb56 Update drive userscript (#714) 2017-11-15 22:27:31 -08:00
Calvin Montgomery b453aecee5 Replace froogaloop
Froogaloop no longer appears to work.

Followed migration guide: https://github.com/vimeo/player.js/blob/master/docs/migrate-from-froogaloop.md
2017-10-28 23:10:15 -07:00
Calvin Montgomery 3cd8bfa8c7 Remove /sioconfig for real 2017-09-30 15:26:47 -07:00
Calvin Montgomery 071def0838 Fix streamable autoplay 2017-09-25 19:25:31 -07:00
Calvin Montgomery 8db22ad924 Implement playerjs for streamable (#706) 2017-09-25 19:18:46 -07:00
Calvin Montgomery 97231e515c player: support HLS vod for vidme (fixes #703)
- Upgrade videojs-contrib-hls to latest version
  - Update VideoJSPlayer to support "auto" quality tag to delegate to
    the HLS plugin for automatic quality selection
  - mediaquery change:
    9f5122e031
2017-09-04 09:44:30 -07:00
Calvin Montgomery 7c897d91db Add crossorigin attribute for custom media with text tracks
Mitigates #702
2017-08-21 20:06:07 -07:00
Calvin Montgomery 82bd645781 Minor cleanup of some no longer used client stuff 2017-08-13 22:33:54 -07:00
Calvin Montgomery ba8088b678 videojs: default quality to 480 instead of 1080 2017-08-13 21:48:50 -07:00
Calvin Montgomery 04c9d48779 custom-media: implement queueing and playback changes 2017-08-08 20:35:17 -07:00
Calvin Montgomery 8b7cdfd4c3 soundcloud: fix getVolume to match setVolume 2017-08-07 21:08:04 -07:00
Calvin Montgomery dac2e41488 Fix and enable efficient emotes by default 2017-08-05 12:22:58 -07:00
Calvin Montgomery 0118a6fb15 Refactor socket.io controller 2017-08-01 19:29:11 -07:00
Calvin Montgomery 7bd9934e58 Minor cleanup of no longer used things 2017-07-26 20:32:51 -07:00
Calvin Montgomery f593f7283c Replace alert() with modal for ACP password reset
Some browsers (e.g. Chrome) don't allow copying text out of alert()
dialogs.
2017-07-24 22:35:15 -07:00
Calvin Montgomery e80613c7ec Fix rtmp again because chrome is picky about mime types 2017-07-23 17:55:25 -07:00
Calvin Montgomery 964feb7243 Add id field to announcements and hide previously closed announcements 2017-07-22 10:35:45 -07:00
Calvin Montgomery e780e7dadb Deprecate stats table in favor of prometheus integration 2017-07-17 21:58:58 -07:00
Calvin Montgomery dd770137e5 Fix error for rtmp player 2017-07-15 20:17:13 -07:00
Calvin Montgomery d9813e6244 Remove legacy tab complete (no longer used) 2017-07-15 14:48:53 -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 30a5657d62 soundcloud: fix volume issue
It took them 4 years, but they finally did actually make the player
accept volume in the range 0-100 like their documentation suggests.

*slow clap*
2017-07-10 21:38:27 -07:00
Calvin Montgomery 5500054b84 Add resolution switcher plugin for video.js
Allows switching resolutions via the video.js UI.  Also added support on
the player side for 540p, 1440p, and 2160p videos, although the metadata
extractors have not been updated to provide these sources yet.
2017-07-01 16:54:19 -07:00
Xaekai 18bf1b946b Minor fixes to afk stuff. 2017-06-29 19:04:49 -07:00
Calvin Montgomery 33f632036e Merge pull request #684 from Xaekai/afk.meta
Single source of truth for AFK
2017-06-16 21:42:23 -07:00
Xaekai 2dc6504a77 Use a consistent pattern. 2017-06-16 21:37:30 -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
Xaekai f89832a6d1 Gracefully allow script authors time to update their code 2017-06-15 22:09:09 -07:00
Calvin Montgomery e9c519c6e2 Add twitch clip support (#659) 2017-05-27 11:49:43 -07:00
Xaekai 5163c2acb1 Glory to the dark lord 2017-05-25 08:04:19 -07:00
Xaekai 1d65eb036e Use a more salient variable name.
Use a style thats readable with brevity.
2017-05-24 19:18:47 -07:00
Xaekai 93ef067b8c [ACP] Allow searching users by email. 2017-05-24 04:44:55 -07:00
Calvin Montgomery d23b5278b1 Rename Hitbox -> Smashcast 2017-05-20 16:50:00 -07:00
Calvin Montgomery 02587dbb5c Merge pull request #664 from Xaekai/emote.rename
Emote renaming
2017-05-18 22:02:50 -07:00
Xaekai 8434d20826 Fix minor issues with emote rename 2017-05-17 09:50:47 -07:00
Xaekai 8e3ce4e1c3 Emote renaming
This allow emotes to be renamed in the same fashion the image URLs can be changed.
2017-05-16 10:08:53 -07:00
Xaekai 929e1b2c69 Add support for embedded VidMe URLs 2017-05-14 19:21:01 -07:00
Xaekai 8b95b9fc41 Fix UStream URL Generation 2017-05-14 04:02:32 -07:00
Calvin Montgomery ef9c744003 Use HTTPS in formatURL 2017-04-11 21:57:05 -07:00
Calvin Montgomery 8d40c87dda Deprecate jwplayer and googleplus videos 2017-04-11 21:55:31 -07:00
Calvin Montgomery b1a328d2e0 Implement max total video time per user 2017-04-03 21:18:40 -07:00
Calvin Montgomery f42e3bf2b7 Fix #656 2017-04-03 20:31:21 -07:00
Calvin Montgomery 0ce6fbba20 Fix an issue with playlist item matching 2017-03-26 11:04:02 -07:00
Calvin Montgomery 9dc82ad444 Enforce stricter validation on polls 2017-03-20 21:37:32 -07:00
Calvin Montgomery 4701e767b6 Another fix for the new emote code 2017-03-03 23:59:07 -08:00
Calvin Montgomery a56f0d5b10 Adjust google drive userscript prompt 2017-03-03 23:39:38 -08:00
Calvin Montgomery 6672f5f75e Minor fix to new emote method 2017-03-02 18:53:34 -08:00
Calvin Montgomery 70be35e3fa Experimental ustream fix 2017-03-02 18:47:47 -08:00
Calvin Montgomery 20326194f7 Add execEmotesEfficient behind feature flag
For #645.  Disabled by default, I'll selectively enable it to be sure it
works and then remove the old implementation.
2017-03-01 21:16:55 -08:00
Calvin Montgomery a80512aa60 Fix #646 2017-02-23 20:10:57 -08:00
Calvin Montgomery 97de993055 Rename shit to avoid breaking backwards compat of currenttitle 2017-01-23 22:00:18 -08:00
Calvin Montgomery d7c3edfac5 Fix for video resizing 2017-01-23 21:56:11 -08:00
Calvin Montgomery 2c57719318 Support changing the ratio of video:chat width 2017-01-23 21:47:21 -08:00
Calvin Montgomery b0ff4d5ef0 Make delete from channel library a configurable permission 2017-01-23 21:16:39 -08:00
Calvin Montgomery 27e168ba8b Integrate new tab completion methods
There is now an option to choose which tab completion method to use.
Also, emotes can be tab completed.
2017-01-10 22:26:46 -08:00
Calvin Montgomery e1ad7c63af Clarify custom embed error to remove the clause about switching to plain HTTP 2017-01-09 23:47:11 -08:00
Calvin Montgomery ee8cf35cdf Add checks for a couple JSPREF edge cases 2017-01-09 21:02:42 -08:00
Calvin Montgomery 5321996c64 Implement tab cycle style completion (not used anywhere yet) 2017-01-07 10:55:59 -08:00
Calvin Montgomery dfdc07cbfa Start working on better tab completion
Code is not used anywhere yet, but the end goal is:
* Replace the bash-style algorithm with a less kludgy one
* Add the ability to customize tab completion method (will also
  include default zsh-style completion)
* Abstract tab completion so it can be shared for chat and emote names
  as available options
2017-01-06 20:10:33 -08:00
Calvin Montgomery e2abb90d14 Add HTTPS check for ffmpeg and custom embeds 2017-01-05 20:58:07 -08:00
Calvin Montgomery 5f4e9076df Fix ustream to be https 2017-01-05 20:31:20 -08:00
Calvin Montgomery d21943ecc7 Whitelist m4a/aac for ffmpeg 2016-12-17 19:53:17 -08:00
Calvin Montgomery 453ed607ba [http deprecation] enforce HTTPS for externalcss URLs 2016-12-10 23:23:57 -08:00
Calvin Montgomery afa18c4749 Fix Google Drive URL 2016-10-20 19:07:03 -07:00
Calvin Montgomery 3c11ac6cf5 Add jitter and retry logic to google drive userscript lookups 2016-10-08 10:33:18 -07:00
Calvin Montgomery d0d2002a5f Fix some drive userscript issues 2016-10-07 19:55:41 -07:00
Calvin Montgomery b4b23f748f Change Hitbox player to HTTPS (#627) 2016-09-19 20:45:21 -07:00
Calvin Montgomery f62d9bc271 Add twitch vod support 2016-09-04 18:53:38 -07:00
Calvin Montgomery d821fc6ccd Replace Twitch.TV player
Replaced the flash player with their HTML5 API.  This also lays the
groundwork for VOD playback.
2016-08-24 20:21:49 -07:00
Calvin Montgomery af6e958c49 Merge remote-tracking branch 'origin' into ip-session-age 2016-08-24 19:48:58 -07:00
Calvin Montgomery 5a81ab7ce7 Add a prompt explaining the situation as well as documentation 2016-08-23 21:50:18 -07:00
Calvin Montgomery 578d3fbb23 Add workaround for GM sandbox and refactor userscript a bit 2016-08-20 10:59:20 -07:00
Calvin Montgomery ba9fbea1a1 Minor fixes/cleanup 2016-08-15 21:09:43 -07:00
Calvin Montgomery 4feee02e33 Add initial userscript 2016-08-15 21:00:56 -07:00
calzoneman 6ebd4af490 Add video.js source link fallback 2016-08-11 21:07:06 -07:00
calzoneman af663bfbcf Implement HTML5 hack for google drive
Requires enabling in config.yaml
google-drive:
  html5-hack-enabled: true

Requires a recent version of node and an IPv6 address

EXPERIMENTAL
2016-08-11 20:04:51 -07:00
calzoneman 74cb1b3efc Implement time parsing/formatting for channel settings 2016-08-10 21:59:36 -07:00