Commit Graph

102 Commits

Author SHA1 Message Date
calzoneman 80c4c90bcf Migrate old MOTDs and don't replace \n with <br> after 2015-01-08 20:07:02 -06:00
Calvin Montgomery 1c3a669279 Replace XSS filter with sanitize-html 2015-01-08 20:07:01 -06:00
Erik 4135ec0bf8 Kick/Mute immunity should only be if globalRank is strictly greater 2015-01-08 09:58:44 -05:00
Calvin Montgomery 032f600746 Kick/Mute immunity should only be if globalRank is strictly greater 2015-01-08 08:48:00 -05:00
Erik 5d843358d2 site admins should be immune from kick/mute 2015-01-06 22:55:14 -05:00
Calvin Montgomery bf70d2760b Log when a video is added 2015-01-03 16:03:15 -05:00
Calvin Montgomery 829cc090fa Use graceful-fs to maybe prevent EMFILE 2015-01-02 23:22:48 -05:00
Calvin Montgomery 25eba6ab2b Improve filter handling code 2014-12-28 11:12:37 -05:00
Calvin Montgomery aa5e50f1d2 Cytubefilters, part 1 2014-12-27 01:39:30 -05:00
Calvin Montgomery 709724efd4 Warn moderators when a channel exceeds size limit
When the chandump is saved, the size of the file is checked.  If it is over the limit, moderators are displayed a message indicating that the channel is too large and they should remove extra playlist items, filters, and/or emotes.

This is a partial solution for #421.
2014-12-26 11:19:19 -05:00
Calvin Montgomery 9deff9bdb1 Change charset for certain fields to utf8mb4
The underlying cause of #419 is the default utf8 collation in MySQL/MariaDB, which only supports the base plane of Unicode (\u0000-\uffff).  By changing the collation to utf8mb4_general_ci, stuff like ban reasons and profile text may have emoji and other non-base-plane Unicode.

The charset for playlist titles is NOT changed, and non-base-plane characters are replaced by question marks.  This is because switching to utf8mb4 would make the primary key too long.
2014-12-14 21:53:25 -05:00
calzoneman a3a9fa074e Improve behavior of custom embed w.r.t. https
Instead of silently failing when browser policy blocks HTTP embeds over HTTPS, pre-fill the video div with an error message and attempt to salvage the link with s/http/https/g.
2014-12-10 23:56:17 -06:00
calzoneman 2b800f2a9a Hopefully fix typecheckedOn bug 2014-12-07 00:08:53 -06:00
calzoneman b587da6701 Several fixes
- User playlists should now list correctly (fixed a race condition)
  - Livestream types can autoplay (no longer stuck at currentTime = -3)
  - Playlist items with NaN duration do not break user playlist saving
  - ffmpeg support can handle live media (e.g. icecast)
  - Invalid volume is sanitized and an error message is added
  - JWPlayer displays correctly for both HTML5 and Flash
  - JWPlayer volume synchronization is fixed
  - <audio> and <video> tags are scaled correctly with .embed-responsive-item
2014-12-02 22:21:52 -06:00
calzoneman 318a924b6d Extend blacklist to PMs 2014-10-29 15:07:57 -05:00
calzoneman 575b762ba1 Fix kick behavior 2014-10-25 22:49:22 -05:00
calzoneman 6e0735f3fe Update to socket.io 1.0 2014-10-24 10:23:30 -05:00
calzoneman 4505ca19da Auto unpause after leader is removed 2014-10-07 23:01:36 -05:00
calzoneman e13e695077 Allow limiting # items per user 2014-10-06 11:32:25 -05:00
calzoneman 309e5d8b46 Doing it live 2014-09-13 00:01:54 -05:00
calzoneman d2027d2e5a Fix /unmute with empty name 2014-09-12 11:49:30 -05:00
calzoneman 2b60ab8e10 Add permission for #402; fix a strange jwplayer issue 2014-09-06 22:59:28 -05:00
calzoneman 71114b0060 Fix: don't search channel library if rank < seeplaylist 2014-09-04 20:53:18 -05:00
calzoneman ea9fa0a95a Fix /smute with 0 args throwing error 2014-09-02 16:46:53 -05:00
calzoneman 12447ce5dc Give up early if username is invalid for rank change 2014-09-01 20:33:11 -05:00
calzoneman 91c24518c5 Conditionally allow ASCII characters (for Xaekai) 2014-08-29 16:38:57 -05:00
calzoneman 7002874bbb Minor fix for messages with spaces only 2014-08-29 15:49:32 -05:00
calzoneman 484b695965 Disallow ASCII control characters in messages 2014-08-29 15:47:56 -05:00
calzoneman 7b00ba10b9 Fixes at Xaekai's request 2014-08-27 18:45:11 -05:00
calzoneman c8684d58ed Fix handling of /mute with no name 2014-08-22 10:52:15 -05:00
calzoneman c2ba55ac0f Fail /kick, /ban if the target name is blank 2014-08-18 22:00:51 -05:00
calzoneman b82583a79c Remove IP leak from ban log message 2014-08-14 22:07:06 -05:00
calzoneman 722c55e0da Remove reference to maskIP 2014-08-14 21:50:34 -05:00
calzoneman 8fddbc3e6e Add IP cloaking; make tor bans channel specific 2014-08-14 21:42:13 -05:00
Erik ef921b1f96 Fix logging of customizations 2014-08-09 14:41:12 -04:00
Calvin Montgomery b7edfc31f9 Fix for google docs changing their video player: 2014-08-06 20:12:57 -07:00
Calvin Montgomery 59dd733219 Fix null reference bug 2014-08-02 19:15:49 -07:00
Calvin Montgomery 84a07030d0 Disallow cloning playlist if user doesn't have seeplaylist permission 2014-08-02 19:12:09 -07:00
Calvin Montgomery d9f5c551e3 Fix TypeError due to race condition 2014-07-20 19:36:29 -07:00
Calvin Montgomery 79bb6a96cd Fix exception 2014-07-14 21:13:45 -07:00
Calvin Montgomery 565e490078 Fix setFlag/waitFlag edge case that was causing duplicate joins 2014-07-13 12:23:04 -07:00
Calvin Montgomery e6d6e3391e Don't log gdocs 'exceeded quota' errors to error.log 2014-07-13 11:33:10 -07:00
Calvin Montgomery 1e38b05800 Fix minor issue 2014-07-13 11:15:56 -07:00
Calvin Montgomery c213eb2f31 Minor fix 2014-07-12 18:39:48 -07:00
Calvin Montgomery b6a1dd8cb3 Send onMediaChange (fixes voteskip stuff) 2014-07-11 21:09:28 -07:00
Calvin Montgomery b28fd9e4a8 Add permission for /clear and log it 2014-07-10 20:03:47 -07:00
Calvin Montgomery c7ef76c518 Minor change 2014-07-10 19:54:26 -07:00
Calvin Montgomery 0f11615a1f Increment version number 2014-07-10 19:52:16 -07:00
Calvin Montgomery 1c77a24839 Fix activeLock bug 2014-07-09 22:37:11 -07:00
Calvin Montgomery f92d4bc5d4 Fix vimeo with no vimeo-workaround 2014-07-09 22:15:14 -07:00