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
calzoneman
8305c235eb
Add initial channel setting for new account chat delay
2016-08-10 21:59:30 -07:00
calzoneman
701d470494
Add initial blocking of new users in chat
2016-08-10 21:59:18 -07:00
calzoneman
e99bfcd47b
Merge branch '3.0' into videojs-hls
2016-08-09 22:41:55 -07:00
calzoneman
7b95777d99
Add a few things missed last commit
2016-08-08 20:34:03 -07:00
calzoneman
d06c614ccc
Add HLS support (and upgrade Video.JS)
2016-08-06 21:14:52 -07:00
calzoneman
88c42af139
Add streamable.com support ( #585 )
2016-08-02 22:35:00 -07:00
Xaekai
285dab9ed7
Prevent rendering of <iframes> and <objects> in the error message when attempting to queue them as supported host links instead of custom embeds.
...
I thought about just moving the parse failure message handling to queueMessage, but that quickly turned into a minefield of pain. This gets the job done for now.
2016-07-22 19:22:15 -07:00
calzoneman
6e416fea8a
Add a hack to detect distrust of Let's Encrypt
...
Many older devices do not support the Let's Encrypt CA, for various
reasons. This causes connection issues for sites using Let's Encrypt to
support HTTPS connections. This commit adds a hack that can be enabled
with a switch in callbacks.js to try to detect when the user's browser
does not trust the certificate and permit the user to connect to an
insecure endpoint instead.
Unfortunately, the AJAX API does not allow to distinguish between *why*
a request fails, so the best we can do is detect that the HTTPS request
failed, try to make a request over plain HTTP, and if it works, assume
the HTTPS request failed due to a certificate error. It's not 100%
foolproof since the HTTPS endpoint could just be down for some reason,
but it should work well enough in most cases.
Closes #602
2016-07-17 16:30:35 -07:00
Calvin Montgomery
aaa21aad05
Merge pull request #598 from Xaekai/imagestrip
...
Image strip option
2016-07-14 23:44:49 -07:00
Xaekai
aded7b1f38
Allow users to strip images from chat.
2016-07-14 23:37:29 -07:00
Calvin Montgomery
31a392cea9
Merge pull request #599 from calzoneman/improve-cs-emotelist
...
Greatly improve performance of channel settings emote list
2016-07-14 23:26:30 -07:00
calzoneman
29a4834baa
Add a signature to announcements
...
The `from` field has existed for ages, but was never actually displayed.
Displaying it to users reduces confusion about who is making the
announcement.
2016-07-14 23:25:17 -07:00
calzoneman
d01d558ed6
Fill in incomplete CSEmoteList changes
2016-07-12 23:04:07 -07:00
calzoneman
ce260e0f5c
Greatly improve performance of channel settings emote list
...
The channel settings emote list is now paginated and leverages the same
basic code as the emote browser, but with a different renderer. Fixes
#594 and kills an ugly function.
2016-07-11 23:55:07 -07:00
Xaekai
b2b034d9df
Make modflair setting persistent from button too.
2016-07-11 22:14:26 -07:00
Xaekai
5eebd88e13
Move ACP nav entry to templating
...
Closes #516
2016-07-10 23:23:46 -07:00
Xaekai
aa6066dfd5
Reduce the number of places the default theme is hardcoded from 6 to 1.
2016-07-08 19:01:31 -07:00
Xaekai
0aa73a4b14
Add missing formatter entry for vid.me
2016-07-07 23:32:09 -07:00
Xaekai
5896a1c0eb
Add timestamps to polls.
...
Closes #562
2016-07-07 22:56:06 -07:00
calzoneman
6f56862307
Add vidme support ( #568 )
2016-06-25 17:09:48 -07:00
calzoneman
5b9948f709
Omit the connection warning if the socket connected at least once before
2016-06-08 22:58:34 -07:00
calzoneman
6e772c6837
Add partition map reload
2016-06-08 22:54:16 -07:00
calzoneman
7faf2829b2
Improve clientside socket.io connection error reporting
2016-06-07 23:00:50 -07:00
calzoneman
5f773d46c9
Fix poll timestamps with no unit
2016-06-05 23:01:03 -07:00
calzoneman
5a2aa396fe
Fix #575
2016-05-25 17:39:22 -07:00
calzoneman
beb99c5632
Improve UI for new poll timeout entry
...
Resolves #565
2016-05-21 16:52:48 -07:00
calzoneman
0922ce8e66
Remove dead client code
2016-05-21 16:24:41 -07:00
calzoneman
7e623daebb
Fix #573
2016-05-21 16:18:52 -07:00
calzoneman
a00820a4c6
Fix queue progress bar for youtube playlists
2016-05-21 16:13:58 -07:00
calzoneman
75245e4d98
Include video ID in the progress bar to prevent false clears
2016-05-19 21:31:10 -07:00
calzoneman
8ed50d0b08
Add progress bar to the queue
2016-05-19 21:24:06 -07:00
calzoneman
b35b2a6e7e
Clean up ffprobe error reporting
...
The error messages were a bit difficult for users to understand due to a
combination of including useless technical information and lacking
userful user information. The error messages are more verbose now and
give a better indication of what went wrong.
2016-05-19 20:51:39 -07:00
calzoneman
fe37cb198e
Add channelCount metrics
2016-05-19 20:09:35 -07:00