Skip to content

Add support for Jellyfin #2243

Closed
enoch85 wants to merge 8 commits into
Maintainerr:jellyfin-devfrom
enoch85:jellyfin/1-contracts-types
Closed

Add support for Jellyfin #2243
enoch85 wants to merge 8 commits into
Maintainerr:jellyfin-devfrom
enoch85:jellyfin/1-contracts-types

Conversation

@enoch85

@enoch85 enoch85 commented Jan 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add shared TypeScript types, interfaces, and DTOs to the contracts package to support Jellyfin integration alongside the existing Plex support.

Changes

New Types (packages/contracts/src/media-server/)

  • Add MediaServerType enum (Plex, Jellyfin)
  • Add MediaItem, MediaItemType, MediaItemWithParent types
  • Add MediaServerFeature flags for capability detection
  • Add Library, LibraryType, LibraryItem interfaces
  • Add Jellyfin and Plex settings DTOs
  • Add RuleSource enum for rule constants
  • Move plex types to media-server/plex/

This is the foundation for multi-media-server support.


This PR is part 1 of 14 in the Jellyfin integration series. The work has been split into reviewable chunks for easier code review.

Upstream PR (targeting Maintainerr/Maintainerr:jellyfin-dev)

PR Title Link
1 Add support for Jellyfin This PR

Fork PRs (chained in enoch85/Maintainerr)

PR Title Link
2 feat(server): add media server abstraction interface and constants #11
3 feat(server): add Plex adapter implementing media server interface #12
4 feat(server): add Jellyfin adapter, controller and unified API #13
5 feat(server): update rules constants for multi-media-server support #14
6 feat(server): add Jellyfin getter service for rules engine #15
7 feat(server): update rules engine for multi-media-server support #16
8 feat(server): update collections for multi-media-server support #17
9 feat(server): add settings for Jellyfin and rule migration #18
10 feat(server): update action handlers and misc modules #19
11 feat(ui): add Jellyfin support and media server selector #20
12 feat(server): add database migrations for Jellyfin support #21
13 docs: add Jellyfin documentation, dev setup, and dependencies #22
14 chore: remove development helpers and temp docs #23

Backup

All changes are preserved in tag jellyfin-complete-backup for reference.

benscobie and others added 8 commits December 29, 2025 20:38
…inerr#2231)

Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.50.1 to 8.51.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tainerr#2232)

Bumps [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) from 5.90.14 to 5.90.15.
- [Release notes](https://github.com/TanStack/query/releases)
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md)
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.90.15/packages/react-query)

---
updated-dependencies:
- dependency-name: "@tanstack/react-query"
  dependency-version: 5.90.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ntainerr#2234)

Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 29.11.1 to 29.11.2.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](jest-community/eslint-plugin-jest@v29.11.1...v29.11.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-version: 29.11.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.50.1 to 8.51.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Maintainerr#2235)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.50.1 to 8.51.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.51.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.51.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Add MediaServerType enum (Plex, Jellyfin)
- Add MediaItem, MediaItemType, MediaItemWithParent types
- Add MediaServerFeature flags for capability detection
- Add Library, LibraryType, LibraryItem interfaces
- Add Jellyfin and Plex settings DTOs
- Add RuleSource enum for rule constants
- Move plex types to media-server/plex/

This is the foundation for multi-media-server support.
@enoch85 enoch85 changed the title feat(contracts): add media server types, DTOs, and enums Add support for Jellyfin Jan 2, 2026
@enoch85 enoch85 closed this Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants