[PR #14755] [MERGED] Fix sync disposal of async-created IAsyncDisposable objects #14100

Closed
opened 2026-02-07 07:24:24 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/14755
Author: @evan314159
Created: 9/6/2025
Status: Merged
Merged: 9/16/2025
Merged by: @crobibero

Base: masterHead: fix-await


📝 Commits (4)

  • 380f453 Fix sync disposal of async-created IAsyncDisposable objects
  • cd0e0fd Update src/Jellyfin.CodeAnalysis/AnalyzerReleases.Shipped.md
  • ef74997 Merge branch 'master' into fix-await
  • d438f93 Apply suggestions from review

📊 Changes

10 files changed (+255 additions, -110 deletions)

View changed files

📝 Directory.Build.props (+5 -0)
📝 Directory.Packages.props (+5 -2)
📝 Jellyfin.Server.Implementations/Item/KeyframeRepository.cs (+8 -5)
📝 Jellyfin.Server.Implementations/MediaSegments/MediaSegmentManager.cs (+107 -93)
📝 Jellyfin.Server/Migrations/Routines/FixDates.cs (+11 -8)
📝 Jellyfin.sln (+7 -0)
📝 MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs (+4 -2)
src/Jellyfin.CodeAnalysis/AnalyzerReleases.Shipped.md (+9 -0)
src/Jellyfin.CodeAnalysis/AsyncDisposalPatternAnalyzer.cs (+82 -0)
src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj (+17 -0)

📄 Description

Changes
Fix sync disposal of async-created IAsyncDisposable objects and add Roslyn analyzer
Existing IDisposableAnalyzers (IDISP013) do not address case of objects that are both IAsyncDisposable and IDisposable which is the case here


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/14755 **Author:** [@evan314159](https://github.com/evan314159) **Created:** 9/6/2025 **Status:** ✅ Merged **Merged:** 9/16/2025 **Merged by:** [@crobibero](https://github.com/crobibero) **Base:** `master` ← **Head:** `fix-await` --- ### 📝 Commits (4) - [`380f453`](https://github.com/jellyfin/jellyfin/commit/380f453a2f4cfa8842d94cd075f072224ffbb329) Fix sync disposal of async-created IAsyncDisposable objects - [`cd0e0fd`](https://github.com/jellyfin/jellyfin/commit/cd0e0fd356096fe2237d9d1490aee4d17bc534d2) Update src/Jellyfin.CodeAnalysis/AnalyzerReleases.Shipped.md - [`ef74997`](https://github.com/jellyfin/jellyfin/commit/ef7499710a0a403c62fdc8c5d43f19e05977ea81) Merge branch 'master' into fix-await - [`d438f93`](https://github.com/jellyfin/jellyfin/commit/d438f93cf08a25c80fcfb83dee1ccd5389cf82c9) Apply suggestions from review ### 📊 Changes **10 files changed** (+255 additions, -110 deletions) <details> <summary>View changed files</summary> 📝 `Directory.Build.props` (+5 -0) 📝 `Directory.Packages.props` (+5 -2) 📝 `Jellyfin.Server.Implementations/Item/KeyframeRepository.cs` (+8 -5) 📝 `Jellyfin.Server.Implementations/MediaSegments/MediaSegmentManager.cs` (+107 -93) 📝 `Jellyfin.Server/Migrations/Routines/FixDates.cs` (+11 -8) 📝 `Jellyfin.sln` (+7 -0) 📝 `MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs` (+4 -2) ➕ `src/Jellyfin.CodeAnalysis/AnalyzerReleases.Shipped.md` (+9 -0) ➕ `src/Jellyfin.CodeAnalysis/AsyncDisposalPatternAnalyzer.cs` (+82 -0) ➕ `src/Jellyfin.CodeAnalysis/Jellyfin.CodeAnalysis.csproj` (+17 -0) </details> ### 📄 Description **Changes** Fix sync disposal of async-created IAsyncDisposable objects and add Roslyn analyzer Existing IDisposableAnalyzers (IDISP013) do not address case of objects that are both IAsyncDisposable and IDisposable which is the case here --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 07:24:24 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#14100