Fernando Fernández
9682c91801
ci(renovate): vulnerable deps upgrade to highest, don't separate
2026-07-25 21:59:15 +02:00
Fernando Fernández
26e3e54e57
chore: update gitattributes and obsolete devcontainer option
...
Signed-off-by: GitHub <noreply@github.com >
2026-07-25 13:11:13 +00:00
Fernando Fernández
1f180f2487
ci(renovate): enable devcontainer manager
...
Signed-off-by: GitHub <noreply@github.com >
2026-07-25 12:23:05 +00:00
Fernando Fernández
a7749ebd64
refactor: replace overflow-y with scrollbar-gutter ( #2849 )
...
The new scrollbar-gutter CSS property fixes the jump that appeared when the scrollbar was created/disposed
See https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/scrollbar-gutter
Signed-off-by: GitHub <noreply@github.com >
2026-07-24 03:00:30 +02:00
Fernando Fernández
a1e76a972a
chore(devcontainer): add new lockfile
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-07-09 17:24:01 +02:00
Fernando Fernández
6e49cad77c
fix(devcontainer): local devcontainer (no Codespaces) on VSCode installed with Flatpak
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-07-09 17:23:04 +02:00
Fernando Fernández
7169c5d8ef
style: automatic eslint fix
...
Signed-off-by: GitHub <noreply@github.com >
2026-07-06 17:05:06 +02:00
Fernando Fernández
127f13836f
chore: disable aggressive unicorn rules, manual fix for promise-related errors
...
Signed-off-by: GitHub <noreply@github.com >
2026-07-06 17:05:06 +02:00
Fernando Fernández
267bc0ed4c
fix(build): endless screen
...
Disable experimental lazyBarrel to fix Vuetify modules failing to import.
See https://github.com/vitejs/vite/issues/22779 and https://github.com/rolldown/rolldown/issues/9964
Signed-off-by: GitHub <noreply@github.com >
2026-06-26 19:18:40 +00:00
Fernando Fernández
605bc1e7f8
chore(build): enable chunkImportMap
...
This reduces the amount of cache busting needed when updating modules
Signed-off-by: GitHub <noreply@github.com >
2026-06-26 19:17:31 +00:00
Fernando Fernández
8cc217661d
style: automatic eslint fix
...
Signed-off-by: GitHub <noreply@github.com >
2026-06-17 12:30:15 +00:00
Fernando Fernández
9d14ef0e57
chore(lint): update rules
...
Signed-off-by: GitHub <noreply@github.com >
2026-06-17 11:52:28 +00:00
Fernando Fernández
d17f85be4d
fix(router): circular dependency
...
Signed-off-by: GitHub <noreply@github.com >
2026-06-17 13:41:52 +02:00
Fernando Fernández
f74c6e6122
fix(build): cycle check after upgrading to Vite 8
...
Vite 8 changed the bundler to rolldown, which didn't emit a CIRCULAR_DEPENDENCY warning by default, so our logic stopped working.
Signed-off-by: GitHub <noreply@github.com >
2026-06-17 13:41:52 +02:00
Fernando Fernández
12dc9da12b
refactor(pages): switch to definePage macro ( #2817 )
...
definePage provides typings and extra functionality (like beforeEnter route guard)
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-06-05 11:51:57 +00:00
Fernando Fernández
4b948813f1
chore: automatic eslint fix
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-06-05 13:16:05 +02:00
Fernando Fernández
f50cbfd60e
ci: harden
...
After the release 3.1.0 release of eps1lon/actions-label-merge-conflict, documentation about how to harden the token was provided.
The action now uses the default GITHUB_TOKEN
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-06-05 12:43:58 +02:00
Fernando Fernández
aaf2256030
chore: update routes.d.ts
...
This file is autogenerated
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-06-05 12:14:51 +02:00
Fernando Fernández
d356d11905
chore: upgrade deprecated eslint rule
...
Signed-off-by: GitHub <noreply@github.com >
2026-05-16 13:07:10 +00:00
Fernando Fernández
7aa9a8c3d6
chore(pnpm): update workspace settings
...
Signed-off-by: GitHub <noreply@github.com >
2026-05-16 14:40:08 +02:00
Fernando Fernández
0c8e674b0a
chore(pnpm): switch to pnpm ci
...
Signed-off-by: GitHub <noreply@github.com >
2026-05-16 14:40:08 +02:00
Fernando Fernández
cc320b9e50
chore(pnpm): set allowBuild property
...
Signed-off-by: GitHub <noreply@github.com >
2026-05-16 14:40:08 +02:00
Fernando Fernández
141bcddbb0
ci(renovate): match stability days with pnpm v11
...
See https://pnpm.io/supply-chain-security#delay-dependency-updates
pnpm 11 also reduces the attack surface by blocking preinstall scripts by default.
2026-05-16 14:06:20 +02:00
Fernando Fernández
3c793907dc
ci(renovate): separate major pnpm updates only
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-05-08 12:20:09 +02:00
Fernando Fernández
cd73b17966
ci(renovate): extract pnpm to its own group
2026-05-08 11:48:42 +02:00
Fernando Fernández
1e33c3a303
chore(dx): add unocss extension as recommended
2026-04-08 00:53:13 +02:00
Fernando Fernández
9a9b4252be
ci(renovate): separate catalogs for runtime and development dependencies
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 23:02:13 +02:00
Fernando Fernández
06703c8e6c
fix: add extension to imports
...
Adding the extensions to imports simplify module resolution for TypeScript.
This is also now enforced by an ESLint rule.
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
eadb131c2b
fix(eslint): typescript resolver
...
This prevented linting altogether in the whole monorepo
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
4172c836f3
chore(deps): update eslint-plugin-file-progress & eslint-plugin-sonarjs
...
This was one of the dependencies that was blocking the upgrade to eslint v10
eslint-plugin-sonarjs had vulnerabilities in transitive dependencies
Also sort the package.json in all the projects to follow the schema (https://json.schemastore.org/package.json )
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
de6989c152
ci(pnpm): run a check for monorepo dependency cycles, switch to pnpm i
...
pnpm i is an alias to pnpm install, so the shorter version is desired
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
de14c404e6
fix(monorepo): cyclic workspace dependency between shared and configs
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
68673a092f
chore(monorepo): move frontend under packages folder
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
f82cf2bdea
ci(renovate): run pnpm dedupe on every dependency update
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
f00e60fcd3
chore: migrate to pnpm
...
NPM refuses to acknowledge their limitations when working with monorepos
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
bd0809953b
chore(typescript): remove deprecated baseUrl option
...
The baseUrl tsconfig option was deprecated in TypeScript 6.
Also fixed the TypeScript monorepo config, making type checking isolated to each project and resolution of monorepo's types outside the package that it's running the check.
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-07 18:58:12 +02:00
Fernando Fernández
3f06a18efa
chore: remove deprecated VSCode settings
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-01 20:32:43 +02:00
Fernando Fernández
ddce7a7a53
style: automatic eslint fix
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-04-01 20:31:00 +02:00
Fernando Fernández
ba835146d0
fix(tauri-runtime): missing unocss config ( #2760 )
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 14:43:54 +00:00
Fernando Fernández
427fc68e53
chore(deps): move @unocss/reset to devDependencies
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 16:06:18 +02:00
Fernando Fernández
1c23f65588
ci: move back attestation to origin jobs
...
The collector job didn't take into account attestations for multiple arches.
The fix for that would be a bit overengineered, so we make it back to the original jobs. The permissions given to the jobs are minimal (only attestattion creation would be possible), so the attack surface of scripts would be minimal
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 11:28:19 +02:00
Fernando Fernández
36088021cb
ci: replace actions/attest-build-provenance with actions/attest
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 11:06:55 +02:00
Fernando Fernández
2588d8e4ce
ci: more explicit permissions, separate artifact attestations in different job
...
To satisfy the requirements pointed at https://github.com/jellyfin/jellyfin-vue/pull/2735
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 11:06:55 +02:00
Fernando Fernández
0d567a1234
revert: "Mitigate pull_request_target privilege escalation ( #2735 )"
...
This reverts commit 1a9c256903 .
See https://github.com/jellyfin/jellyfin-vue/pull/2735#issuecomment-4077194367 and
https://github.com/jellyfin/jellyfin-vue/pull/2735#issuecomment-4148987114 for more details.
2026-03-30 11:05:07 +02:00
Fernando Fernández
6c42ad1bfa
ci(renovate): pin gh actions versions by sha
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-03-30 11:05:07 +02:00
Fernando Fernández
3398fefdcd
feat(ecmascript)!: switch to ES2024 ( #2505 )
...
The ECMAScript upgrade is needed for `Object.groupBy`, which we use across the codebase
2026-03-22 11:25:36 +01:00
Fernando Fernández
9d8c9080ed
fix(login): loop ( #2749 )
...
Ensure the order where modules are loaded is strict
Signed-off-by: GitHub <noreply@github.com >
2026-03-21 12:01:49 +00:00
Fernando Fernández
5d262e5552
refactor(deps): update bundler logic for Vite 8
...
Signed-off-by: GitHub <noreply@github.com >
2026-03-16 17:10:44 +01:00
Fernando Fernández
d325b00a94
chore(deps): upgrade to Vite 8
...
Signed-off-by: GitHub <noreply@github.com >
2026-03-16 17:10:44 +01:00
Fernando Fernández
4faf77011c
chore(deps): add @unocss/reset explicitly
...
This was working previously because @unocss/astro was included in the core package, but now it isn't. With this, we are sure it's always included
See https://github.com/unocss/unocss/issues/5152#issuecomment-4067846093
Signed-off-by: GitHub <noreply@github.com >
2026-03-16 16:43:44 +01:00
Fernando Fernández
e75ea6bdc8
chore(deps): remove stylus npm override ( #2740 )
...
eslint-plugin-vue-scoped-css finally moved processor deps to peer dependencies, so we no longer need the override to avoid warnings
Signed-off-by: GitHub <noreply@github.com >
2026-03-03 11:25:24 +00:00
Fernando Fernández
f3bf2741af
chore: update to vue-router v5
2026-02-22 22:53:02 +01:00
Fernando Fernández
38fcd50f54
ci: use new ubuntu-slim runners
...
For lightweight tasks, will probably allow for more concurrency across the entire org
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2026-01-28 23:38:09 +01:00
Fernando Fernández
da58793546
fix: apply vuetify update with further memory leak fixes
...
Signed-off-by: GitHub <noreply@github.com >
2025-12-13 19:49:22 +00:00
Fernando Fernández
1f4e44b638
style: automatic eslint fixes
...
Signed-off-by: GitHub <noreply@github.com >
2025-11-24 18:02:58 +00:00
Fernando Fernández
67d9f6048e
fix(vuetify): dependency cycle
...
The dependency loop we had was fixed in Vuetify v3.11.0
Signed-off-by: GitHub <noreply@github.com >
2025-11-24 18:02:50 +00:00
Fernando Fernández
c6b982a631
ci(devcontainer): fix build on debian trixie
2025-11-24 18:53:30 +01:00
Fernando Fernández
4fd64f8a26
chore: fix potential script injection in GitHub Actions [security]
...
Signed-off-by: GitHub <noreply@github.com >
2025-10-29 10:37:44 +00:00
Fernando Fernández
16e20f3f4d
chore: update minimum requirements to node 24
...
Node 24 was promted to stable th 28/10/2025
Signed-off-by: GitHub <noreply@github.com >
2025-10-29 10:02:49 +00:00
Fernando Fernández
a4a88bea36
fix: workaround swiper's slide index calculation ( #2705 )
...
There is a bug with the Vue's component of swiper that does not like how slides are passed as slots
Signed-off-by: GitHub <noreply@github.com >
2025-10-29 02:03:10 +01:00
Fernando Fernández
50a217c5ea
chore(package): add packageManager field
...
The `actions/setup-node` makes use of this field, and I guess it
makes sense to use the new "official" way (though it's still experimental)
to hint environments of which package managers are being used
in the project.
Signed-off-by: GitHub <noreply@github.com >
2025-10-12 15:30:24 +00:00
Fernando Fernández
5c7db7cc75
chore: update generated files
...
Signed-off-by: GitHub <noreply@github.com >
2025-10-12 15:15:23 +00:00
Fernando Fernández
8f8c1874a8
fix(playback): guard against track restart on swiper update
...
Signed-off-by: GitHub <noreply@github.com >
2025-10-12 15:15:14 +00:00
Fernando Fernández
ca3786b0f3
fix(JAnchor): don't render on unsupported browsers
2025-07-10 08:16:45 +00:00
Fernando Fernández
da80655bd9
perf(JVirtual): reduce iterations when accessing, improve keying ( #2676 )
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-07-06 20:17:06 +00:00
Fernando Fernández
898e4ae770
chore(sonda): update report handling
2025-06-20 21:37:24 +02:00
Fernando Fernández
e1ede821a8
chore: simplify dependency tree
...
The current strict peer dependency graph confused npm. This way, peer deps should be resolved in a much better way
2025-06-05 23:49:33 +00:00
Fernando Fernández
456f93b008
chore(deps): update storybook to v9
2025-06-05 22:37:46 +00:00
Fernando Fernández
e567ed58d3
chore(eslint): point eslint-plugin-import-x to the appropiate package.json paths
2025-06-05 22:37:46 +00:00
Fernando Fernández
b187fc5968
fix: redirect on playback finish on fullscren pages
2025-05-20 20:44:00 +00:00
Fernando Fernández
a23d625508
docs(README): add screenshot, info for users without a Jellyfin server
2025-05-18 14:24:54 +02:00
Fernando Fernández
fb620197d9
feat: use IndexedDB for api layer storage ( #2652 )
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-18 09:37:33 +00:00
Fernando Fernández
8a624c02e5
fix(JVirtual): check for existence on slot
...
When changing arrays, given there is a tiny delay caused by the worker,
the visibleItems array might not match with the current passed one.
Fixes #2624
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-18 02:22:05 +02:00
Fernando Fernández
2b6868dfd3
fix(vite): analyze:bundle command not working
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-18 02:21:50 +02:00
Fernando Fernández
6cd39aa1b0
fix(api): extract unrefing logic to separate function
...
Also allow normal for loops in eslint, since
they are the most efficient for accessing collections
where the index is also needed during normal interation
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-15 18:04:45 +02:00
Fernando Fernández
0b7c27797f
chore: minor typescript improvements
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-13 09:19:04 +02:00
Fernando Fernández
e3cf091d3b
fix(composables): narrow BaseItem typing at api composable, allow getters for methodNames
2025-05-12 22:00:22 +00:00
Fernando Fernández
e576b7348f
fix: lint errors
...
Some of them weren't solved previously because it was needed to be verified that the lifecycle of the logout process was correct
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-08 16:44:15 +02:00
Fernando Fernández
ae2e53a36d
feat(playback): fix concurrency
...
Even though we handled the connection/disconnection of nodes properly, the AudioContext marks an HTMLMediaElement as already attached to a node, so our best bet is to instantiate/dispose the AudioContext on demand (removing the console warning that appeared when booting the client along the way)
Also create a PromiseQueue class for enqueuing promises easily
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-08 16:15:11 +02:00
Fernando Fernández
58404e1fce
fix(i18n): re-fix types
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-07 15:17:57 +02:00
Fernando Fernández
5e0bae0812
refactor: re-export some utils from @vue/shared
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-07 00:37:33 +02:00
Fernando Fernández
c5d0423d7b
fix(i18n): types
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-07 00:21:22 +02:00
Fernando Fernández
b26208592f
perf: load only the used locales into memory
...
This reduces the memory footprint by 2 MB
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-06 20:56:54 +02:00
Fernando Fernández
ed169bd523
chore: vite as peerDependencies in @jellyfin-vue/tauri-packaging
...
Vite is now a monorepo-wide package anyway
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-05 19:38:29 +02:00
Fernando Fernández
1d2986d228
chore: add @eslint/json and @eslint/css
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-05 19:18:45 +02:00
Fernando Fernández
127f6329e2
chore: remove npm warnings
...
By overriding the version of the stylus package, we can
fix all the given warnings.
Patches will be filed upstream, but this is a bandaid
for now.
2025-05-05 06:24:37 +00:00
Fernando Fernández
5d7da806e4
test: update import paths
2025-05-04 10:45:48 +00:00
Fernando Fernández
e9f234aa2a
chore: remove missing unused imports
2025-05-04 10:24:19 +00:00
Fernando Fernández
bbadeb029a
chore: fix invalid ampersand escaping introduced by Weblate
2025-05-04 10:15:50 +00:00
Fernando Fernández
da2116b1fb
perf(JVirtual): avoid unnecessary call
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-01 10:38:52 +02:00
Fernando Fernández
4cee2cf280
fix: dev mode with i18n virtual modules
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-05-01 10:38:52 +02:00
Fernando Fernández
81a60d2050
refactor(shared): extract node utils to their own namespace
2025-04-30 15:01:31 +00:00
Fernando Fernández
ccbd5d02aa
style: automatic eslint fix
2025-04-30 14:49:29 +00:00
Fernando Fernández
bd674d8337
chore(lint): force props destructuring
2025-04-30 14:39:07 +00:00
Fernando Fernández
70cc8faa88
feat: use fully spinning cursor in splashcreen
...
Previously, we used the `cursor: wait` whenever the application was globally loading. However, it
was switched to `cursor: progress`, since the application is still clickable and responsive while loading is in progress and it made sense to show a spinner alongside a pointer.
However, during the splashscreen, besides the button, there is no other interaction possible, so this is the only place where it still makes sense to show the `cursor: wait`
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-30 00:55:22 +02:00
Fernando Fernández
401e3203e8
perf: reduce messaging time between workers
...
Having 2 workers allowed more parallelism, since we could be decoding and drawing at the same time.
However, this taxed more the main thread, which had to coordinate both jobs, increasing the messaging time.
Having more than one worker also increases the memory footprint of the whole application
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-30 00:36:49 +02:00
Fernando Fernández
87a40c1667
refactor: remove unnecessary signature from useTemplateRef
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-29 23:58:42 +02:00
Fernando Fernández
4c93f8ad88
refactor(i18n): replace vue-i18n interpolation with i18next style
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-29 21:53:39 +02:00
Fernando Fernández
57bb098bd8
ci(renovate): don't pin peerDependencies
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-29 20:27:08 +02:00
Fernando Fernández
2567d33d69
chore: further monorepo cleanup
...
Signed-off-by: Fernando Fernández <ferferga@hotmail.com >
2025-04-29 20:18:21 +02:00