2013-10-07 15:04:08 +00:00
|
|
|
Mon Oct 07 10:02 2013 CDT
|
|
|
|
* lib/channel.js: Fix several cases where an unregistered channel
|
|
|
|
might attempt to make a database call which then fails.
|
|
|
|
|
2013-10-07 05:10:16 +00:00
|
|
|
Mon Oct 07 00:08 2013 CDT
|
|
|
|
* lib/playlist.js: Fix /clean not behaving properly (actually was a
|
|
|
|
consequence of the remove() function)
|
|
|
|
* lib/get-info.js: Send more specific error messages
|
|
|
|
* www/assets/js/callbacks.js: Minor fix to the queueFail callback
|
|
|
|
|
2013-10-06 06:43:25 +00:00
|
|
|
Sun Oct 06 01:42 2013 CDT
|
|
|
|
* lib/channel.js, www/assets/js/callbacks.js: Include the link that
|
|
|
|
failed with the queueFail packet. Clicking the "+ n more" tag
|
|
|
|
shows all links that failed for stacked messages
|
|
|
|
* lib/utilities.js: Add a formatLink function
|
|
|
|
|
2013-10-06 01:42:15 +00:00
|
|
|
Sat Oct 05 20:41 2013 CDT
|
|
|
|
* lib/user.js: Fix a bug where duplicate guestnames were allowed with
|
|
|
|
different capitalizations
|
|
|
|
|
2013-10-04 03:11:47 +00:00
|
|
|
Thu Oct 03 22:09 2013 CDT
|
|
|
|
* www/assets/js/ui.js: Use sortable("cancel") to remove the need for
|
|
|
|
the `moveby` field of the movement packet
|
|
|
|
* www/assets/js/util.js, www/assets/js/callbacks.js, lib/channel.js:
|
|
|
|
Remove references to moveby
|
|
|
|
|
2013-10-04 03:07:44 +00:00
|
|
|
Thu Oct 03 22:05 2013 CDT
|
|
|
|
* lib/channel.js, lib/playlist.js: Fix 'next' bumping not properly
|
|
|
|
telling clients that the old item was deleted
|
|
|
|
|
2013-10-03 03:26:28 +00:00
|
|
|
Wed Oct 02 22:25 2013 CDT
|
|
|
|
* www/channel.html, www/assets/js/ui.js, www/assets/js/callbacks.js:
|
|
|
|
Add a small toggle for the MOTD
|
|
|
|
|
2013-10-02 14:37:13 +00:00
|
|
|
Wed Oct 02 09:35 2013 CDT
|
|
|
|
* lib/channel.js: Fix the use of the wrong variable when checking for
|
|
|
|
maximum video length
|
|
|
|
|
2013-10-02 04:02:31 +00:00
|
|
|
Tue Oct 01 22:57 2013 CDT
|
|
|
|
* lib/asyncqueue.js: Add a generalized queue class for queueing async
|
|
|
|
functions to execute in order
|
|
|
|
* lib/channel.js, lib/playlist.js: Clean up playlist addition/move/
|
|
|
|
deletion. Should fix #285.
|
|
|
|
* lib/server.js: Fix announcement initialization to null
|
|
|
|
* tests/naokosimulator2013.js: Add a simple bot that authenticates
|
|
|
|
and vomits a giant list of videos into a channel
|
|
|
|
* www/assets/js/callbacks.js, www/assets/js/util.js: Clean up
|
|
|
|
playlist add/move/delete
|
|
|
|
* www/assets/js/data.js: Update CL_VERSION which I always forget
|
|
|
|
to do.
|
|
|
|
* www/assets/js/ui.js: Small fix to comply with server changes
|
|
|
|
|
2013-09-30 02:32:04 +00:00
|
|
|
Sun Sep 29 21:30 2013 CDT
|
|
|
|
* lib/get-info.js: Add an extra check to ytv2 to make sure embedding is
|
|
|
|
allowed. If not, send a queueFail.
|
|
|
|
|
2013-09-27 15:28:48 +00:00
|
|
|
Fri Sep 27 10:27 2013 CDT
|
|
|
|
* lib/channel.js: Change the link regex, change the way 'affects links'
|
|
|
|
works. The default link filter will only transform a link of no
|
|
|
|
previous filters transform it (and filters will only transform a link
|
|
|
|
if 'affects links' is ticked).
|
|
|
|
|
2013-09-27 04:41:38 +00:00
|
|
|
Thu Sep 26 23:40 2013 CDT
|
|
|
|
* lib/config.js: Add config keys for statistics interval & max age,
|
|
|
|
alias purge interval & max age.
|
|
|
|
* lib/bgtask.js: Update intervals to reflect new config keys
|
|
|
|
|
2013-09-27 04:36:00 +00:00
|
|
|
Thu Sep 26 23:33 2013 CDT
|
|
|
|
* lib/stats.js: Remove this file, move the statistics tracking
|
|
|
|
interval to the new bgtask.js
|
|
|
|
* lib/bgtask.js: Generalize background tasks to this module. Add
|
|
|
|
tasks for statistics tracking and clearing old aliases.
|
|
|
|
* lib/database.js: Modify the way aliases work a bit. Rather than
|
|
|
|
constantly deleting to keep 5 aliases per person, have a function
|
|
|
|
that is periodically called to delete aliases more than one month old,
|
|
|
|
and have the listAliases function explicitly sort and request the most
|
|
|
|
recent 5 aliases.
|
|
|
|
* lib/server.js: Update references accordingly
|
|
|
|
|
2013-09-27 04:10:00 +00:00
|
|
|
Thu Sep 26 23:08 2013 CDT
|
|
|
|
* lib/acp.js, lib/api.js, lib/server.js, lib/stats.js, www/acp.html,
|
|
|
|
www/assets/js/acp.js: Remove the [realtime] 'connection stats'
|
|
|
|
tracking that was pretty worthless anyways.
|
|
|
|
|
2013-09-27 02:43:38 +00:00
|
|
|
Thu Sep 26 21:42 2013 CDT
|
|
|
|
* www/assets/js/player.js: Keep track of the duration of the current
|
|
|
|
video and use this information to prevent the player restarting when
|
|
|
|
it receives an out of range timestamp
|
|
|
|
|
2013-09-26 18:29:36 +00:00
|
|
|
Thu Sep 26 13:29 2013 CDT
|
|
|
|
* lib/user.js: Some code style cleanup
|
|
|
|
|
2013-09-26 18:18:37 +00:00
|
|
|
Thu Sep 26 13:17 2013 CDT
|
|
|
|
* lib/user.js: A few minor cleanups to login functions
|
|
|
|
* lib/api.js: Pass the login failure reason to the action log
|
|
|
|
|
2013-09-24 20:19:40 +00:00
|
|
|
Tue Sep 24 15:18 2013 CDT
|
|
|
|
* www/assets/js/callbacks.js: Double fix search result buttons because
|
|
|
|
the paginator was being duplicated
|
|
|
|
|
2013-09-24 18:46:41 +00:00
|
|
|
Tue Sep 24 13:45 2013 CDT
|
|
|
|
* lib/acp.js: Emit announcements to SSL sockets in addition to regular
|
|
|
|
ones.
|
|
|
|
|
2013-09-24 18:19:41 +00:00
|
|
|
Tue Sep 24 13:15 2013 CDT
|
|
|
|
* www/assets/js/callbacks.js: Instantiate a new paginator for every
|
|
|
|
search result- prevents buttons being incorrectly added or omitted.
|
|
|
|
|
2013-09-23 21:25:45 +00:00
|
|
|
Mon Sep 23 16:22 2013 CDT
|
|
|
|
* lib/user.js: distinguish search result return packets with a 'source'
|
|
|
|
field that specifies where the item came from (e.g 'yt' for youtube
|
|
|
|
search, 'library' for library search)
|
|
|
|
* www/assets/js/callbacks.js: account for the change in lib/user.js
|
|
|
|
which adds a 'source' field to library search results
|
|
|
|
* www/assets/js/util.js: don't add delete buttons for youtube search
|
|
|
|
results. Apparently people keep clicking them...
|
|
|
|
|
2013-09-22 04:54:29 +00:00
|
|
|
Sat Sep 21 23:53 2013 CDT
|
|
|
|
* lib/playlist.js, www/assets/js/player.js: Modify the server lead
|
|
|
|
function to have a 3 second lead-in period (to allow buffering).
|
|
|
|
Videos start at -3 seconds; the client is paused until the time
|
|
|
|
reaches 0 seconds.
|
|
|
|
|
2013-09-21 07:22:51 +00:00
|
|
|
Sat Sep 21 02:21 2013 CDT
|
|
|
|
* www/assets/js/ui.js, www/assets/js/ui.js, www/assets/js/util.js,
|
|
|
|
www/channel.html, www/assets/css/ytsync.css: Add quick buttons for
|
|
|
|
modflair and adminflair
|
|
|
|
|
2013-09-21 05:30:47 +00:00
|
|
|
Sat Sep 21 00:29 2013 CDT
|
|
|
|
* www/assets/js/util.js: support a "Nobody" permission level (set
|
|
|
|
arbitrarily high)
|
|
|
|
|
2013-09-21 05:25:00 +00:00
|
|
|
Sat Sep 21 00:23 2013 CDT
|
|
|
|
* www/assets/js/callbacks.js, www/assets/css/ytsync.css: make it more
|
|
|
|
obvious which option was voted for
|
|
|
|
|
2013-09-21 05:10:22 +00:00
|
|
|
Sat Sep 21 00:08 2013 CDT
|
|
|
|
* lib/playlist.js: Make .clean(filter) an instance method
|
|
|
|
* lib/chatcommand.js: Make a few minor changes to unbibium's /clean
|
|
|
|
|
2013-09-18 23:27:42 +00:00
|
|
|
Wed Sep 18 18:26 2013 CDT
|
|
|
|
* lib/user.js: Change channel checks to include checking for whether
|
|
|
|
the channel is dead
|
|
|
|
|
2013-09-18 23:16:12 +00:00
|
|
|
Wed Sep 18 18:14 2013 CDT
|
|
|
|
* lib/channel.js: Add a bunch of checks to prevent callbacks from doing
|
|
|
|
things with a dead channel
|
|
|
|
* tests/channelDeadRace.js: Add a few client tests that cause exceptions
|
|
|
|
in the pre-patched channel code
|
|
|
|
|
2013-09-18 03:26:44 +00:00
|
|
|
Tue Sep 17 22:24 2013 CDT
|
|
|
|
* lib/user.js: Fix what I assume was a race condition that caused an error message
|
|
|
|
when a user's login callback fired after the channel unloaded.
|
|
|
|
|
2013-09-17 18:19:33 +00:00
|
|
|
Tue Sep 17 13:16 2013 CDT
|
|
|
|
* lib/get-info.js: Fix ustream for channels that have /channel/ in the
|
|
|
|
path.
|
|
|
|
|
2013-09-13 15:24:54 +00:00
|
|
|
Fri Sep 13 10:10 2013 CDT
|
|
|
|
* www/reset.html: Fix data.js dependency
|
|
|
|
* lib/api.js: Fix ActionLog trying to record wrong data. How long has
|
|
|
|
this been broken?
|
|
|
|
* www/assets/js/acp.js: Prepend "/reset.html?" in case admins can't
|
|
|
|
remember what the URL is
|
|
|
|
|
2013-09-12 23:42:22 +00:00
|
|
|
Thu Sep 12 18:41 2013 CDT
|
|
|
|
* www/index.html: Fix index page not showing public channels
|
|
|
|
|
2013-09-12 21:26:45 +00:00
|
|
|
Thu Sep 12 16:25 2013 CDT
|
|
|
|
* lib/channel.js: Fix an error resulting from calcVoteskipMax being run
|
|
|
|
when the usercount is 0
|
|
|
|
|
2013-09-12 18:03:04 +00:00
|
|
|
Thu Sep 12 13:01 2013 CDT
|
|
|
|
* lib/channel.js: Fix the XSS filter hack that allows style attributes
|
|
|
|
to allow more than one in a chat filter replacement
|
|
|
|
|
2013-09-12 03:16:56 +00:00
|
|
|
Wed Sep 11 22:13 2013 CDT
|
|
|
|
* lib/channel.js, lib/user.js: Remove "afkers" array, replace afkcount
|
|
|
|
with a function that calculates how many users are eligible to
|
|
|
|
voteskip (not AFK + have permission). Check permission before
|
|
|
|
allowing voteskip
|
|
|
|
* lib/api.js: Replace "afkcount" in /api/channels/:channel with
|
|
|
|
voteskip_eligible
|
|
|
|
* www/assets/js/util.js: Add a permissions option for voteskip
|
|
|
|
|
2013-09-12 01:22:00 +00:00
|
|
|
Wed Sep 11 20:19 2013 CDT
|
|
|
|
* lib/poll.js: Add support for hidden polls
|
|
|
|
* lib/channel.js: Check permissions for viewing hidden polls
|
|
|
|
* lib/chatcommand.js: Add /hpoll for opening hidden polls
|
|
|
|
* www/assets/js/util.js: Update poll interface to include a checkbox
|
|
|
|
for whether or not to hide a poll. Update permissions interface to
|
|
|
|
allow for changing the permission to view obscured polls.
|
|
|
|
|
2013-09-11 03:43:43 +00:00
|
|
|
Tue Sep 10 22:40 2013 CDT
|
2013-10-02 04:05:02 +00:00
|
|
|
* www/account.html, www/acp.html, www/login.html:
|
2013-09-11 03:43:43 +00:00
|
|
|
Import www/assets/js/data.js for easy access to user preferences
|
|
|
|
* www/assets/js/account.js, www/assets/js/acp.js: remove redundant
|
|
|
|
cookie util functions
|
|
|
|
* www/assets/js/data.js, www/assets/js/util.js, www/assets/js/iourl.js:
|
|
|
|
Add a user option to enable SSL for websockets and API calls
|
|
|
|
* www/assets/js/ui.js: Add a warning if the user loaded the page over
|
|
|
|
SSL (because some media players throw warnings and others don't work
|
|
|
|
at all (Twitch.tv, Justin.tv: go eat a dick)
|
|
|
|
* www/assets/js/player.js: Prevent race conditions for media types that
|
|
|
|
depend on swfobject
|
|
|
|
|
2013-09-10 22:18:02 +00:00
|
|
|
Tue Sep 10 17:17 2013 CDT
|
|
|
|
* www/assets/js/player.js: Fix loading over SSL for everything except
|
|
|
|
TwitchTV and JustinTV
|
|
|
|
|
2013-09-10 21:45:43 +00:00
|
|
|
Tue Sep 10 16:45 2013 CDT
|
|
|
|
* lib/channel.js: Don't attempt to emit to SSL sockets if it's disabled
|
|
|
|
|
2013-09-10 21:34:39 +00:00
|
|
|
Tue Sep 10 16:34 2013 CDT
|
|
|
|
* www/channel.html, www/assets/js/jwplayer.js: Cache jwplayer script
|
|
|
|
locally since their server doesn't support SSL
|
|
|
|
|
2013-09-10 21:11:35 +00:00
|
|
|
Tue Sep 10 16:10 2013 CDT
|
|
|
|
* lib/server.js, lib/api.js: Implicitly trust X-Forwarded-For when the
|
|
|
|
source ip is 127.0.0.1
|
|
|
|
|
2013-09-10 19:10:30 +00:00
|
|
|
Tue Sep 10 14:09 2013 CDT
|
|
|
|
* lib/config.js, lib/server.js: Add a config key for the passphrase
|
|
|
|
to the ssl key.
|
|
|
|
|
2013-09-10 03:11:24 +00:00
|
|
|
Mon Sep 9 22:10 2013 CDT
|
|
|
|
* lib/acp.js: Change acp-channel-unload callback to duplicate the list
|
|
|
|
of users in the channel to prevent concurrent modification while
|
|
|
|
kicking
|
|
|
|
* lib/channel.js: As an extra precaution, set user.channel = null after
|
|
|
|
kicking a user
|
|
|
|
|
2013-09-09 22:16:41 +00:00
|
|
|
Mon Sep 9 17:11 2013 CDT
|
|
|
|
* lib/server.js: If SSL is enabled in config, create an additional
|
|
|
|
server listening with SSL for websockets and HTTPS traffic
|
|
|
|
* lib/config.js: Add config keys for SSL
|
|
|
|
* lib/channel.js: Broadcast messages to both regular and SSL sockets
|
|
|
|
* www/assets/js/iourl.js: Add SSL_URL and automatically set WEB_URL and
|
|
|
|
IO_URL to SSL_URL when the protocol is HTTPS
|
|
|
|
* www/assets/js/callbacks.js: Automatically set the secure option on
|
|
|
|
io.connect()
|
2013-09-10 18:51:47 +00:00
|
|
|
* www/assets/js/ui.js, www/index.html, www/channel.html: Fix links to
|
2013-09-09 22:16:41 +00:00
|
|
|
be dependent on the protocol
|
|
|
|
|
2013-09-08 22:43:30 +00:00
|
|
|
Sun Sep 8 17:41 2013 CDT
|
|
|
|
* lib/server.js: Change behavior of unloadChannel - deletes all object
|
|
|
|
keys in the channel object and then sets channel.dead = true
|
|
|
|
* lib/channel.js: Add extra checks in callbacks to ensure certain things
|
|
|
|
don't happen if the channel is dead
|
|
|
|
* lib/playlist.js: Add extra checks to kill the playlist if the channel
|
|
|
|
it is associated with is dead
|
|
|
|
* lib/database.js: Add extra checks to prevent loading channel data into
|
|
|
|
a dead channel object
|
|
|
|
* tests/fastQuit.js: A simple script to open a connection, join a
|
|
|
|
channel, and disconnect immediately to test for race conditions
|
|
|
|
|
2013-09-08 04:40:25 +00:00
|
|
|
Sat Sep 7 23:38 2013 CDT
|
|
|
|
* lib/user.js: Add "loggingIn" field to act as a lock on async logins.
|
|
|
|
Delay further login attempts until the current login attempt finishes.
|
|
|
|
Should prevent cases where sending multiple logins quickly in
|
|
|
|
succession caused race conditions and thus odd "duplicate login"
|
|
|
|
kicks.
|
|
|
|
|
2013-09-07 20:44:57 +00:00
|
|
|
Sat Sep 7 15:43 2013 CDT
|
|
|
|
* lib/channel.js, lib/user.js: Add an extra check for channel.users[i]
|
|
|
|
to write an error message (instead of kicking) when the same user that
|
|
|
|
is connecting is the one being kicked.
|
|
|
|
|
2013-09-06 21:30:20 +00:00
|
|
|
Fri Sep 6 16:29 2013 CDT
|
|
|
|
* lib/config.js: Add an io-host option to allow binding socket.io to
|
|
|
|
a different IP than the webserver
|
|
|
|
|
2013-09-06 20:53:23 +00:00
|
|
|
Fri Sep 6 15:51 2013 CDT
|
|
|
|
* lib/utilities.js: Tweak the throttle code for rate limiters to fix
|
|
|
|
incorrect behavior of the burst cap after the cooldown period has
|
|
|
|
been passed
|
|
|
|
* tests/rateLimiter.js: Write a couple quick test cases to ensure that
|
|
|
|
rate limiting is handled properly
|
|
|
|
|
2013-09-06 03:54:30 +00:00
|
|
|
Thu Sep 5 22:52 2013 CDT
|
|
|
|
* www/assets/js/callbacks.js: Disable the channel registration button
|
|
|
|
and change its text while a registration attempt is being processed
|
|
|
|
(prevents DB errors from impatient people spamming the button)
|
|
|
|
(addresses Issue #276 <Remove register channel button after click> )
|
|
|
|
|
2013-09-05 18:48:05 +00:00
|
|
|
Thu Sep 5 13:45 2013 CDT
|
|
|
|
* acp.js, actionlog.js, api.js, channel.js, chatcommand.js, config.js,
|
|
|
|
customembed.js, database.js, filter.js, get-info.js, logger.js,
|
|
|
|
media.js, notwebsocket.js, playlist.js, poll.js, rank.js, server.js,
|
|
|
|
stats.js, ullist.js, user.js, utilities.js: move server
|
|
|
|
files into lib/ folder to clean up the root directory of the project.
|
|
|
|
* api.js: replace regex with $util.isValidChannelName (L68);
|
|
|
|
fix relative file paths (per moving api.js to lib/)
|
|
|
|
* server.js: fix relative file paths
|
|
|
|
* channel.js: fix relative file paths
|
|
|
|
|
2013-09-05 03:46:50 +00:00
|
|
|
Wed Sep 4 22:45 2013 CDT
|
|
|
|
* changelog: initialize changelog file
|
|
|
|
|
|
|
|
Wed Sep 4 17:47 2013 CDT
|
|
|
|
* www/assets/js/data.js: add CHANNEL.usercount variable
|
|
|
|
* www/assets/js/callbacks.js: update CHANNEL.usercount variable when
|
|
|
|
the usercount changes
|
|
|
|
* www/assets/js/util.js: add "Anonymous" to the usercount breakdown
|
|
|
|
display (addresses Issue #270 <Suggestion: Put Mute button on Right
|
|
|
|
click menu + anon count>)
|
|
|
|
|
|
|
|
Changelog established on Wed Sep 4 2013
|