Commit Graph

375 Commits

Author SHA1 Message Date
calzoneman 432ee7bc30 Add warning for inline CSS too large (fixes #538) 2015-12-12 16:49:40 -08:00
calzoneman 11d4c4ca62 Reject blank emote names and images 2015-12-05 18:52:39 -08:00
calzoneman 889fb6595f Add buffer zone to consider scrolling 'caught up' 2015-12-05 18:05:23 -08:00
calzoneman b0d5e92350 Fix autoscrolling changes 2015-12-05 17:57:33 -08:00
calzoneman 3c5d36919b Fix positioning and background color of new message indicator 2015-11-29 10:29:56 -08:00
calzoneman 23f39ab2f5 Improve chat autoscroll behavior
The previous behavior (don't autoscroll if the mouse is over the chat
area) was not intuitive and caused problems for people in chat only
mode, which led to a lot of people assuming that it was a glitch.

This change introduces the following behavior:

  * Hovering over chat no longer affects autoscroll.
  * Scrolling up in chat turns off autoscroll.
  * Scrolling to the bottom of the chatbox resumes autoscroll.
  * If a new message is added while autoscroll is off, a "New Messages
    Below" indicator is added to the bottom of the chatbox.
2015-11-29 09:49:21 -08:00
calzoneman 5c50e93458 Use VideoJS for RTMP (#532) 2015-11-08 19:51:17 -08:00
calzoneman f9e1d329e4 Remove reference to IO_URL in error handler
Referenced in #527
2015-11-06 20:03:01 -08:00
calzoneman 44745d86ac Fix for Wii U browser
Apparently it doesn't send the login cookie if you explicitly set the
socket.io transports to prefer websockets.  Magic.
2015-10-29 20:50:10 -07:00
calzoneman 566e932e7e Reset LASTCHAT when chat is cleared 2015-10-25 17:31:04 -07:00
calzoneman 21c3a1b3cd API changes, add documentation 2015-10-25 17:20:39 -07:00
calzoneman 7b5476874d Minor function change 2015-10-21 20:56:09 -07:00
calzoneman 40e2a608f6 Initial sioconfig migration work 2015-10-19 22:32:00 -07:00
calzoneman dacda65961 Prevent unnecessary duplicate profile boxes 2015-10-19 20:28:33 -07:00
calzoneman 6ed7ca8dbb Upgrade to video.js 5.0 2015-10-17 18:45:13 -07:00
Calvin Montgomery 9f4461a779 Merge pull request #507 from calzoneman/channel-store
Refactor channel storage to allow database store
2015-10-04 23:22:05 -07:00
calzoneman 81cbfc0639 Merge branch '3.0' into channel-store 2015-09-30 21:58:03 -07:00
calzoneman 7875dbdf4a Handle 'best' quality preference in VideoJSPlayer 2015-09-30 18:26:23 -07:00
calzoneman b2a4afd9ff Merge www/js/player.js from gdrive-youtube 2015-09-26 20:00:07 -07:00
calzoneman 5ec9c2b029 Start refactoring channel storage 2015-09-23 21:56:04 -07:00
calzoneman 3356a55fbd Fix modal issue 2015-09-16 20:20:51 -07:00
calzoneman c81ae989fd Add auth_timeout parameter 2015-09-16 00:04:34 -07:00
calzoneman bfe36e8150 Hack YouTube flash player for Google Drive 2015-09-15 23:32:01 -07:00
calzoneman de02cdbeff Intelligently split link lists to allow URLs with commas 2015-08-19 23:27:05 -07:00
calzoneman 6f7b34f644 Minor fixes to source quality sorting 2015-08-03 19:02:56 -07:00
Calvin Montgomery eb02ad0836 Merge pull request #499 from calzoneman/gdrive-captions
Support captions/subtitles for Google Drive videos
2015-07-27 17:42:32 -07:00
calzoneman d86c62664c Fixes for Chrome 2015-07-26 13:29:06 -07:00
calzoneman f12397db23 Minor fixes for Google Drive subtitles 2015-07-26 12:28:43 -07:00
calzoneman 523ebf4aea Fix video not being restored when getplaylist modal is closed 2015-07-26 11:41:54 -07:00
calzoneman 4a0cbce575 Use lang_original if subtitle name is empty 2015-07-25 11:46:18 -07:00
calzoneman 33e7f81fa7 Wire up google drive subtitles 2015-07-25 01:19:32 -07:00
Calvin Montgomery dda5077727 Merge pull request #498 from calzoneman/comma-multi-queue
Add comma-separated queueing for multiple items
2015-07-21 21:46:28 -07:00
calzoneman 06347d6c25 Fix hidePlayer() 2015-07-16 21:43:21 -07:00
calzoneman d76af73286 Add comma-separated queueing for multiple items 2015-07-16 19:14:55 -07:00
Calvin Montgomery 6e7225aa0d Change mediaurl keydown to keyup so that the Title box shows correctly 2015-07-09 21:45:41 -07:00
calzoneman bba6b29483 Fix ustream embeds 2015-07-07 19:30:39 -07:00
Calvin Montgomery c0f76bcf00 Add fullscreen button 2015-07-06 17:35:04 -07:00
calzoneman 70be8a6713 Resolve merge conflict 2015-07-06 11:28:18 -07:00
calzoneman 2b6d980aeb Remove redundancy 2015-07-06 11:23:58 -07:00
calzoneman e40db5f27e Fix mediaquery for contentType 2015-07-06 11:21:52 -07:00
calzoneman e3d12007b3 Fix css/js textboxes on channelCSSJS frame 2015-07-05 17:52:51 -07:00
Calvin Montgomery 44f1091952 Remove redundancy by extending EmbedPlayer for Twitch 2015-07-05 14:04:21 -07:00
Calvin Montgomery aad8eef52b Add LIVESTREAM_CHROMELESS flag 2015-07-05 14:00:59 -07:00
Calvin Montgomery 9f030376b5 Fix VideoJS volume 2015-07-05 13:50:34 -07:00
Calvin Montgomery 62ed922c73 Fix leader 2015-07-05 13:29:06 -07:00
calzoneman 35500822d2 Fixes 2015-07-03 11:24:21 -07:00
calzoneman 9db9856a4e Fix stuck loading spinner on IE 2015-07-01 23:59:21 -07:00
calzoneman c422fa65fc Add fileplayer 2015-07-01 09:38:01 -07:00
calzoneman b34ea01c3d Changes to how custom embeds work 2015-06-29 18:32:18 -07:00
calzoneman 7fee1414e2 Use VideoJSPlayer for vimeo workaround 2015-06-28 09:42:21 -07:00
calzoneman b34f972629 Add imgur and ustream 2015-06-21 10:39:16 -04:00
calzoneman 8dd3280305 Add hitbox and update mixed content errors 2015-06-21 10:27:51 -04:00
calzoneman b279a41122 Add RTMP player 2015-06-19 22:12:48 -04:00
calzoneman f43e46c716 Fix loading no_emotes setting 2015-06-19 14:49:49 -04:00
calzoneman 01fbd3c54e Work on custom embeds 2015-06-18 18:46:33 -04:00
calzoneman 60743bd2ea Add twitch player 2015-06-16 16:44:14 -04:00
calzoneman cf5756227d Add livestream.com player 2015-06-16 12:50:17 -04:00
calzoneman 480497bea4 Initial soundcloud implementation 2015-06-16 07:39:39 -04:00
calzoneman d9f06a50de Fix 484 2015-06-04 00:57:51 -04:00
Anthony Parsons 35b2920c52
Fix a typo 2015-05-21 17:48:00 +01:00
calzoneman ce8ac4591e Use VideoJS for google+ 2015-05-15 01:19:08 -05:00
calzoneman fe9ebfa6b1 Start working on VideoJS for Google Drive 2015-05-15 00:03:05 -05:00
calzoneman 7bc247ede2 Fix 'remove video' option 2015-05-14 13:14:45 -05:00
calzoneman 8b69485448 Show emote list button in chat only 2015-05-14 11:42:26 -05:00
calzoneman 86bd20d5cc Minor fix for emote insertion 2015-05-13 12:19:03 -05:00
calzoneman 8927613da7 Add emote search, sort toggle 2015-05-13 12:17:32 -05:00
calzoneman 691ec3055c Fix emote insertion behavior 2015-05-12 13:53:19 -05:00
calzoneman 389dd0d5ab Initial emote list implementation 2015-05-12 13:50:59 -05:00
Xaekai 2dd1db166a Fix annoyance: Clicking Remove video scrolls to top 2015-05-06 12:14:56 -07:00
calzoneman daf2463a6a Start working on Dailymotion 2015-05-05 15:06:37 -05:00
calzoneman a291836a99 Change USEROPTS.default_quality values 2015-05-02 17:55:00 -05:00
calzoneman d7b69bce38 Fixes 2015-05-02 17:37:09 -05:00
calzoneman 391ea264f5 Work on player rewrites 2015-05-02 11:45:35 -05:00
calzoneman ae899fd9be Continue working on YouTube player 2015-04-30 15:26:09 -05:00
calzoneman d77497aaa7 Work on YouTube player 2015-04-23 22:24:43 -05:00
calzoneman e2c3b2daad Fix PM maxlength and throttling 2015-04-23 21:49:15 -05:00
calzoneman f0c75211fb Start working on player rewrite 2015-04-23 21:40:08 -05:00
calzoneman dd48da19c0 Add build-player script 2015-04-23 21:19:55 -05:00
Erik 566c4c174e make sure the user understand this is for real 2015-04-20 16:09:21 -04:00
calzoneman f4a9f0b21b linewrap queue alerts 2015-03-27 19:08:58 -05:00
Calvin Montgomery e1c8d5c6c9 Fix Ustream 2015-03-23 16:10:00 -07:00
calzoneman 3290501e81 Fix google drive/google+ 'highest available' quality 2015-03-20 14:23:44 -05:00
calzoneman f3fe933f6e Support new google drive link format 2015-03-20 13:57:13 -05:00
Calvin Montgomery 8bee1afad1 Fix issue with channel settings not being updated 2015-02-27 13:10:38 -06:00
Erik 3ae2deca7c Fix cancel for kick/ban/ipban 2015-02-21 21:34:25 -05:00
Xaekai 1c263f825b Add line start anchors to the shorthand URI parsers 2015-02-21 12:26:03 -08:00
Xaekai 1f7940711d Resolve missing closing parenthesis on the generic matcher. 2015-02-18 18:44:17 -08:00
Xaekai 5c6a966e6f Use a generic matcher for the shorthand URIs. 2015-02-16 22:40:18 -08:00
Xaekai a636082500 Enhance media link parser.
Accept the shorthand URI style used in the logs as valid.
Add an underscore to the DailyMotion negated group to prevent dupe abuse.
2015-02-16 00:33:44 -08:00
calzoneman 9938f2c605 Change all textbox keyup to keydown
Fixes an issue repoted by dragondread in IRC where a popup character map
was unintentionally triggering the keyup event after a character was
selected.
2015-02-13 13:40:58 -06:00
calzoneman d7d3534d62 jquery cdn sucks 2015-02-10 23:07:57 -06:00
calzoneman dfdab263a5 Fix safe nick for hover 2015-02-05 22:23:54 -06:00
Xaekai 6eed208527 Correct chevron pull classing 2015-02-04 23:27:25 -08:00
Xaekai 0b2ae90d3f Change userlist chevron appearance on toggle.
Change userlist chevron placement for Synchtube layout
2015-02-04 23:14:51 -08:00
Calvin Montgomery 583e7e7616 Merge pull request #431 from calzoneman/hitbox
Add hitbox support
2015-01-27 00:29:44 -06:00
calzoneman 5a95bacee4 Fix youtube...again 2015-01-22 23:34:39 -06:00
calzoneman 50bf876010 Add hitbox support 2015-01-22 23:21:31 -06:00
calzoneman e76fd7b1c4 Fix client motd issue 2015-01-16 19:35:26 -06:00
Calvin Montgomery d7ef0d1893 Merge pull request #428 from calzoneman/sanitize-html
Merge sanitize-html into 3.0 #yolo
2015-01-14 13:23:01 -06:00
calzoneman 139825168f Fix for private, but embeddable soundcloud tracks 2015-01-11 12:10:09 -06:00
calzoneman 80c4c90bcf Migrate old MOTDs and don't replace \n with <br> after 2015-01-08 20:07:02 -06:00
Calvin Montgomery c1ef0848cd Add CSS classes for muted users (#426)
- If a user is muted, the `userlist_muted` class is added to the
  corresponding `.userlist_item`.
- If the user is shadowmuted, the `userlist_smuted` and `userlist_muted`
  classes are added.
- If the user is AFK, the `userlist_afk` class is added.
2015-01-07 15:58:36 -05:00
Calvin Montgomery cd22570c40 Hopefully fix youtube setPlaybackQuality once and for all 2015-01-04 16:46:40 -05:00
Calvin Montgomery 3423f43f2f https://www.youtube.com/watch?v=9u6Bfnq3aZk 2015-01-03 21:36:58 -05:00
Calvin Montgomery 0c23b8a4c5 Update Copyright year; remove old junk 2014-12-31 12:06:29 -05:00
Calvin Montgomery 4319111f47 Remove console.log 2014-12-28 19:09:41 -05:00
Calvin Montgomery 25eba6ab2b Improve filter handling code 2014-12-28 11:12:37 -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 db7d1a22c8 Resolve #420 2014-12-19 14:39:10 -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 db56a8869d Fix #417 2014-12-07 13:42:18 -06:00
calzoneman cf60994895 Dailymotion is a completely functional site programmed by competent people 2014-12-04 15:55:15 -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 b09346392e Slight tweak to nick hovers 2014-11-24 19:32:06 -06:00
calzoneman 2f2ed8aaf9 Fix Twitch not working on HTTPS and allow HTTPS channel page 2014-11-24 19:24:47 -06:00
calzoneman 214353acab Fix JWPlayer issue some Firefox users are experiencing 2014-11-22 01:01:32 -06:00
calzoneman e0191a50f0 Fix #414; use CDNs for bootstrap,jquery 2014-11-20 23:10:40 -06:00
calzoneman 610fd5a7c3 Handle #412 2014-11-16 11:19:14 -06:00
calzoneman 2f9b5ffe6a Fix misaligned checkbox in new poll menu 2014-11-16 11:15:08 -06:00
calzoneman af4f0fd211 Fix chat disappearing if the video player is gone 2014-11-15 16:52:18 -06:00
Calvin Montgomery 43cc336e07 Merge pull request #410 from calzoneman/responsive-embed
Update Bootstrap to 3.3; improve automatic video/chat resizing with responsive-embed
2014-11-15 11:15:10 -06:00
calzoneman 08f9aeaedb JWPlayer fixes 2014-11-13 20:24:05 -06:00
calzoneman 7310dabedf CSS fixes 2014-11-12 19:56:29 -06:00
calzoneman 9f18a6978e Still WIP 2014-11-11 19:48:08 -06:00
calzoneman 7708cf1aca Resolve #408 2014-11-11 15:48:34 -06:00
calzoneman 2c45177cc0 Responsive embed, WIP 2014-11-10 22:43:49 -06:00
calzoneman b49cd1b146 I'll take "hacks that shouldn't work" for 00 2014-11-01 12:12:22 -05:00
calzoneman 4c5d441931 Minor update 2014-10-24 10:30:23 -05:00
calzoneman 6e0735f3fe Update to socket.io 1.0 2014-10-24 10:23:30 -05:00
calzoneman 12804d1052 Add UI option for no emotes (#404) 2014-10-23 23:21:44 -05:00
calzoneman d676abc722 Fix: pressing enter now submits login form on channel page 2014-10-08 22:36:33 -05:00
calzoneman e13e695077 Allow limiting # items per user 2014-10-06 11:32:25 -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 bc3f20198c I'm not sure who to hate more 2014-09-02 17:30:41 -05:00
calzoneman 79d636ea89 Fix chrome incompatibility 2014-09-02 17:28:16 -05:00
calzoneman 293f943a9a Accept drive.google.com/file/d/blah as a substitute for docs.google.com/file/d/blah 2014-09-02 16:50:26 -05:00
calzoneman 91c24518c5 Conditionally allow ASCII characters (for Xaekai) 2014-08-29 16:38:57 -05:00
calzoneman 2a8b94e26a Chrome shiftclick workaround requested by Xaekai 2014-08-27 18:49:00 -05:00
calzoneman 7b00ba10b9 Fixes at Xaekai's request 2014-08-27 18:45:11 -05:00
calzoneman 53971af737 Fix remove video reconnect bug 2014-08-21 20:32:58 -05:00
calzoneman 3d6aaf0e1f Fix a bug with theme.js 2014-08-19 00:23:05 -05:00
calzoneman aff20c3012 Use JWPlayer as flash fallback because it can actually synch 2014-08-18 12:00:26 -05:00
calzoneman 6452ea4ab4 Fix ban reason 2014-08-18 11:49:03 -05:00
calzoneman 8fddbc3e6e Add IP cloaking; make tor bans channel specific 2014-08-14 21:42:13 -05:00
calzoneman ecca806a58 Fix an issue with quality selection 2014-08-14 16:28:44 -05:00
calzoneman dc3efd94c8 Remove JustinTV support as it is no longer in service 2014-08-13 13:51:09 -05:00
calzoneman 735b2fcd07 Improve URL parsing 2014-08-13 13:49:32 -05:00
Calvin Montgomery f11be6ae81 Fix pausing on HTML5 player 2014-08-07 20:34:24 -07:00
Calvin Montgomery b7edfc31f9 Fix for google docs changing their video player: 2014-08-06 20:12:57 -07:00
Calvin Montgomery 032dede66d Soundcloud fix, part 2 2014-08-03 22:56:17 -07:00
Calvin Montgomery 7acfcaf152 Soundcloud changed their volume range silently
[raging intensifies]
2014-08-03 22:50:24 -07:00
Calvin Montgomery 937ad04967 Change meta format so it persists in DB and on disk 2014-07-11 20:42:13 -07:00
Calvin Montgomery 8acffda8ec Add clientside support for Google+ 2014-07-10 23:23:48 -07:00
Calvin Montgomery b28fd9e4a8 Add permission for /clear and log it 2014-07-10 20:03:47 -07:00
Calvin Montgomery 2d0fe02a19 Move vimeo simulator out of the changemedia callback 2014-07-09 21:55:49 -07:00
Calvin Montgomery 3f959087af Initial improvements to playback system 2014-07-09 21:20:14 -07:00
Calvin Montgomery a97db09928 Shift+click workaround for Chrome on playlist 2014-07-07 21:48:23 -07:00
Calvin Montgomery d3b4ac1468 Change script prompt to be more friendly 2014-07-01 21:13:52 -07:00
Calvin Montgomery 002dadd67a Fix question marks breaking channel joins 2014-07-01 20:35:13 -07:00
Calvin Montgomery ece32dda5d Fix chrome bug 2014-07-01 20:29:12 -07:00
Calvin Montgomery e87ddb473b Require user permission to run channel js 2014-07-01 20:11:54 -07:00
Calvin Montgomery 7f4e2a8882 Fix a few issues 2014-06-12 20:29:12 -07: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 6dde745784 Better error handling, add support for mp3/ogg-vorbis 2014-06-05 22:02:51 -07:00
Calvin Montgomery 1d1630fb50 Implement raw file queues 2014-06-03 21:21:00 -07:00
Calvin Montgomery f2769e5062 Start adding file playback queue support 2014-06-01 11:43:18 -07:00
Calvin Montgomery 30d4e65061 Change RawVideoPlayer and FlashPlayer to FilePlayer 2014-06-01 10:54:53 -07:00
Calvin Montgomery b10a2af1ad Hopefully fix #371? 2014-05-29 20:44:09 -07:00
Calvin Montgomery 8069378afc Improve chat highlight options per #369 2014-05-26 13:22:20 -07:00
Calvin Montgomery f3eb999a76 Refactor channel packing 2014-05-23 23:09:36 -07:00
Calvin Montgomery 02ac983fba Start working on channel detail view 2014-05-23 22:40:35 -07:00
Calvin Montgomery da6eadf33b Fix regex warning message 2014-05-20 22:41:21 -07:00
Calvin Montgomery 8b9242fc7b Add failsafe for VOLUME=NaN 2014-05-20 21:10:08 -07:00
Calvin Montgomery 705b8ce10a Fix vimeo workaround 2014-05-20 20:56:42 -07:00
Calvin Montgomery 6046ea2480 Fix the wrong files being merged 2014-05-20 20:11:40 -07:00
calzoneman 91bf6a5062 Fix #360 2014-05-16 23:29:14 -05:00
Calvin Montgomery d16482b863 Make vimeo workaround respect default quality option 2014-05-16 00:46:30 -05:00
Calvin Montgomery 03a188e8f2 Improvements to Dailymotion player
* Hide the logo by default
    * Set the wmode based on the user's preference
    * Automatic quality as with youtube
2014-05-16 00:36:33 -05:00
calzoneman 79f7e96921 Fix possible issue with youtube workaround 2014-05-10 03:01:09 -05:00
Calvin Montgomery 6c4168c675 Improve workaround for YouTube's shitty internal race conditions 2014-05-09 20:09:17 -05:00
calzoneman 3fcb855c35 Fix the regex warning message about parentheses 2014-05-04 14:22:13 -05:00
calzoneman 842fd80e0e Don't catch dangling /edit on google drive links 2014-05-01 10:22:03 -05:00
calzoneman d6d1cd4289 Fix formatURL and parseMediaLink for google drive 2014-04-30 20:40:25 -05:00
calzoneman c11d31e716 Resolve #352 2014-04-30 17:40:16 -05:00
calzoneman 64980bc293 Add warning as discussed in #347 2014-04-13 02:14:34 -05:00
calzoneman 445d8be55d Fix #346 2014-04-12 21:54:17 -05:00
Calvin Montgomery 42e590c6fd Fix #340; add shadowchat option for moderators
The new option allows moderators to see what shadowmuted users are saying.  When enabled, messages from shadowmuted users will appear in a darker (or lighter, depending on theme) font and struck through.
2014-04-01 11:52:20 -05:00
calzoneman 37db972d86 Minor change 2014-03-29 18:46:53 -05:00
calzoneman a484b6c6a1 Implement layout reversal as per #336
- compactLayout() now reverses the changes made by fluidLayout, synchtubeLayout, hdLayout
2014-03-29 16:57:53 -05:00
calzoneman 43be6402a0 Fix edge case of emotes directly succeeding one another in a message 2014-03-27 11:03:27 -05:00
calzoneman ed65f3a648 Fix #333 2014-03-19 22:17:57 -05:00
calzoneman 2211e4da9c Change Vimeo fallback player 2014-03-07 20:37:20 -06:00
calzoneman 214537efdb Fix AFK count in usercount breakdown hover 2014-03-06 15:39:59 -06:00
calzoneman 341d17c7b9 Fixes 2014-03-01 17:37:59 -06:00
Calvin Montgomery c93bc97a94 Hide channel settings button in chatonly for non mods 2014-02-28 13:55:29 -06:00
Calvin Montgomery 930402a058 Fix queueFail stacking 2014-02-28 13:49:17 -06:00
calzoneman 8c32ce4020 Add no_h264 option 2014-02-28 09:43:48 -06:00
calzoneman 5b793710c3 Fixes 2014-02-28 08:43:04 -06:00
calzoneman 0f4c29952f Minor fixes 2014-02-28 00:34:50 -06:00