Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added intro skipper button #1887

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

gibahjoe
Copy link
Contributor

This PR adds a "skip intro" button which is an implementation of the intro skipper plugin https://github.com/ConfusedPolarBear/intro-skipper

Screenshot 2023-02-18 at 15 43 01

The above plugin is required for this to work.

@jellyfin-bot jellyfin-bot added plugins Pull requests that edit or add Nuxt plugins vue Pull requests that edit or add Vue files labels Feb 18, 2023
@jellyfin-bot jellyfin-bot added this to In progress in Ongoing development Feb 18, 2023
This plugin detects intros in series. This commit adds the button to the UI so the intro can be skipped.
@speatzle
Copy link

Hi, i just ran across this and gave it a shot. Works Pretty well.

I would just like to know why the skip button appears on the left side as opposed to the right side like all other intro skip implementation that i know of like ConfusedPolarBear's Jellyfin-web, Plex or Netflix.

@speatzle
Copy link

Just found a bug where when using the minimized player and the skip intro button is visible the middle of the play and pause symbols is not clickable. Clicking the rest of the Player still works fine for pausing or resuming playback.

@gibahjoe
Copy link
Contributor Author

Hi, i just ran across this and gave it a shot. Works Pretty well.

I would just like to know why the skip button appears on the left side as opposed to the right side like all other intro skip implementation that i know of like ConfusedPolarBear's Jellyfin-web, Plex or Netflix.

For some reason, I remembered netflix's own being on the left. I will adjust that and move it to the right.

@gibahjoe
Copy link
Contributor Author

Just found a bug where when using the minimized player and the skip intro button is visible the middle of the play and pause symbols is not clickable. Clicking the rest of the Player still works fine for pausing or resuming playback.

Thanks for the feedback. The button was overlapping with the other on screen buttons. I have resolved that.

@Ge082
Copy link

Ge082 commented Feb 19, 2023

Would be also great if there is an option to choose between "do nothing", "show skip intro button" or "automatically skip intro" like Emby does

But this is already neat

@gibahjoe
Copy link
Contributor Author

Would be also great if there is an option to choose between "do nothing", "show skip intro button" or "automatically skip intro" like Emby does

But this is already neat

This can be done from the admin UI (Jellyfin web) in the intro skipper plugin settings. The admin UI has not been ported to Jellyfin-vue yet.

@HEPOSHEIKKI
Copy link

Works great, thank you! I think what would fit great is if the skip intro button had a hover effect that cancels the hiding of the button like KDE does with notifications. Also it would be nice if we could buffer some video after the intro end so skipping would feel much smoother but this would probably require a second FFMPEG thread or something like that.

@HEPOSHEIKKI
Copy link

HEPOSHEIKKI commented Feb 24, 2023

Works great, thank you! I think what would fit great is if the skip intro button had a hover effect that cancels the hiding of the button like KDE does with notifications.

I have created a PR into gibahjoe:skip-intro from HEPOSHEIKKI:skip-intro for this, please review.

Animate out when hovering skip-intro button
@Ge082
Copy link

Ge082 commented Feb 28, 2023

Would be also great if there is an option to choose between "do nothing", "show skip intro button" or "automatically skip intro" like Emby does
But this is already neat

This can be done from the admin UI (Jellyfin web) in the intro skipper plugin settings. The admin UI has not been ported to Jellyfin-vue yet.

Hmmm, true, but shouldn't this be a user-based option rather than admin (Maybe the plugin itself still doesn't support that way) like Emby does ?

@HEPOSHEIKKI
Copy link

Would be also great if there is an option to choose between "do nothing", "show skip intro button" or "automatically skip intro" like Emby does
But this is already neat

This can be done from the admin UI (Jellyfin web) in the intro skipper plugin settings. The admin UI has not been ported to Jellyfin-vue yet.

Hmmm, true, but shouldn't this be a user-based option rather than admin (Maybe the plugin itself still doesn't support that way) like Emby does ?

You should submit an issue to confusedpolarbear:intro-skipper

As this is not yet a feature in the plugin

@sonarcloud
Copy link

sonarcloud bot commented Mar 4, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@jellyfin-bot
Copy link

Cloudflare Pages deployment

Latest commit 8087e23
Status ✅ Deployed!
Preview URL https://4e04f8bd.jf-vue.pages.dev
Type 🔀 Preview

View build logs
View bot logs

@HEPOSHEIKKI
Copy link

Changed merge title on gibahjoe fork, should fix check failure.

@ferferga
Copy link
Member

@gibahjoe I think @ThibaultNocchi already commented this to you, but no PRs are getting merged to master until vite branch is in. You could rebase to that branch in the meantime, but this probably won't get in either after the merge as we're focusing in getting things fixed, no new features.

We also need to discuss how to approach this kind of components that are not part of the "core" server, but based on plugins.

@HEPOSHEIKKI
Copy link

@gibahjoe I think @ThibaultNocchi already commented this to you, but no PRs are getting merged to master until vite branch is in. You could rebase to that branch in the meantime, but this probably won't get in either after the merge as we're focusing in getting things fixed, no new features.

We also need to discuss how to approach this kind of components that are not part of the "core" server, but based on plugins.

My bad, I must've missed the comments,

@ferferga ferferga added the discussion needed This PR or issue needs discussion before going further label Mar 14, 2023
@jellyfin-bot jellyfin-bot added the merge conflict Something has merge conflicts label Apr 3, 2023
@gibahjoe
Copy link
Contributor Author

gibahjoe commented Apr 8, 2023

@ferferga You are right, the frontend should not be implementing non-core plugins. Feel free to close.

As an aside, maybe Jellyfin should consider making a skip intro plugin a default plugin. It's a very much needed feature and may prevent users from checking out this vue project.

@nielsvanvelzen
Copy link
Member

As an aside, maybe Jellyfin should consider making a skip intro plugin a default plugin. It's a very much needed feature and may prevent users from checking out this vue project.

We've reached out to the plugin author but they're not interested in upstreaming the plugin (ConfusedPolarBear/intro-skipper#53). Simultaneously someone from our team started work on a core implementation for segment skipping but progress on that has slowed down (jellyfin/jellyfin-meta#30). In summary; we are interested in making intro skipping a core feature of the Jellyfin server so we can support it in all official clients.

@ferferga
Copy link
Member

ferferga commented May 4, 2023

Just a heads up for everybody participating in this: @ThibaultNocchi and me have been discussing this internally.

Although we want to get this into Jellyfin server itself, this is unfortunately still a plugin, hence not something that we should support directly into the core (as I also mentioned here). However, we want to be as flexible as possible and we understand this is a good feature and something people want to have.

I think the best approach for this would be to have it as an independent micro-frontend that is completely decoupled from @jellyfin-vue/frontend package (hence, having it's own npm workspace and such). If the client has been built with it, at runtime it can be attached to the video player's DOM and also import what @jellyfin-vue/frontend exports (only playbackManager comes to my mind, to watch for changes in the playback status so the intro-skipper microfrontend knows when to mount and unmount)

single-spa's documentation is a really good thing to start reading about the possibilities microfrontends could give us for "jellyfin-vue plugins" while keeping the core "on-point" with the core features of server.

Any help is appreciated! 🙌💗

@ShiniGandhi
Copy link

is there an update regarding this? how can i implement it now that nuxt is no longer used?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion needed This PR or issue needs discussion before going further merge conflict Something has merge conflicts plugins Pull requests that edit or add Nuxt plugins vue Pull requests that edit or add Vue files
Projects
Development

Successfully merging this pull request may close these issues.

None yet

8 participants