@calzoneman calzoneman released this Sep 1, 2016 · 44 commits to 3.0 since this release

  • Added Google Drive userscript and documentation
  • Added new account chat restrictions (https://github.com/calzoneman/sync/blob/3.0/docs/new-account-chat-restrictions.md)
  • Replaced Twitch.TV flash player with HTML5 embed
  • Fixed a bug causing channels to break when you try to load them while the database is down
  • Added concurrency to channel saves on server shutdown, to speed up shutdowns for servers with higher latency DB connections



@calzoneman calzoneman released this Aug 10, 2016 · 74 commits to 3.0 since this release

  • Added support for streamable.com
  • Added support for HLS livestreams



@calzoneman calzoneman released this Jul 26, 2016 · 85 commits to 3.0 since this release

  • @Xaekai fixed moderator flair state to be saved when toggled using the button in chat
  • Refactored the channel settings emote list to be much more performant
  • Added a hack to detect when a user's browser distrusts Let's Encrypt and allow them to opt-in to connecting to the insecure endpoint
  • @Xaekai added UNIX socket support to the command-line interface -- allows running console commands even when the server is started as a daemon
  • @Xaekai fixed a small bug with the video error reporting



@calzoneman calzoneman released this Apr 1, 2016 · 163 commits to 3.0 since this release


  • [FIX] #548
  • [ENHANCEMENT] Changed the /clean command to fail if no parameters are given, to prevent people from accidentally wiping the entire playlist. You can still clear the whole playlist via the trash button under the video.
  • [ENHANCEMENT] Changed the moderator name color button to be labeled more clearly, to prevent confusion about what it does.



@calzoneman calzoneman released this Mar 26, 2016 · 167 commits to 3.0 since this release


  • [FIX] [#566] ffmpeg module is now smarter about detecting the streams in a file and deciding whether it's an audio or video file. Previously, if the video portion of a file was not supported (e.g. MKV), it would fall through to audio and cause a confusing/incorrect error.
  • [FIX] ffmpeg module now properly follows relative redirects. This fixes confusing behavior where links with relative redirects would result in the error message "links must start with http or https"
  • [FIX] Soundcloud player now properly preserves volume when switching tracks.
  • [ENHANCEMENT] [#560] Added a "Volume" label next to the Soundcloud volume slider to make it more visible.
  • [ENHANCEMENT] [#553] The /clean command is now logged to the channel log. This allows channel admins to audit who is using /clean.



@calzoneman calzoneman released this Aug 7, 2013 · 367 commits to master since this release

  • Add a nice menu to userlist dropdowns for easily changing ranks
  • Merge give/take leader into one button
  • Move playlist lock button to the same button strip as voteskip/get playlist urls
  • Add a volume slider for Soundcloud



@calzoneman calzoneman released this Aug 7, 2013

  • Refactor media lookup
  • Add GDATA v3 API
    • Note: v3 of the YouTube API is only implemented for single video retrieval. For playlists and search, it doesn't return the video length, so I would have to make a second request, which makes it not really worth switching to
  • Support YouTube API v2 developer keys
    • Note: This developer key is applied when available to playlists, searches, and (when enable-ytv3 is set to false) individual videos
  • My Channels interface on Account page
  • List user channels in ACP
  • Allow channel admins to view channel log
  • Log voteskips
  • Log video adds/moves/deletes
  • Custom embed support (iframe and object)
  • Refactor clientside player loader
  • Add setting for wmode=transparent (should fix flashplayer being stuck on top on some browsers)
  • Change "Show Library" to "Show Library/YouTube search"


Stable release of v2.2

@calzoneman calzoneman released this Aug 4, 2013

  • Use paginator.js for ACP
  • Use paginator.js for channel ranks, library/search
  • Instead of SELECT * FROM actionlog, query the action names, and have the client
  • Only record administrator logins for login-success
  • Linewrap index page because people use stupid URLs
  • [FIX]Make voteskips suck less -Move resizing calculation away from #queue
  • [FIX] Check for NO_WEBSOCKETS || USEROPTS.altsocket instead of just NO_WEBSOCKETS
  • [FIX] setAFK italics