Skip to content

Update to jellyfin 12#12

Open
rlauuzo wants to merge 9 commits into
masterfrom
12.0
Open

Update to jellyfin 12#12
rlauuzo wants to merge 9 commits into
masterfrom
12.0

Conversation

@rlauuzo

@rlauuzo rlauuzo commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary by Sourcery

Update the plugin to target Jellyfin 12 and .NET 10, aligning documentation, build metadata, and CI workflows with the new runtime and artifact paths.

Build:

  • Update build.yaml to target ABI 12.0.0.0, framework net10.0, and note Jellyfin 12 compatibility in the changelog.

CI:

  • Adjust GitHub workflows to use .NET 10.0.x and to package/upload the net10.0 plugin DLL in build and release pipelines.

Documentation:

  • Refresh README to document Jellyfin 12.0.0+ requirement, .NET 10 SDK usage, and the net10.0 plugin binary path.

Chores:

  • Remove obsolete jellyfin.ruleset and update editor/VS Code configuration files as part of the Jellyfin 12 migration.

@sourcery-ai

sourcery-ai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR updates the plugin to target Jellyfin 12 and .NET 10, aligning build, packaging, and documentation with the new framework/ABI and simplifying linting/ruleset configuration.

File-Level Changes

Change Details Files
Retarget plugin and packaging metadata to Jellyfin 12 and .NET 10.
  • Update plugin manifest target ABI from 10.11.5.0 to 12.0.0.0
  • Update plugin manifest framework from net9.0 to net10.0
  • Adjust manifest changelog entry to mention Jellyfin 12 compatibility
build.yaml
Align documentation with new Jellyfin and .NET requirements.
  • Change installation path references from net9.0 to net10.0
  • Increase minimum Jellyfin Server version requirement to 12.0.0
  • Update documented build requirement from .NET SDK 9.0 to 10.0
  • Update note about plugin target framework from net9.0 to net10.0
README.md
Update CI workflows to use .NET 10 and the new output path.
  • Update actions/setup-dotnet configuration in build workflow from 9.0.x to 10.0.x
  • Update build workflow artifact path from net9.0 to net10.0
  • Update actions/setup-dotnet configuration in release workflow from 9.0.x to 10.0.x
  • Update release packaging step to zip the net10.0 build output
  • Update actions/setup-dotnet configuration in CodeQL workflow from 9.0.x to 10.0.x
.github/workflows/build.yml
.github/workflows/release.yml
.github/workflows/codeql.yml
Adjust or remove editor and ruleset configuration to match the new setup.
  • Modify editor configuration (details not shown in diff) to align with updated project style or tooling
  • Update VS Code launch/tasks configurations (details not shown in diff) for the new target framework/runtime
  • Remove the Jellyfin-specific ruleset file, implying use of default or alternative code analysis settings
.editorconfig
.vscode/launch.json
.vscode/tasks.json
jellyfin.ruleset
Retarget the plugin project to .NET 10 to match Jellyfin 12 requirements.
  • Update the project target framework from net9.0 to net10.0 (inferred from surrounding changes, details not shown in diff)
SegmentEditorPlugin/SegmentEditorPlugin.csproj

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The removal of jellyfin.ruleset without a replacement means any custom analyzer/rule configuration tied to Jellyfin conventions will be lost; if that wasn’t intentional, consider either keeping it or migrating its settings into .editorconfig before dropping the file.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The removal of `jellyfin.ruleset` without a replacement means any custom analyzer/rule configuration tied to Jellyfin conventions will be lost; if that wasn’t intentional, consider either keeping it or migrating its settings into `.editorconfig` before dropping the file.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .editorconfig
# error on SA1414: Tuple types in signatures should have element names
dotnet_diagnostic.SA1414.severity = error

# disable warning SA1513: Closing brace should be followed by blank line

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Comment says "disable warning" but severity is set to error

The comment claims SA1513 is disabled, but dotnet_diagnostic.SA1513.severity = error enables it as an error. This inconsistency could confuse developers during build failures.

Suggested change
# disable warning SA1513: Closing brace should be followed by blank line
# error on SA1513: Closing brace should be followed by blank line
dotnet_diagnostic.SA1513.severity = error

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread .editorconfig
# disable warning CA5394: Do not use insecure randomness
dotnet_diagnostic.CA5394.severity = suggestion

# error on CA3003: Review code for file path injection vulnerabilities

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Comment says "error on" but severity is set to suggestion

The comment claims CA3003 is enforced as an error, but dotnet_diagnostic.CA3003.severity = suggestion downgrades it to a suggestion. This inconsistency could lead to unexpected build behavior.

Suggested change
# error on CA3003: Review code for file path injection vulnerabilities
# disable warning CA3003: Review code for file path injection vulnerabilities
dotnet_diagnostic.CA3003.severity = suggestion

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread .editorconfig
# error on CA3003: Review code for file path injection vulnerabilities
dotnet_diagnostic.CA3003.severity = suggestion

# error on CA3006: Review code for process command injection vulnerabilities

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: Comment says "error on" but severity is set to suggestion

The comment claims CA3006 is enforced as an error, but dotnet_diagnostic.CA3006.severity = suggestion downgrades it to a suggestion. This inconsistency could lead to unexpected build behavior.

Suggested change
# error on CA3006: Review code for process command injection vulnerabilities
# disable warning CA3006: Review code for process command injection vulnerabilities
dotnet_diagnostic.CA3006.severity = suggestion

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (4 files)
  • .github/segment-editor-master.sha
  • .github/workflows/release.yml
  • Directory.Build.props
  • SegmentEditorPlugin/Configuration/configPage.html
Notes

