diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml
index 73db910b2..177d62ea5 100644
--- a/.github/workflows/artifacts.yml
+++ b/.github/workflows/artifacts.yml
@@ -57,7 +57,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
@@ -172,7 +172,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
@@ -229,7 +229,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 0ffbd14c1..259419b7f 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -14,7 +14,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
@@ -36,7 +36,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
@@ -72,7 +72,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
@@ -100,7 +100,7 @@ jobs:
- name: Setup dotnet
uses: actions/setup-dotnet@v4
with:
- dotnet-version: '10.0.102'
+ dotnet-version: '10.0.x'
- name: Clean
run: dotnet clean --configuration Release && dotnet nuget locals all --clear
diff --git a/ErsatzTV.Application/ErsatzTV.Application.csproj b/ErsatzTV.Application/ErsatzTV.Application.csproj
index fea5a50c3..2d23bfa0e 100644
--- a/ErsatzTV.Application/ErsatzTV.Application.csproj
+++ b/ErsatzTV.Application/ErsatzTV.Application.csproj
@@ -2,7 +2,7 @@
net10.0
- VSTHRD200
+ VSTHRD200,CA1873
enable
latest-Recommended
true
diff --git a/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs b/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs
index ff89d948b..b41375354 100644
--- a/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs
+++ b/ErsatzTV.Application/Streaming/Queries/GetPlayoutItemProcessByChannelNumberHandler.cs
@@ -498,7 +498,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
Option maybeDuration = maybeNextStart.Map(s => s - now);
// limit working ahead on errors to 1 minute
- if (!request.HlsRealtime && maybeDuration.IfNone(TimeSpan.FromMinutes(2)) > TimeSpan.FromMinutes(1))
+ if (!request.HlsRealtime && await maybeDuration.IfNoneAsync(TimeSpan.FromMinutes(2)) > TimeSpan.FromMinutes(1))
{
maybeNextStart = now.AddMinutes(1);
maybeDuration = TimeSpan.FromMinutes(1);
@@ -766,7 +766,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
.ToListAsync(cancellationToken);
// always play min(duration to next item, version.Duration)
- TimeSpan duration = maybeDuration.IfNone(version.Duration);
+ TimeSpan duration = await maybeDuration.IfNoneAsync(version.Duration);
if (version.Duration < duration)
{
duration = version.Duration;
diff --git a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
index 31a67fb78..23f6cc585 100644
--- a/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
+++ b/ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
@@ -2,7 +2,7 @@
net10.0
- VSTHRD200
+ VSTHRD200,CA1873
enable
diff --git a/ErsatzTV.Core/ErsatzTV.Core.csproj b/ErsatzTV.Core/ErsatzTV.Core.csproj
index 475fcd531..e02bc5382 100644
--- a/ErsatzTV.Core/ErsatzTV.Core.csproj
+++ b/ErsatzTV.Core/ErsatzTV.Core.csproj
@@ -2,7 +2,7 @@
net10.0
- VSTHRD200
+ VSTHRD200,CA1873
enable
latest-Recommended
true
diff --git a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs
index 7abbf7747..606b82c2a 100644
--- a/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs
+++ b/ErsatzTV.Core/FFmpeg/FFmpegLibraryProcessService.cs
@@ -893,7 +893,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
playbackSettings.NormalizeColors,
playbackSettings.Deinterlace);
- var frameRate = playbackSettings.FrameRate.IfNone(new FrameRate("24"));
+ var frameRate = await playbackSettings.FrameRate.IfNoneAsync(new FrameRate("24"));
var ffmpegVideoStream = new VideoStream(
0,
diff --git a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
index 8605f656f..068391dc3 100644
--- a/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
+++ b/ErsatzTV.FFmpeg/ErsatzTV.FFmpeg.csproj
@@ -7,7 +7,7 @@
latest-Recommended
true
true
- VSTHRD200
+ VSTHRD200,CA1873
diff --git a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
index 8302df518..6e9575e54 100644
--- a/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
+++ b/ErsatzTV.Infrastructure.Tests/ErsatzTV.Infrastructure.Tests.csproj
@@ -4,7 +4,7 @@
net10.0
enable
enable
- VSTHRD200
+ VSTHRD200,CA1873
false
diff --git a/ErsatzTV.Infrastructure/Data/DbInitializer.cs b/ErsatzTV.Infrastructure/Data/DbInitializer.cs
index b0d2add93..3ee194d9d 100644
--- a/ErsatzTV.Infrastructure/Data/DbInitializer.cs
+++ b/ErsatzTV.Infrastructure/Data/DbInitializer.cs
@@ -48,25 +48,22 @@ public static class DbInitializer
if (resource != null)
{
using var reader = new StreamReader(resource);
- while (!reader.EndOfStream)
+ string line;
+ while ((line = await reader.ReadLineAsync(cancellationToken)) is not null)
{
- string line = await reader.ReadLineAsync(cancellationToken);
- if (line != null)
+ string[] split = line.Split("|");
+ if (split.Length == 5)
{
- string[] split = line.Split("|");
- if (split.Length == 5)
+ var languageCode = new LanguageCode
{
- var languageCode = new LanguageCode
- {
- ThreeCode1 = split[0],
- ThreeCode2 = split[1],
- TwoCode = split[2],
- EnglishName = split[3],
- FrenchName = split[4]
- };
+ ThreeCode1 = split[0],
+ ThreeCode2 = split[1],
+ TwoCode = split[2],
+ EnglishName = split[3],
+ FrenchName = split[4]
+ };
- await context.LanguageCodes.AddAsync(languageCode, cancellationToken);
- }
+ await context.LanguageCodes.AddAsync(languageCode, cancellationToken);
}
}
}
diff --git a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
index 894748db6..eead7978f 100644
--- a/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
+++ b/ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
@@ -3,7 +3,7 @@
net10.0
true
- VSTHRD200
+ VSTHRD200,CA1873
enable
latest-Recommended
true
diff --git a/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs b/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs
index 0d80a6355..32046c0a5 100644
--- a/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs
+++ b/ErsatzTV.Infrastructure/Metadata/LanguageCodeCache.cs
@@ -21,9 +21,9 @@ public class LanguageCodeCache : ILanguageCodeCache
if (resource != null)
{
using var reader = new StreamReader(resource);
- while (!reader.EndOfStream)
+ string line;
+ while ((line = await reader.ReadLineAsync(cancellationToken)) is not null)
{
- string line = await reader.ReadLineAsync(cancellationToken);
if (string.IsNullOrWhiteSpace(line))
{
continue;
diff --git a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
index a0fcd2ddb..2ceee7724 100644
--- a/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
+++ b/ErsatzTV.Scanner.Tests/ErsatzTV.Scanner.Tests.csproj
@@ -4,7 +4,7 @@
net10.0
enable
enable
-
+ VSTHRD200,CA1873
false
diff --git a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
index 43a4a0862..626120a71 100644
--- a/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
+++ b/ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
@@ -10,6 +10,7 @@
729e6271-c307-43c8-8e36-1b36c39f6de2
latest-Recommended
true
+ VSTHRD200,CA1873
diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj
index d13c75219..8cf704294 100644
--- a/ErsatzTV/ErsatzTV.csproj
+++ b/ErsatzTV/ErsatzTV.csproj
@@ -6,7 +6,7 @@
Latest
false
enable
- VSTHRD200
+ VSTHRD200,CA1873
true
Debug;Release;Debug No Sync
AnyCPU
diff --git a/docker/Dockerfile b/docker/Dockerfile
index fcb2d94ac..25412bd86 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -9,7 +9,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
# https://hub.docker.com/_/microsoft-dotnet
-FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-amd64 AS build
+FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-amd64 AS build
RUN apt-get update && apt-get install -y ca-certificates gnupg default-jre-headless python3-pip
WORKDIR /source
diff --git a/docker/arm32v7/Dockerfile b/docker/arm32v7/Dockerfile
index 9d95d9a9b..546cd8717 100644
--- a/docker/arm32v7/Dockerfile
+++ b/docker/arm32v7/Dockerfile
@@ -4,7 +4,7 @@ FROM --platform=linux/arm/v7 ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1 AS runtime-b
COPY --from=dotnet-runtime /usr/share/dotnet /usr/share/dotnet
# https://hub.docker.com/_/microsoft-dotnet
-FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-amd64 AS build
+FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-amd64 AS build
RUN apt-get update && apt-get install -y ca-certificates gnupg
WORKDIR /source
diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile
index c97c2568a..3e122386a 100644
--- a/docker/arm64/Dockerfile
+++ b/docker/arm64/Dockerfile
@@ -4,7 +4,7 @@ FROM --platform=linux/arm64 ghcr.io/ersatztv/ersatztv-ffmpeg:7.1.1 AS runtime-ba
COPY --from=dotnet-runtime /usr/share/dotnet /usr/share/dotnet
# https://hub.docker.com/_/microsoft-dotnet
-FROM mcr.microsoft.com/dotnet/sdk:10.0.102-noble-arm64v8 AS build
+FROM mcr.microsoft.com/dotnet/sdk:10.0-noble-arm64v8 AS build
RUN apt-get update && apt-get install -y ca-certificates gnupg
WORKDIR /source