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

aelassas / servy / 26723488433
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: net48
DEFAULT BRANCH: main
Ran 31 May 2026 08:27PM UTC
Jobs 1
Files 162
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

31 May 2026 08:23PM UTC coverage: 69.036% (-1.3%) from 70.312%
26723488433

push

github

aelassas
fix(manager): LogTailer.Dispose - _disposeCts.Cancel() / Dispose() lack try/catch; CTS leaks if Cancel throws
fix(infra): SQLiteDbInitializer.ApplyVersion4 - table rebuild silently loses every index/trigger/view on Services except idx_services_name_lower
fix(core): EventLogService.SearchAsync - startDate/endDate with DateTimeKind.Unspecified silently shifts the filter window by the local UTC offset
fix(service): Service.cs OnCustomCommand - ExecuteTeardown return value discarded; SERVICE_STOPPED reported to SCM even when cleanup actually failed
fix(desktop,manager): BulkObservableCollection.AddRange - partial mutation when source enumeration throws midway, leaves UI bindings out of sync
fix(bump-version): version-tag regex does not support <Tag Condition="..."> form, silently skipping conditional version metadata
fix(service): Service.cs StartProcess - assigns caller-supplied environmentVariables to _environmentVariables field without null guard, can NRE on RestartProcess
fix(manager): MainViewModel / LogsViewModel / DependenciesViewModel - Interlocked CTS-swap pattern races between Dispose and newCts.Token read, can throw ObjectDisposedException
fix(core): ServiceHelper.StartServices - StopPending/PausePending services skip Start()/Continue() and then time out polling for Running
fix(desktop): ServiceCommands.cs - OpenManager swallows Process.Start exceptions and gives the user no feedback on failure
fix(desktop): ServiceCommands.cs - same synchronous IsServiceInstalled/GetServiceStartupType freeze as #1978, this time in the desktop app
fix(service): Service.cs StartProcess - Task.Run lambda reads capturedCts.Token after Interlocked.Exchange disposes it on rapid recovery cycles
fix(core): EventLogReader.MapToDto - ArgumentOutOfRangeException from 'new DateTimeOffset(evt.TimeCreated.Value)' is not caught; the in-code comment claims it is, but the fallback only fires when TimeCreated has NO value

1607 of 2187 branches covered (73.48%)

Branch coverage included in aggregate %.

58 of 115 new or added lines in 11 files covered. (50.43%)

5 existing lines in 4 files now uncovered.

11211 of 16380 relevant lines covered (68.44%)

699.1 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
65.8
-0.95% src/Servy/Services/ServiceCommands.cs
10
94.84
-2.58% src/Servy.Infrastructure/Data/SQLiteDbInitializer.cs
10
44.2
-0.25% src/Servy.Service/Service.cs
8
77.36
-2.09% src/Servy.Manager/Utils/LogTailer.cs
7
86.44
4.86% src/Servy.UI/BulkObservableCollection.cs
3
21.44
src/Servy/Resources/Strings.Designer.cs
1
16.3
0.0% src/Servy.Manager/ViewModels/DependenciesViewModel.cs
1
16.42
0.0% src/Servy.Manager/ViewModels/MainViewModel.cs

Coverage Regressions

Lines Coverage ∆ File
2
16.3
0.0% src/Servy.Manager/ViewModels/DependenciesViewModel.cs
1
16.42
0.0% src/Servy.Manager/ViewModels/MainViewModel.cs
1
44.2
-0.25% src/Servy.Service/Service.cs
1
65.8
-0.95% src/Servy/Services/ServiceCommands.cs
Jobs
ID Job ID Ran Files Coverage
1 26723488433.1 31 May 2026 08:27PM UTC 162
69.04
GitHub Action Run
Source Files on build 26723488433
  • Tree
  • List 162
  • Changed 11
  • Source Changed 10
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26723488433
  • 8efe1a94 on github
  • Prev Build on net48 (#26717604655)
  • Next Build on net48 (#26723675526)
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