Giter VIP home page Giter VIP logo

berrytube3's People

Contributors

calzoneman avatar ecutlercmd avatar eltiech avatar greymage avatar jamesmanning avatar toastdeib avatar trellmor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

berrytube3's Issues

Skip Video

Add a skip video button to the detail view for videos (?)

This seems like a strange option to have in the "advanced" menu, but there isnt room (or desire) to put it on a main item. I really dont want to mix right-click menus and advanced panes. maybe right click on a video just opens the pane?

(maybe bad idea) during server filter, support option to allow user to see 'before' version as well

currently a user can't tell if something was filtered on the server or not, which at times causes lots of confusion (especially around cloud -> butt for some reason) so one potential option is having the server do the replacement into something like:

Look at all the fluffy <span class="filter-original-text">clouds</span>butts

In the default setting, .filter-original-text is set to display: none (so the existing UI behavior is preserved by default), but when 'show filtered text' is on, it changes to text-decoration: line-through (so it's there, but with a strikethrough).

I don't have a good sense for what part the server-side filtering plays, so having this option may be a bad idea, and if so, please feel free to close this issue, of course. ๐Ÿ˜„

"Block" Assistance

It would be really cool if there were some mechanism for tracking the end of a given block, such as:

  • A quick queue or newly added video push a pointer down after themselves when queued
  • This pointer is used as the entry point for all other quick queues and adds.
  • When the playlist "overruns" the block pointer it "sticks" to the active video.

This would make running the games a bit easier, as a running "sub playlist" would be maintained. This would need to be visually indicated to priv users, in my mind im picturing like a glowy bar placed after the last video in the block. A control placed in the advanced video pane could even be a "Mark as end of block" on any given video, as well as a "Clear block" control for any video lying inside the block.

Potential Problems:
What would moving an item into or out of the block indicate? Anything?
What would moving the final item in a block do? I lean towards subtractive, and so moving the final video would make the penultimate video become marked as the new end of the block.

Color Tagging

Allow videos to be given color tags ala prod. Volatile tags arent that important i dont think.

[request] sort any user(s) with berry just below modmins in userlist

"wut" made a new sortUserList that can do it for current BT, but it would be very nice to have to make it easier to see who has berry if/when someone does, especially for tracking the current 'user' during things like open mic night.

Thanks!

wut's script, FWIW, as copied from http://pastebin.com/x5BmtTUk (copying here in case the pastebin goes away)

function sortUserList(){
    var mylist = $('#chatlist ul');

    var listitems = mylist.children('li.admin').get();
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    var listitems = mylist.children('li.mod').get();
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    var listitems = mylist.children('li.leader').get();
    console.log("hai", listitems);
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    var listitems = mylist.children('li.user:not(li.leader)').get();
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    var listitems = mylist.children('li.anon').get();
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    var listitems = mylist.children('li.nobody').get();
    listitems.sort(function(a, b) {
       return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
    })
    $.each(listitems, function(idx, itm) { if($(itm).data('nick') != NAME) mylist.append(itm); });

    dbg("sorting");
}

RFE: allow putting in a playlist when queuing

at least for open mic night, it's a little daunting for new people to have to queue up their songs right as their turn comes up. Creating a playlist ahead of time is simple, though. If the 'import video' interface could accept a playlist url instead and then just queue the videos from the playlist, it would both simplify things for people new to berry and let them not have to deal with the 'queue in reverse order' thing.

1-line change to existing functions.js so nickname tab completion skips your own name

Not really for the upcoming v3 of BerryTube, but I wasn't sure where else to file it. Sorry!

This would go a long way toward helping prevent accidental self-squees AFAICT ๐Ÿ˜„

In functions.js, tabComplete, around line 1821, is the start of the for loop over the object keys:

    for (var prop in CHATLIST) {

add one line just after that:

        if (prop == NAME) continue;

Tested with Chrome 42, but should work anywhere since continue has been ECMAScript since v1

Poll Alert [Suggestion]

I was thinking we could have a poll alert sound (similar to the notification squee or the drink call sound) that users can turn on and off in the settings.

I suggest because a few users have resorted to try setting custom squees for polls so they dont end up missing them, so this would be an easier option for them.

Cheers - kris

Randomize Playlist

We need a button to randomize the playlist.

This needs to be an ATOMIC OPERATION as all sorts of bad things such as queues, active video swaps, other randomizations may occur at any given point during the randomization.

Also consider a runtime option of "randomize on playlist loop"

Queue Buttons

I dont think there is any great desire for a "add to end of playlist" button, so just a Queue now and Queue Volatile now button need to exist + work

Quick Queue

Add a button like prod for moving a video quickly behind the active video.

Video Detail view for editing / More options

Allow priv user to open a details pane on videos for editing of title and other data, as well as more advanced options such as sending cache invalidation notices and toggling volatility.

Delete Video

Add the ability to delete videos to the playlist, either via a detail view or a quick button like prod

AFK Markers [Suggestion]

Yo

I thought maybe AFK markers in the userlist next to names would be a good idea after a certain period of inactivity, so people arent squeefucking random folks who may have left their BT on by mistake, a little like Cytube.
Thoughts?
-Kris

allow multiple browsers/connections logged in as the same user

This might seem like crazy talk, and it might be more trouble than it's worth, but please hear me out. ๐Ÿ˜„

A fairly common use case for BT are users that login from multiple devices. Currently this manifests as various alt accounts like Q0Phone, bluephone, etc. since the server currently rejects any attempt to login as a user that is already logged in elsewhere. This means that trying to chat with people like this becomes complicated since you have to remember to talk to the right account (talking to Q0Phone instead of Q0, for instance) to make sure they get squeed.

There are other chat interfaces (for instance, Google Hangouts, Skype, Lync, etc) where the experience is instead that you can login from multiple devices without any problems.

Allowing a person to login from multiple devices would mean they wouldn't need alt accounts. They could login as the same user from multiple devices.

Benefits would include:

  • no need for extra alt accounts
  • ability for others to talk to the same account (like talking to Q0) without needing to know which device(s) the person is currently logged onto
  • no need for kicking 'ghost' versions of accounts which currently block a person from logging in as their normal account

Without looking more about the internal implementation, a guess for (some of the?) changes needed to support this:

  • admin actions on a user (like kick) happen on the N instances/sockets for that user, instead of assuming just 1 (can foreach over the ones that match, then it works for 0 .. N)
  • userlist could either be kept as a list of distinct usernames logged in (so user join notifications when the first instance of the user logs in, and user leave when the last one logs out), or it could be kept as the list of logged-in sockets and the client shows a distinct list in the shown userlist

It might be more trouble than it's worth, but I think the simpler user multi-device experience of allowing multiple logins to the same account would be a huge win, especially for those of us who want to login to the chat app as our normal nickname but forgot to log out of BT on our laptops back home first. ๐Ÿ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.