Commit Graph

28 Commits

Author SHA1 Message Date
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 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
Calvin Montgomery ac10f05f21 Update ffmpeg loader to work with newer fluent-ffmpeg; fix playlists 2014-06-07 21:25:48 -07:00
Calvin Montgomery d27a8efcb1 Remove debug database print message 2014-05-20 19:33:34 -07:00
Calvin Montgomery 9ea48f58cf Merge refactoring into 3.0 2014-05-20 19:30:14 -07:00
calzoneman fb0533bd94 Convert server definitions to be more flexible 2014-04-11 00:14:52 -05:00
Calvin Montgomery e841196570 Fix #332; add more helpful errors 2014-03-09 11:42:45 -05:00
calzoneman 87b40b679a Refactor database tables init; make 2.x import script 2014-02-08 00:55:45 -06:00
calzoneman 0603a02d2e Finish password recovery 2014-02-01 13:03:08 -06:00
calzoneman 2c6edb38b8 Persist announcements in the database 2014-02-01 12:41:06 -06:00
calzoneman 447a70be98 Add template for database update script, work on password recovery 2014-01-27 18:23:31 -06:00
calzoneman 63055c51a2 Change login timeout 2014-01-25 16:39:16 -06:00
calzoneman 63ed9c7883 Continue work on password reset/recovery 2014-01-24 11:20:16 -06:00
calzoneman 4a2366eb06 Switch config to YAML 2014-01-22 17:11:26 -06:00
calzoneman 0a2dd6cbbe Update package.json 2014-01-21 23:29:26 -06:00
calzoneman c213dd1374 Initialize global database tables 2013-12-26 22:15:54 -05:00
calzoneman 47af1d4892 More database refactoring 2013-12-13 20:39:21 -06:00
calzoneman fe00fb8c83 Refuctor channel related db functions 2013-12-13 18:52:13 -06:00
calzoneman db5dcf86f7 Start refactoring database channels 2013-12-13 11:18:50 -06:00
calzoneman a14363a845 More refactoring 2013-12-12 17:09:49 -06:00
calzoneman cfd1b0618d Do a bit of intermediate database work 2013-12-12 16:28:30 -06:00
calzoneman a821498298 Begin the long process of refactoring the database 2013-12-11 22:20:21 -06:00
calzoneman 22ba96b9fd Prevent registration race condition 2013-11-05 22:39:51 -06:00
calzoneman 95c2118740 Make it impossible to ever lose rank when logging in 2013-10-14 18:15:36 -05:00
calzoneman 128367bfc4 Do some server refactoring 2013-10-09 18:10:26 -05:00
calzoneman 6bf11a57b3 Generalize background tasks, rework aliases a bit 2013-09-26 23:36:00 -05:00
calzoneman f7e968a13c Alter channel unload behavior, add additional checks
- Should prevent "write after end" errors caused by unloading a channel before it finishes loading
- Might prevent strange cases of playlists gone wild
2013-09-08 17:43:30 -05:00
calzoneman 7840fa35e8 Move server files to lib/ to clean up root directory 2013-09-05 13:48:05 -05:00