Giter VIP home page Giter VIP logo

nikkelm / random-youtube-video Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 3.0 5.47 MB

A browser extension that allows you to truly randomly shuffle videos from any YouTube channel, offering many customization options.

Home Page: https://chromewebstore.google.com/detail/random-youtube-video/kijgnjhogkjodpakfmhgleobifempckf

License: GNU Lesser General Public License v3.0

JavaScript 89.15% CSS 2.38% HTML 8.47%
chrome chrome-extension edge-extension youtube youtube-api random-video shuffle firefox firefox-addon firefox-extension

random-youtube-video's People

Contributors

dependabot[bot] avatar nikkelm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

random-youtube-video's Issues

[BUG] I just installed the Random YouTube video plugin, but the shuffle button doesn't show up on the channel I just went to. Is there a step I missed when installing the plugin?

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behaviour:

  1. Go to '...'
  2. Click on '....'
  3. See error

Expected behaviour
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Software information(please complete the following information):

  • Extension Version [e.g. 0.0.2]:
  • Browser [e.g. Chrome, Safari]:
  • Browser Version [e.g. 22]:

Additional context
Add any other context about the problem here.

Fix button alignment

Currently, the button is not centered correctly in line with the other buttons.

[UX] Don't load too long if a channel has many videos

If a channel has a lot of videos and we need to fetch them all from the API, this could take a very long time.
We don't want the user to wait for so long, so we should try to start a random video from the first few pages and fetch the rest in the background.

Clear old entries in local storage

If a channel hasn't been visited in a longer time, its entry in local storage may be removed to save storage space. This can either be done periodically, or only when storage is full.

Prevent button clipping on video pages

Due to the way the button is added, it is possible for the button to cause other buttons to clip into each other for certain zoom levels/resolutions. See screenshot below:
image

It may be possible to fix this by removing the text from the button (not real fix), or by moving the button into the dropdown list to the right if needed.

Let the user know if an action takes longer than usual

E.g. when fetching a long list of videos for a channel, let the user know it might take some time, e.g. through the button or popup, maybe even with a progress counter, as we know the total number of videos we will fetch.

Ties in with #18

[Popup] Allow manual reset of local data

It may be possible for local data to get corrupted somehow. For these cases, it should be possible to manually clear all data, or only data concerning a particular channel

Add shuffle button to video page

The same as for the channel page, the video page contains options such as "Join" and "Subscribe", where a "Shuffle" button can be added.

[JOUST A BIT OF LOVE] I love your idea.

Hey, I love your idea. In fact, I've been thinking about a similar plugin myself and just want to leave a little love for the fact that you implemented it. Keep up the good work <3.

[UI] Prevent button clipping on video pages

YouTube handles the case where the page width is too small for its native buttons, and adds a second row if necessary. The addition of the new "Random" button is not handled, which leads to some unsightly button clipping:

image

image

image

[API] Alert when API quota limit is reached

This may apply to both the YouTube API as well as Firebase. For Firebase, we might need to look into upgrading the Plan if needed. For YouTube, a quota extension is in progress.
If needed, we might need to implement a quota restriction per day/user.

Handle deleted videos

E.g. ping the video url, if it doesn't exist remove it from the db and choose new video.

[UX] Don't reload complete page when navigating between videos

Whenever you navigate between videos, the complete page reloads. This significantly impacts the user experience on YouTube in general, which is why we should try to get the channel-ID for the current channel in a different way when on video pages.

[UX] Navigate to the new page using a native YouTube navigate-event

By using window.location.href, the whole page gets reloaded, which is not the optimal experience. If we figure out how to use the native youtube navigate events to do the transition, this would greatly improve the user experience.

Note: If we do this, we need to make sure to update the button texts accordingly!

[Database] Clear old entries in the database

Perhaps we only want to do this if we reach storage limits. We can use the lastUpdatedDBAt field for this, as it indicated the time the last user used this +/- a few days depending on usage.

[FEATURE] Add setting to run videos as non playlist.

Is your feature request related to a problem? Please describe.
I think it would be a great feature if I could set whether to start a video in a playlist as this can have unwanted side effects, like activating the SPA function of youtube.

(SPA = Single Page Application, for example, ensures that when I call the start page via the youtube logo that the video continues to run.)

Describe the solution you'd like
Just create a regex rule which (if the setting is active) removes the key value entry named "list" in the GET parameters so that only the video is called without the list.

Describe alternatives you've considered
The manual removal is nerdy.

Additional context
n/a

[UI][Button] Add shuffle button to "shorts" video pages

If a user shuffles from a shorts page they likely only want to watch shorts from that channel. An option should be added on how to handle shuffling from shorts pages, i.e. if the existing shorts option should be honoured, or if only shorts should be shuffled as an override.

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.