• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DemoBytom / DemoEngine / 22419570786
33%
develop: 26%

Build:
Build:
LAST BUILD BRANCH: dependabot/nuget/main/nuget-packages-1f2036fa80
DEFAULT BRANCH: develop
Ran 27 Feb 2026 07:48PM UTC
Jobs 1
Files 78
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Feb 2026 10:54PM UTC coverage: 33.112% (+0.1%) from 32.995%
22419570786

push

coveralls.net

DemoBytom
Async refactor - `StaThreadRequest` and `AsyncServiceScopes`

A warning was reported due to incorrectly disposing types that only implement `IAsyncDisposable`:
```
Demo.Engine Warning: 0 : AUTOFAC: A synchronous Dispose has been attempted, but the tracked object of type 'Demo.Engine.Core.Services.MainLoopService' only implements IAsyncDisposable. This will result in an inefficient blocking dispose. Consider either implementing IDisposable on 'Demo.Engine.Core.Services.MainLoopService' or disposing of the scope/container with DisposeAsync.
```

The solution was to use an `AsyncServiceScope` retreived via `_scopeFactory.CreateAsyncScope()` instead `IServiceScope` from `_scopeFactory.CreateScope()`.
This led to a bigger refactor as scopes were also created within `RenderingSurface` which in turn then required a `IAsyncDisposable` implementation. Changes in `RenderingSurface` required changes in `StaThreadRequests` and so on. Turtles all the way down 🐢🐢🐢
Currently all async methods are properly awaited and don't deadlock. But some `.ConfigureAwaits` might need to be added. This will be evaluated later.

Fixes #511 (+1 squashed commits)

Squashed commits:

[d20453c] Async refactor - `StaThreadRequest` and `AsyncServiceScopes`

A warning was reported due to incorrectly disposing types that only implement `IAsyncDisposable`:
```
Demo.Engine Warning: 0 : AUTOFAC: A synchronous Dispose has been attempted, but the tracked object of type 'Demo.Engine.Core.Services.MainLoopService' only implements IAsyncDisposable. This will result in an inefficient blocking dispose. Consider either implementing IDisposable on 'Demo.Engine.Core.Services.MainLoopService' or disposing of the scope/container with DisposeAsync.
```

The solution was to use an `AsyncServiceScope` retreived via `_scopeFactory.CreateAsyncScope()` instead `IServiceScope` from `_scopeFactory.CreateScope()`.
This led to a bigger refactor as scopes were also created within `RenderingSurface` which in turn t... (continued)

1244 of 3757 relevant lines covered (33.11%)

0.36 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
3
2.56
2.56% /src/Demo.Engine.Core/obj/release/net10.0/Microsoft.Extensions.Logging.Generators/Microsoft.Extensions.Logging.Generators.LoggerMessageGenerator/LoggerMessage.g.cs
4
0.0
0.0% /src/Demo.Engine.Core/Services/LoggingExtensions.cs
70
0.0
0.0% /src/Demo.Engine.Platform.DirectX12/D3D12RenderingEngine.cs
Jobs
ID Job ID Ran Files Coverage
1 22419570786.1 27 Feb 2026 07:48PM UTC 148
16.03
Source Files on build 22419570786
  • Tree
  • List 78
  • Changed 20
  • Source Changed 8
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0cf5bae9 on github
  • Prev Build on feature/ValueResults (#22327438970)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc