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

chore: upgrade to Vue 3 #1812

Merged
merged 280 commits into from
Apr 3, 2023
Merged

chore: upgrade to Vue 3 #1812

merged 280 commits into from
Apr 3, 2023

Conversation

ferferga
Copy link
Member

@ferferga ferferga commented Nov 14, 2022

THIS PR WILL BE MERGED ON MONDAY 3rd

TENTATIVE CHECKLIST

Might change depending on current situation, but I'll try to keep this up to date

I don't see all these tasks as mandatory for the merge, but I feel the most of them we had, better experience

@jellyfin-bot jellyfin-bot added packaging Pull requests that edit Dockerfiles ci Pull requests that update Continuos Integration-related code frontend:plugins Pull requests that edit or add Nuxt plugins vue Pull requests that edit or add Vue files labels Nov 14, 2022
@@ -62,7 +60,8 @@
this.loading = true;

try {
this.$i18n.setLocale(this.UICulture);
this.$i18n.locale = this.UICulture;
this.$i18n.fallbackLocale;

Check warning

Code scanning / CodeQL

Expression has no effect

This expression has no effect.
import { vuetify } from '@/plugins/vue/vuetify';
import { hideDirective } from '@/plugins/vue/directives';
import piniaPlugins from '@/plugins/store';
import axiosInstance from '@/plugins/axios';

Check notice

Code scanning / CodeQL

Unused variable, import, function or class

Unused import axiosInstance.
@ferferga ferferga force-pushed the master branch 2 times, most recently from 722f759 to 98600bf Compare November 14, 2022 17:42
@jellyfin-bot jellyfin-bot added the merge conflict Something has merge conflicts label Nov 15, 2022
@ferferga ferferga force-pushed the master branch 21 times, most recently from 4b240e2 to 1b5e00f Compare November 15, 2022 12:11
ferferga and others added 22 commits April 3, 2023 12:51
These additional linting suites doesn't add new errors or warnings,
so they're good to have to prevent possible future problems

eslint-plugin-jsonc is also better maintained than eslint-plugin-json
* Remove unused image assets. If they're needed in the future, we can simply use unplugin-icons
* Add deprecation notices
* Remove the canPlay check at playerElement: hls.js should handle that directly
* Fix MediaSession handling
* Remove useless property at taskManager
* Fix timeout of sync task not being followed
Co-authored-by: aweebs <8809837+aweebs@users.noreply.github.com>

Due to a regression in npm 9.3.0 (upgraded by Node.JS 18 LTS at 18.14.0,
see https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#2023-02-02-version-18140-hydrogen-lts-bethgriggs-prepared-by-juanarbol),
the `npm get config` command stopped working in workspaces. This made
our actions using actions/setup-node to fail.

Issues were opened in the relevant repositories since january
and february (check npm/cli#6099 and actions/setup-node#712)
but it looks like getting this fixed upstream it's going to take a long time.
We have been waiting for a really long time
for other fixes in npm, so I don't expect this situation will be solved really soon

We need a working CI before the Vue 3 merge, so applying this commit will
solve the issue in the meantime. In the future, it might be interesting
to revert this commit.

Also format the GitHub Actions workflows using the official VSCode GitHub extension
* A new release of VueUse will be needed to get this back working
in Safari iOS (after PR 2915 is merged there)
* Fix item/person image info typing
* Remove `tag` from returned properties for image info
The splashcreen and video/music/login pages with scrollbars were really ugly
The readme was not fitting for the current state of the client. Use
better futureproofing in the wording and link to wiki pages where
the most up-to-date information (like configuration settings) will live.

* Make the description framework agnostic, so we don't need to update it
in case we switch our desktop app bundler (for example).

* Add better description for end users. We were too developer centric.

* Add links to Wiki for all the pieces that are more susceptible of evolving.

* Add some clarification about how jellyfin-vue works
(add a note about jellyfin-web too) in regards to privacy,
since by what I read on Reddit,
many people assume the connections are not direct between their devices
and the target Jellyfin server.

* Made that privacy note really agnostic for how the client might be
served/distributed in the future (but hopefully I did it in a clear way).

* Clarify the "Getting started" and "Running a production build sections".
- Edge case where array is empty and hasViewTypes shouldn't be true
- Boxsets (collections) can be browsed now
- Better mapping of collection types
Next up was called for each library, while the function itself overwrote the whole state. This resulted in nextUp being populated by the latest library fetched.
I reduced it to a single call cause removing the parentId gets us the classic Next Up experience from web.

Other improvements:

- Merge promises together
- Better function names and null checks
* Memoize previous search queries
* Use computed for data filters
* Fix old results temporarily appearing when clearing the query
* Update renovate config
* Commit component.d.ts file
* Upgrade @jellyfin/sdk to 0.8.1
@sonarcloud
Copy link

sonarcloud bot commented Apr 3, 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 53 Code Smells

No Coverage information No Coverage information
0.2% 0.2% Duplication

@jellyfin-bot
Copy link

Cloudflare Pages deployment

Latest commit 9e7501e
Status ✅ Deployed!
Preview URL https://cef8a488.jf-vue.pages.dev
Type 🔀 Preview

View build logs
View bot logs

@ferferga ferferga mentioned this pull request Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Pull requests that update Continuos Integration-related code frontend:plugins Pull requests that edit or add Nuxt plugins frontend:store Pull requests or issues that deal with stores packaging Pull requests that edit Dockerfiles vue Pull requests that edit or add Vue files
Projects
None yet
5 participants