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
calzoneman
59c7571ad5
Fix emote click-to-insert behavior
2016-05-04 20:52:55 -07:00
calzoneman
72bd3e4c98
Add localStorage flag for connecting to alt server list
2016-04-26 21:57:11 -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
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
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
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
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
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
865a7453d9
Undo HD layout before applying synchtube, fluid ( #549 )
2016-01-03 22:53:29 -08:00
calzoneman
04ffda7a20
Fix race condition in Chrome ( #547 )
...
When the changeMedia frame loads a new Google Drive video, @yt is still
set from before and moreover @yt.ready is still true, so calling play()
can result in a TypeError if the new embed hasn't loaded yet (this
seemed to happen consistently in Chrome and I was unable to make it
happen in Firefox).
2015-12-21 17:23:48 -08:00
calzoneman
5a2ef2d24d
Minor fixes for queueWarn
2015-12-20 22:35:24 -08:00
calzoneman
176d4cb06f
Show custom title UI for `fi:` override ( #523 )
2015-12-13 11:18:46 -08:00
calzoneman
432ee7bc30
Add warning for inline CSS too large ( fixes #538 )
2015-12-12 16:49:40 -08:00
calzoneman
11d4c4ca62
Reject blank emote names and images
2015-12-05 18:52:39 -08:00
calzoneman
889fb6595f
Add buffer zone to consider scrolling 'caught up'
2015-12-05 18:05:23 -08:00
calzoneman
b0d5e92350
Fix autoscrolling changes
2015-12-05 17:57:33 -08:00
calzoneman
3c5d36919b
Fix positioning and background color of new message indicator
2015-11-29 10:29:56 -08:00
calzoneman
23f39ab2f5
Improve chat autoscroll behavior
...
The previous behavior (don't autoscroll if the mouse is over the chat
area) was not intuitive and caused problems for people in chat only
mode, which led to a lot of people assuming that it was a glitch.
This change introduces the following behavior:
* Hovering over chat no longer affects autoscroll.
* Scrolling up in chat turns off autoscroll.
* Scrolling to the bottom of the chatbox resumes autoscroll.
* If a new message is added while autoscroll is off, a "New Messages
Below" indicator is added to the bottom of the chatbox.
2015-11-29 09:49:21 -08:00
calzoneman
5c50e93458
Use VideoJS for RTMP ( #532 )
2015-11-08 19:51:17 -08:00
calzoneman
f9e1d329e4
Remove reference to IO_URL in error handler
...
Referenced in #527
2015-11-06 20:03:01 -08:00
calzoneman
5ead24e45e
Merge branch '3.0' into web-refactoring
2015-11-02 21:07:50 -08:00
calzoneman
44745d86ac
Fix for Wii U browser
...
Apparently it doesn't send the login cookie if you explicitly set the
socket.io transports to prefer websockets. Magic.
2015-10-29 20:50:10 -07:00
calzoneman
26e8660af4
Change /logout from GET to POST ( #515 )
2015-10-26 23:21:09 -07:00
calzoneman
566e932e7e
Reset LASTCHAT when chat is cleared
2015-10-25 17:31:04 -07:00
calzoneman
21c3a1b3cd
API changes, add documentation
2015-10-25 17:20:39 -07:00
calzoneman
7b5476874d
Minor function change
2015-10-21 20:56:09 -07:00
calzoneman
40e2a608f6
Initial sioconfig migration work
2015-10-19 22:32:00 -07:00
calzoneman
dacda65961
Prevent unnecessary duplicate profile boxes
2015-10-19 20:28:33 -07:00
calzoneman
6ed7ca8dbb
Upgrade to video.js 5.0
2015-10-17 18:45:13 -07:00
Calvin Montgomery
9f4461a779
Merge pull request #507 from calzoneman/channel-store
...
Refactor channel storage to allow database store
2015-10-04 23:22:05 -07:00
calzoneman
81cbfc0639
Merge branch '3.0' into channel-store
2015-09-30 21:58:03 -07:00
calzoneman
7875dbdf4a
Handle 'best' quality preference in VideoJSPlayer
2015-09-30 18:26:23 -07:00
calzoneman
b2a4afd9ff
Merge www/js/player.js from gdrive-youtube
2015-09-26 20:00:07 -07:00
calzoneman
5ec9c2b029
Start refactoring channel storage
2015-09-23 21:56:04 -07:00
calzoneman
3356a55fbd
Fix modal issue
2015-09-16 20:20:51 -07:00
calzoneman
c81ae989fd
Add auth_timeout parameter
2015-09-16 00:04:34 -07:00
calzoneman
bfe36e8150
Hack YouTube flash player for Google Drive
2015-09-15 23:32:01 -07:00
calzoneman
de02cdbeff
Intelligently split link lists to allow URLs with commas
2015-08-19 23:27:05 -07:00
calzoneman
6f7b34f644
Minor fixes to source quality sorting
2015-08-03 19:02:56 -07:00