Skip to content

Fix: Several small codebase fixes - #413

Merged
AnnaSasDev merged 17 commits into
corefrom
codebase-research
Aug 28, 2026
Merged

Fix: Several small codebase fixes#413
AnnaSasDev merged 17 commits into
corefrom
codebase-research

Conversation

@AnnaSasDev

Copy link
Copy Markdown
Member

No description provided.

AnnaSasDev and others added 16 commits August 27, 2026 14:05
This change removes lazy logger lookups and instead uses injected ILogger instances across the WebView manager and related window features. It also replaces Debug.WriteLine calls in disposal/finalizer paths with structured logging when a logger is available, and resolves logger instances from the window service provider in monitor and external URL handlers. Tests were updated to pass the new logger dependency for the WebView manager.
This change introduces an abstraction for external process startup and registers it in DI so web-message handlers can be unit tested without launching real browser processes. It also modernizes several array and collection initializations to use collection expressions and adds broader coverage around native interop status, static asset manifest handling, file picker/filter behavior, and web-message dispatch flows.
Change coverage workflow to run on ubuntu-latest and harden the coverage_report script. Adds explicit encoding="utf-8" to subprocess.run for consistent UTF-8 handling and checks that gh API output is non-empty before calling strip to avoid errors when stdout is None or empty. Files changed: .github/workflows/shared-coverage.yml, scripts/coverage_report.py.
Refactors external process launching into the InfiniFrame.Interop namespace and adds the concrete launcher implementation to the shared project. The service registration is updated to resolve the interface from the new namespace, and related tests are adjusted to match the new contracts and analyzer cleanups.
This change excludes native C/C++/Objective-C source files from Cobertura coverage parsing so they do not inflate coverage totals. It also adds tests covering the new exclusion behavior for native file filtering alongside the existing test package exclusions.
Avoid inflated line coverage by deduplicating tracked line numbers per class before counting covered and total lines. This keeps method-level duplicates from inflating IL while preserving coverage from any positive-hit line. Added a regression test covering duplicate line numbers across methods in the same class.
Add a probing step in BlazorPlaywrightContextBase to verify the Playwright CDP endpoint is reachable after startup. Uses PlaywrightConnectionUtility.CreateCdpConnectionUrl and RemoteDebuggingUtility.TryProbeEndpoint in a 60s loop, logging success or a warning and proceeding so Playwright can retry. Also add the necessary InfiniFrame.Utilities import.
@github-actions

Copy link
Copy Markdown
Contributor

📊 Code Coverage Report

Language Coverage Delta Trend
TypeScript 94.1% 0.0% ➡️ unchanged
C# 19.1% 0.0% ➡️ unchanged
Python 88.7% -1.7% 📉 regressed

C# Project Breakdown

Project Coverage Lines Covered
InfiniFrame.WebServer 90.0% 640 576
InfiniFrame.BlazorWebView 62.9% 6880 4328
InfiniFrame.Blazor 47.5% 1840 874
InfiniFrame 21.4% 215328 46104
InfiniFrame.Shared 17.7% 106368 18815
InfiniFrame.NativeBridge 13.7% 137995 18837

@AnnaSasDev
AnnaSasDev merged commit 00edaa8 into core Aug 28, 2026
44 checks passed
@AnnaSasDev
AnnaSasDev deleted the codebase-research branch August 28, 2026 10:58
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