Fernando Fernández
5e8653fef4
refactor(api/composable): skip global loading on data refresh
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 16:39:48 +01:00
Fernando Fernández
5968590509
refactor: extract BetterOmit and Mutable types to global scope
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 16:39:48 +01:00
Fernando Fernández
8026f1c84f
refactor: fix import sorting discrepancies
...
(for real this time)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-18 13:52:18 +01:00
renovate[bot]
c53d4966f1
chore(deps): update actions/upload-artifact action to v4.1.0 ( #2210 )
2024-01-17 20:32:39 +00:00
Fernando Fernández
623affc143
refactor: add readonly to class methods, remove unnecessary continue from loop
...
Fix some SonarCloud's smells
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
e637caa170
refactor: create JHover and change vue-router component imports
...
* Switching some of the smallest pieces off Vuetify
* Import the typed RouterView and RouterLink versions of the components
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
caaacb24c6
perf: reduce items on-screen in ItemGrid
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
b71c532134
refactor: move all typeof statements to @/utils/validation
...
* Way less verbose than the full statement
* Lighter on bundle size
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
15dfc151ac
refactor: add isArray validation function
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
590cdd8235
perf: switch from lodash's isEqual to fast-equals
...
Way faster and maintained library: https://github.com/planttheidea/fast-equals
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
140e6f29c1
perf: replace lodash is-nil with native implementation
...
* It's faster: https://www.measurethat.net/Benchmarks/Show/8769/0/lodash-isnil-vs-native-isnil
* Lighter in bundle
* lodash has been unmaintained for a long time and it's a good idea to reduce our reliance on it
* There's no need to have a 3rd party dependency for such a trivial check
* No need to disable any of "eslint-plugin-you-dont-need-lodash-underscore" rules
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Fernando Fernández
902b348893
refactor: put everything into the singletons
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-17 21:20:57 +01:00
Weblate
45736449dc
chore(i18n): translate terms
...
Co-authored-by: Hans Cronau <JellyfinWeblate@hanscronau.anonaddy.com>
Co-authored-by: Kityn <kitynska@gmail.com>
Co-authored-by: Lukáš Kucharczyk <lukas@kucharczyk.xyz>
Co-authored-by: Ramazan Sancar <ramazansancar4545@gmail.com>
Co-authored-by: Sh_Cby <cby@live.cn>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bene toffix <benetoffix@gmail.com>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Co-authored-by: stanol <stanol777@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/ca/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/cs/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/nl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/pl/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/tr/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/uk/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/zh_Hans/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-17 11:27:46 -05:00
Fernando Fernández
a040d3324c
fix: previous playback button and repeatall mode
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 16:45:10 +01:00
Fernando Fernández
d6da6cdb2f
fix(playback): minor
...
* Queue menu was impossible to close
* Previous button was wrongfully disabled
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:46:23 +01:00
Fernando Fernández
693a2c3218
chore: downgrade to vue@3.4.8
...
There are patching issues with Suspense from 3.4.9-3.4.14
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:39:37 +01:00
Fernando Fernández
8da6ca0a91
refactor: remove redundant anonymous string
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:33:44 +01:00
Fernando Fernández
fd0c62af7d
feat: use hls.js worker
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-16 15:32:27 +01:00
renovate[bot]
e7823faeae
chore(deps): lock file maintenance ( #2207 )
2024-01-11 13:01:47 +01:00
renovate[bot]
c56c6b1609
chore(deps): update npm development dependencies ( #2206 )
2024-01-11 12:44:33 +01:00
renovate[bot]
02520f3712
chore(deps): update npm dependencies ( #2204 )
2024-01-11 11:32:11 +00:00
EffakT
94c8090340
fix: add immediate tag to MediaSources watcher ( #2205 )
...
Co-authored-by: Fernando <ferferga.fer@gmail.com>
2024-01-10 23:26:01 +01:00
Fernando Fernández
ff9f91ed68
fix: caching conditions in library view
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 12:27:03 +01:00
Weblate
cefe3f7140
chore(i18n): translate terms
...
Co-authored-by: Achim Walz <achim@aalso-walz.de>
Co-authored-by: Fernando <ferferga.fer@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: hoanghuy309 <hoanghuy309@gmail.com>
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/de/
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-vue/jellyfin-vue/vi/
Translation: Jellyfin Vue/Jellyfin Vue
2024-01-10 05:01:14 -05:00
Fernando Fernández
61f4e701bf
chore: remove unnecessary option & automatic fix
...
* Since Vue's defineModel has been promoted to stable, vue-eslint-parser included support for it in 9.4.0, so there's
no need for us to specify the macro manually
* Automatic eslint fix for @stylistic new fixes
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:30:38 +01:00
renovate[bot]
189336d25a
chore(deps): update npm development dependencies ( #2185 )
2024-01-10 09:26:42 +00:00
renovate[bot]
8332e28e8b
chore(deps): update dependency eslint-plugin-jsdoc to v48 ( #2193 )
2024-01-10 09:16:03 +00:00
Fernando Fernández
5371a67e9b
fix: login with incorrect credentials stuck in endless loop
...
* Also removed unnecessary setting from VSCode settings.json (reported by Volar)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
75cfd7bab6
fix: appropiate callback flush timers for watchers
...
* Do a first pass on playback's manager watchers. The lack of sync was causing playback reporting to miss updates
* Set post as flush timer for stores cleanup
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
304131dbe8
feat: show wait cursor while loading
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
5836585a2c
perf: separate reactive items into different collections
...
This is probably better than having a giant collection with another level of nesting
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
96af2db953
refactor: simplify previous request handling and error state
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
94666c564d
fix(composables/api): offlineparams promise
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
3a9d94fa76
refactor: migrate playback related stuff and add lazy loading to library page
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
d6e5cff1b2
fix: properly block navigation when changing pages
...
We've never been using Suspense to blcok navigation properly (which wasn't so relevant, since we didn't have many long promises like we have now)
We were wrongly swapping the key prop in the div, which effectively killed the inner suspense, not taking into account the async dependency tree
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
3cd3abde09
refactor: migrate search and some settings pages to api composables
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
b92ebfeaef
feat(composables): always return previous data when there is a request in progress
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
134b3a9811
perf: optimize baseitem adding performance
...
Do a single loop instead of 2
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
5877c6ce5c
refactor: use useBaseItem composable in library pages
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
88904dc64c
refactor: improve splashscreen
...
* Remove the animation, showing only the Vuetify's background colors for each color scheme.
* Move all the splashscreen logic to App.vue, so we can hide the splashscreen only when suspense has finished resolving everything
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
13639d745c
chore: disable vite chunk warnings
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
20fad93d21
fix: correct type signature for *QueryResult responses
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
9a98d7455f
feat: handle loading state in api composables instead of axios
...
Allows for fine-grained control over the loading state. Merge skipCache with it.
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
8a0d2ecb65
feat: handle offline state in apis composable
...
When there's no connection, the request will be saved so it gets executed as soon as the connection to the server is recovered
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
39af077b3a
refactor: remove router import from auth plugin
...
This was the main thing that lead to ReferenceErrors and circular dependencies.
Wasn't refactored before to at least get the client working in production (although with quite a lot of reference errors)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
f34a07167e
refactor: extract sortBy into defaultSortOrder
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
a252615f56
perf: remove useless structuredClone
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
2f3fbad706
fix: markplayedbutton and likebutton in endless loading and loops
...
* Endless loading was fixed by initializing the loading ref to false. resolveAndAdd has full control now.
* Requests loops were happening because the watcher could fire. Given the passed objects are getters,
it was difficult for it to determine if the args really changed.
Now, we map toValue and check for equality
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
c20d89147f
refactor: add userId automatically in composables, improve typing
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00
Fernando Fernández
951b4b3b18
refactor: migrate markplayedbutton and relateditems to new composable
...
* Ensure reactivity by not destructuring itemId in most places
* Removed placeholder for Vuetify skeletons, we're not going to use them anymore with the refactors
Signed-off-by: Fernando Fernández <ferferga@hotmail.com>
2024-01-10 10:07:12 +01:00