Calvin Montgomery
c39c394f36
Add auto DB conversion for utf8mb4
2014-12-14 21:53:25 -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
Calvin Montgomery
4b8681c2a4
Don't break if the profile is corrupt
2014-12-14 21:53:25 -05:00
calzoneman
e8a2753e19
Don't log HTTP 413, just send it to the client and be done
2014-12-12 17:35:57 -06: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
918b865a9b
Slight tweak to urlRetrieve error handler
2014-12-04 00:42:25 -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
2f2ed8aaf9
Fix Twitch not working on HTTPS and allow HTTPS channel page
2014-11-24 19:24:47 -06:00
calzoneman
da2d461941
Fix caching and add gzip
2014-11-16 21:06:10 -06:00
calzoneman
4514151ad2
Add a better error message for google drive 1hr
2014-11-13 20:08:01 -06:00
calzoneman
681fc717c3
Fix google+
2014-11-03 12:56:15 -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
4967e46343
Fix socket.io issue; fix ACP announcements
2014-10-24 10:24:02 -05:00
calzoneman
289807535a
Typo
2014-10-24 10:24:02 -05:00
calzoneman
b4bcb7637b
Reject sockets with no IP
2014-10-24 10:24:02 -05:00
calzoneman
50dd0982a4
Fix IP extraction for socket.io
2014-10-24 10:24:02 -05:00
calzoneman
6e0735f3fe
Update to socket.io 1.0
2014-10-24 10:23:30 -05:00
calzoneman
029fa62af2
Don't log errors for bad http requests
2014-10-12 11:36:54 -05:00
calzoneman
fa85030524
Fix borrow-rank
2014-10-09 20:46:16 -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
731ab3f9a5
Ok this should actually fix it
2014-09-11 19:00:27 -05:00
calzoneman
2ea9dbcb75
Fix IP address race condition for logging
2014-09-11 18:56:33 -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
66865f718c
Fix Error: Requested Range Not Satisfiable
2014-09-01 14:36:24 -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
b3c3ee93ce
Hopefully fix an error case
...
I have no idea why it's possible for sock.handshake to be defined and then undefined
2014-08-21 14:37:40 -05:00
calzoneman
edac89b204
Fix x-forwarded-for resolution in http logging
2014-08-20 10:56:36 -05:00
calzoneman
088c547522
Update dependencies - execute npm update && npm rebuild after pulling
2014-08-19 22:27:59 -05:00
calzoneman
ae42ac9c56
Remove ghost httpaccess.log file
2014-08-19 00:52:50 -05:00
calzoneman
6dfeab9657
Update rest of dependencies
2014-08-19 00:46:30 -05:00
calzoneman
4eb81a84d9
Update nodemailer, yamljs, q
2014-08-19 00:36:31 -05:00
calzoneman
c693e84a46
Update bcrypt and fix a deprecated reference in auth
2014-08-19 00:25:36 -05:00
calzoneman
020e2326b5
Replace own static and log functions with serve-static and morgan
2014-08-19 00:21:32 -05:00
calzoneman
5f7adc98ba
Update express dependency
2014-08-19 00:07:24 -05:00
calzoneman
c2ba55ac0f
Fail /kick, /ban if the target name is blank
2014-08-18 22:00:51 -05:00
Calvin Montgomery
5d624fa49f
Merge pull request #396 from calzoneman/ipcloak
...
Change IP masking
2014-08-15 11:43:56 -05:00
calzoneman
0f2b93e5c5
Increment version number
2014-08-15 11:41:09 -05:00
calzoneman
3446eb5357
Add Google Docs checks for missing duration/title
2014-08-15 00:27:51 -05:00