The incremental change updates the release workflow to target the 12.0 branch directly, bumps the plugin version to 12.0.1.0 for the Jellyfin 12 / .NET 10 migration, and refreshes the frontend asset hashes in configPage.html to match the rebuilt segment-editor bundle. No bugs, security issues, or breaking changes found in the changed lines.

No C# source files were changed in this diff, so the design-pattern review does not apply to the incremental changes.

Prior review findings on .editorconfig (lines 237, 416, 419) and SegmentEditorPlugin/Controllers/SegmentEditorController.cs (line 64) remain on files outside this incremental diff and are not carried forward.

Previous Review Summaries (5 snapshots, latest commit ebf053b)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit ebf053b)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (3 files)
  • .github/workflows/build.yml
  • .github/workflows/release.yml
  • SegmentEditorPlugin/Configuration/configPage.html
Notes

The incremental change since the prior review adds CI logic that derives the frontend SPA mount element id from the built dist/index.html and rewrites the config page mount <div> to match, with RuntimeError guards and a count=1 scoped replacement. The corresponding configPage.html default mount id (segment-editor-root) is consistent with that logic. No bugs, security issues, or breaking changes found in the changed lines.

Prior .editorconfig suggestions (lines 237, 416, 419) are on a file outside this incremental diff and are therefore not carried forward in this incremental review.

Previous review (commit 6976305)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (3 files)
  • .github/workflows/build.yml
  • .github/workflows/release.yml
  • SegmentEditorPlugin/Configuration/configPage.html
Notes

The incremental change since the prior review adds CI logic that derives the frontend SPA mount element id from the built dist/index.html and rewrites the config page mount <div> to match, with RuntimeError guards and a count=1 scoped replacement. The corresponding configPage.html default mount id (segment-editor-root) is consistent with that logic. No bugs, security issues, or breaking changes found in the changed lines.

Prior .editorconfig suggestions (lines 237, 416, 419) are on a file outside this incremental diff and are therefore not carried forward in this incremental review.

Previous review (commit eab3b80)

Status: 3 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 3
Issue Details (click to expand)

SUGGESTION

File Line Issue
.editorconfig 237 Comment says "disable warning" but severity is set to error for SA1513 (Closing brace should be followed by blank line)
.editorconfig 416 Comment says "error on" but severity is set to suggestion for CA3003 (file path injection)
.editorconfig 419 Comment says "error on" but severity is set to suggestion for CA3006 (process command injection)
Files Reviewed
  • .editorconfig - 3 issues (carried forward; file unchanged since prior review, findings still active)
  • SegmentEditorPlugin/Configuration/configPage.html - reviewed new changes (PATCH 4/4); no new issues found

Fix these issues in Kilo Cloud

Previous review (commit 8517d52)

Status: 3 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 3
Issue Details (click to expand)

SUGGESTION

File Line Issue
.editorconfig 237 Comment says "disable warning" but severity is set to error for SA1513 (Closing brace should be followed by blank line)
.editorconfig 416 Comment says "error on" but severity is set to suggestion for CA3003 (file path injection)
.editorconfig 419 Comment says "error on" but severity is set to suggestion for CA3006 (process command injection)
Files Reviewed (10 files)
  • .editorconfig - 3 issues (comment/severity mismatches in analyzer rules; re-verified, unchanged since prior review)
  • .github/workflows/build.yml - reviewed, no issues
  • .github/workflows/codeql.yml - reviewed, no issues
  • .github/workflows/release.yml - reviewed, no issues
  • .vscode/launch.json - reviewed, no issues
  • .vscode/tasks.json - reviewed, no issues
  • README.md - reviewed, no issues
  • SegmentEditorPlugin/Configuration/configPage.html - reviewed, no issues
  • SegmentEditorPlugin/SegmentEditorPlugin.csproj - reviewed, no issues
  • build.yaml - reviewed, no issues
  • jellyfin.ruleset - deleted, no issues

Fix these issues in Kilo Cloud

Previous review (commit a4b7068)

Status: 3 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 3
Issue Details (click to expand)

SUGGESTION

File Line Issue
.editorconfig 237 Comment says "disable" but severity is set to error
.editorconfig 416 Comment says "error on" but severity is set to suggestion
.editorconfig 419 Comment says "error on" but severity is set to suggestion
Files Reviewed (3 files)
  • .editorconfig - 3 issues (comment/severity mismatches in added analyzer rules)
  • SegmentEditorPlugin/SegmentEditorPlugin.csproj - reviewed, no issues
  • build.yaml - reviewed, no issues

Note

This PR does not modify any C# source files (.cs), so design pattern review of changed code is not applicable. The review above covers .NET configuration and analyzer rule changes only.

Fix these issues in Kilo Cloud


Reviewed by step-3.7-flash · Input: 65.1K · Output: 10.2K · Cached: 122K

/// <returns>The action result.</returns>
[HttpGet("assets/{**path}")]
[ResponseCache(Duration = 86400)]
[ResponseCache(Duration = AssetCacheDurationSeconds)]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[🟡 Medium] [🔵 Bug]

GetAssets is annotated with a one-day ResponseCache, but the method then tries to force index.js to no-cache; in ASP.NET Core, the ResponseCache filter writes cache headers at result stage and can overwrite/negate the manual header, so the SPA entrypoint may still be cached and clients can run stale bundles after deploys. Fix by excluding index.js from the cached action path (separate endpoint or conditional result filter behavior) so header policy is unambiguous.

// SegmentEditorPlugin/Controllers/SegmentEditorController.cs
[HttpGet("assets/{**path}")]
[ResponseCache(Duration = AssetCacheDurationSeconds)]
public ActionResult GetAssets(string path)
{
    ...

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.

1 participant