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

Proposal to clean up the minified webcomponents in jellyfin repo #1

Closed
cvium opened this issue Jan 3, 2019 · 10 comments
Closed

Proposal to clean up the minified webcomponents in jellyfin repo #1

cvium opened this issue Jan 3, 2019 · 10 comments

Comments

@cvium
Copy link

cvium commented Jan 3, 2019

Just to make it easier to track, this is a proposal for the webcomponents going forward wrt. the server dashboard, which has been discussed on #jellyfin-dev:matrix.org.

  1. Archive this repo for future reference/history (some of the commits may still be useful).
  2. Create a hard fork, jellyfin-webcomponents, based on commit b8fe3a8 (the version bundled with Emby 3.5.2).
  3. Submodule the new repo in main jellyfin repo.
  4. Remove useless junk like Connect and Premiere.
  5. "Cherrypick" compatible commits (eg. bugfixes) from the archived repo.

Sadly, the existing Emby apps use an even older version of emby-webcomponents, so I'm not too sure what to do about those.

  • Maybe gradually bringing them up to parity?
  • Maintaining two separate forks/branches?
@sparky8251
Copy link

Since changes and fixes have been submitted to the existing server webcomponents, we will need to address that too. I know I've at least touched the theme files.

@thornbill
Copy link

I would propose we move the entire dashboard-ui directory into a new repository.

The mobile apps use the entire dashboard-ui directory with some minor modifications to the .html files. These modifications are currently handled by an API endpoint in Jellyfin which imo is a poor solution.

This would allow for the entire dashboard-ui directory to be a submodule in the server and mobile apps. I'm not sure if we go that route if it still makes sense to have emby-webcomponents as yet another repository.

As far as the different versions in the mobile app, we are working to bring those up to parity with the version included in the Jellyin server. Until that is functional then they can just remain separate as they currently are.

@cvium
Copy link
Author

cvium commented Jan 3, 2019

emby-apiclient should probably still be separate though (submodule-ception?). The bundled version of the javascript api client is jellyfin-archive/jellyfin-apiclient-javascript@c390d77

I haven't looked through the code yet, so I dunno how easy it is to upgrade that one. It has far fewer commits though compared to webcomponents.

@thornbill
Copy link

I agree that the api client makes sense as a separate module and likely should be published to npm.

Eventually some effort will need to be made to change how dependencies are included since bower is in maintenance mode. That will likely impact how the api client is included also.

@cvium
Copy link
Author

cvium commented Jan 3, 2019

Yarn/npm + webpack perhaps? Grab non-minified deps while developing and then minify/pack with webpack when building for release.

The current 'style' of manually (?) downloading deps and then minifying them is pants-on-head stupid at least.

@dkanada
Copy link
Member

dkanada commented Jan 4, 2019

I agree with @thornbill, for now it might be best to include the entire dashboard-ui in a single repo except for the API client. I doubt the web components will be used anywhere else besides the web interface.

@cvium
Copy link
Author

cvium commented Jan 4, 2019

Sounds good to me 👍

We should probably merge jellyfin/jellyfin#341 first and then we can submodule dashboard-ui. As discussed in #jellyfin-dev, the admins et al. should probably look it over first (ping @joshuaboniface @nvllsvm @anthonylavado @JustAMan)

@EraYaN
Copy link

EraYaN commented Jan 4, 2019

I have a neat script to split out the subdirectory while keeping it's own history. Although it needs a fresh repo. (A different empty one.)

And then we can use jellyfin/jellyfin#311 to remove the superfluous history from the original repo.

@anthonylavado
Copy link
Member

We're holding discussion on separating things in jellyfin/jellyfin#424 I believe, and I've linked things like #341 as blocked right now. As a quick note @joshuaboniface and I think we should probably do this after the big 10.0.0 release, and we can bring it about in a maintenance update.

It's clear that this is a big undertaking, and we want to do it right the first time.

@cvium
Copy link
Author

cvium commented Jan 16, 2019

Since it has been split, I'll close this

@cvium cvium closed this as completed Jan 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

6 participants