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.
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
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.
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.
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).
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.