Repository navigation
Develop 2.0.0-alpha - #19
ReneSchwarzer wants to merge 69 commits into
Conversation
…t, Reg. 2024/1689)
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Component removal leaks disposable resources, package settings can escape their documented scope, redirect defaults are incomplete, and several HTML tests preserve invalid markup.
Review effort: Balanced
Findings: 3
Open (15)
Dispose removed applications during plugin removal · New Validate plugin ID in deployed settings files · New Dispose plugins and cancellation tokens before unloading · New Render embed as a void element · New Render fieldset with a closing tag · New Render audio with a closing tag · New Render map with a closing tag · New Render video with a closing tag · New Render canvas with a closing tag · New Render noscript instead of span · New Render col as a void element · New Dispose jobs immediately when removed · New Initialize 308 response reason consistently · New Initialize 303 response reason consistently · New Initialize 307 response reason consistently · New
What changed in this PR
This PR prepares WebExpress 2.0.0-alpha with expanded lifecycle, health, security, configuration, HTML, identity, and HTTP behavior plus broad test and documentation updates.
Changes:
- Adds graceful shutdown, health checks, certificate/settings, and component lifecycle support.
- Expands HTML, identity, session, routing, and HTTP response behavior and coverage.
- Improves documentation, project configuration, and test fixtures.
| Files | Description |
|---|---|
README.md; docs/index.md; docs/toc.yml; docs/tutorials.md; docs/user-guide.md |
Updates documentation and navigation. |
src/WebExpress.WebCore.sln; src/WebExpress.WebCore.slnx; src/WebExpress.WebCore/WebExpress.WebCore.csproj; src/WebExpress.WebCore/WebExpress.WebCore.sln |
Updates solution and build configuration. |
src/WebExpress.WebCore/Config/*; ContainerEnvironment.cs; HttpEndpointInfo.cs; HttpServer.cs; HttpServerContext.cs; IHost.cs; IHttpServerContext.cs; ServerLifetime.cs |
Revises server configuration, hosting, and shutdown behavior. |
src/WebExpress.WebCore/Internationalization/*; Setting/*; WebSetting/* |
Updates localization and configuration loading/models. |
src/WebExpress.WebCore/WebApplication/*; WebAsset/*; WebComponent/*; WebEndpoint/*; WebEvent/*; WebFragment/*; WebInclude/* |
Revises component APIs, registration, contexts, and lifecycle management. |
src/WebExpress.WebCore/WebAttribute/*; WebCertificate/*; WebHealt/* |
Adds metadata, certificate management, and health-check infrastructure. |
src/WebExpress.WebCore/WebHtml/* |
Expands HTML elements, parsing, escaping, nonce support, and documentation. |
src/WebExpress.WebCore/WebIdentity/*; WebSession/* |
Updates authentication, authorization, token stores, policies, and sessions. |
src/WebExpress.WebCore/WebJob/*; WebTask/*; WebLog/* |
Revises scheduled work, task lifetime, and logging APIs. |
src/WebExpress.WebCore/WebMessage/* |
Expands HTTP request, response, status, origin, and security-header handling. |
src/WebExpress.WebCore/WebPackage/*; WebPlugin/* |
Updates package deployment, plugin configuration, and plugin lifecycle. |
src/WebExpress.WebCore/WebPage/*; WebResource/*; WebRestApi/*; WebScope/*; WebSection/* |
Revises page, resource, REST, scope, and section contracts. |
src/WebExpress.WebCore/WebSettingPage/*; WebSitemap/*; WebSocket/*; WebStatusPage/*; WebTheme/*; WebUri/* |
Updates settings UI, routing, sockets, status pages, themes, and URI handling. |
src/WebExpress.WebCore.Test/Data/*; Fixture/*; TestThemeA.cs; WWW/* |
Enhances reusable test fixtures and mock components. |
src/WebExpress.WebCore.Test/Html/* |
Adds extensive HTML serialization and element coverage. |
src/WebExpress.WebCore.Test/Manager/*; Message/*; Server/*; WebLog/*; WebSetting/*; WebSettingPage/* |
Expands integration and unit coverage across framework managers and protocols. |
src/WebExpress.WebCore.Test/test/* |
Updates HTTP request test inputs. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The review found inaccurate security guidance, broken documentation navigation, public API spelling issues, and response tests that preserve or miss incorrect reason phrases.
Review effort: Balanced
Findings: 1
Open (6)
HtmlText allows unescaped markup and XSS · New Use standard HTTP 204 reason phrase No Content · New Set ResponseUnauthorized reason to Unauthorized · New Fix Health Checks TOC link target · New Rename misspelled WebHealt namespace to WebHealth · New Rename HtmlElementTextSemanticsKdb API and test · New
Resolved since last review (15)
Dispose plugins and cancellation tokens before unloading Validate plugin ID in deployed settings files Dispose removed applications during plugin removal Initialize 307 response reason consistently Initialize 303 response reason consistently Initialize 308 response reason consistently Dispose jobs immediately when removed Render col as a void element Render noscript instead of span Render canvas with a closing tag Render video with a closing tag Render map with a closing tag Render audio with a closing tag Render fieldset with a closing tag Render embed as a void element



This pull request introduces several documentation improvements, test fixture enhancements, and minor code corrections to the WebExpress project. The most significant updates include expanded documentation on health checks, graceful shutdown, and server entry points, as well as the addition of new health check test fixtures. There are also corrections to the mock identity group policy handling and minor typo and link fixes.
Documentation improvements:
docs/user-guide.mdwith detailed sections on health checks (including endpoint, component model, and probe configuration), graceful shutdown, public server URI configuration, and server entry point behavior. This provides clearer operational guidance for users and developers.docs/directory and fixed minor typos (e.g., "Raspberry PI" to "Raspberry Pi", ".net" to ".NET"). Added an AI transparency notice to theREADME.md. [1] [2] [3] [4]Health check and test fixture enhancements:
TestHealth.cs, including sealed and generic health components to test discovery, dependency injection, and attribute-driven cancellation. This ensures the health check infrastructure is robust and testable.Mock identity and policy handling corrections:
MockIdentityGroupin test code to useIIdentityPolicyobjects instead of string role names for policy assignment and enumeration, aligning with intended usage. [1] [2] [3] [4]MockIdentityProviderfromCreateForbiddenPagetoCreateForbiddenResponsefor accuracy and clarity.