0.0.10-alpha#9
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates WebExpress’s packaging/build metadata and documentation for the 0.0.10-alpha release, including a platform/framework bump and refreshed assets.
Changes:
- Bump package/app versions to
0.0.10(-alpha)and update metadata (authors/description, artifact list). - Upgrade projects to target
net10.0, update test SDK/runner package versions, and switch the application icon to a new.ico. - Refresh documentation content and image links (and expand the development guide with new sections/diagrams).
Reviewed changes
Copilot reviewed 4 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
WebExpress.spec |
Version/author/description updates; adjusts packaged artifacts list. |
src/WebExpress/WebExpress.csproj |
Version bump, target framework change to net10.0, app icon change, dependency version bump. |
src/WebExpress/ufo.ico |
Adds new application icon asset. |
src/WebExpress.Test/WebExpress.Test.csproj |
Moves tests to net10.0 and updates test SDK/runner packages. |
icon.png |
Adds/updates package icon asset. |
doc/installation_guide.md |
Updates image links and .NET download/install commands. |
doc/development_guide.md |
Large doc refresh: formatting/diagrams updates and new model documentation (e.g., WebSocket/MessageQueue). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <Version>0.0.10.0</Version> | ||
| <AssemblyVersion>0.0.10.0</AssemblyVersion> | ||
| <OutputType>Exe</OutputType> | ||
| <TargetFramework>net9.0</TargetFramework> | ||
| <ApplicationIcon>Rocket.ico</ApplicationIcon> | ||
| <Authors>Rene_Schwarzer@hotmail.de</Authors> | ||
| <TargetFramework>net10.0</TargetFramework> | ||
| <ApplicationIcon>ufo.ico</ApplicationIcon> | ||
| <Authors>webexpress-framework@outlook.com</Authors> |
There was a problem hiding this comment.
The PR description focuses on test-suite improvements, but this change set primarily bumps versions/TFM (net10.0) and updates packaging metadata. Please update the PR title/description (or split into separate PRs) so reviewers know the intended scope and risk.
| ## Installing the .NET Runtime | ||
| After SSH has been activated, a connection to the Raspberry Pi can be established with the help of an SSH client (e.g. Putty, OpenSSH). | ||
|
|
||
|  | ||
|  | ||
|
|
||
| First, the .NET Runtime and the ASP.NET Core Runtime must be installed. Help for this is offered under [1]. The current versions | ||
| can be obtained free of charge from Microsoft at https://dotnet.microsoft.com/download/dotnet-core. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| For the Raspberry Pi, the binaries for Linux-Arm32 are to be used. The direct link to the Linux-Arm32 binaries must be copied. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| The Linux Arm32 archive for the ASP.NET Core Runtime is downloaded to the Raspberry using wget. | ||
|
|
||
| ``` bash | ||
| pi@wx:~ $ wget https://download.visualstudio.microsoft.com/download/pr/61cb6649-f41f-4966-84ae-9ff673528054/9bbd07607c5a1af87354e1fa93c36a00/aspnetcore-runtime-7.0.0-linux-arm.tar.gz | ||
| pi@wx:~ $ wget https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-linux-arm.tar.gz | ||
| ``` |
There was a problem hiding this comment.
This section is titled “Installing the .NET Runtime” and the surrounding text refers to downloading the ASP.NET Core runtime, but the command downloads the .NET SDK tarball (dotnet-sdk-10.0.100). Please align the wording/steps (either download the runtime, or rename the section and explain why the SDK is required).
|
|
||
| WebExpress supports WebSocket connections as an additional communication channel alongside traditional HTTP request/response endpoints. WebSocket endpoints are registered as specialized endpoint contexts (`ISocketContext`) within the sitemap/endpoint management system and are delegated by the HttpServer to the appropriate handler when a request arrives. WebSocket endpoints are implemented as components (`ISocket`), analogous to page or REST API endpoints, and are managed through a socket manager (`ISocketManager`). The sitemap contains a route for each socket endpoint, allowing incoming URIs to be mapped to the appropriate socket context using the familiar sitemap lookup mechanism. | ||
|
|
||
| The following illustration depicts the basic architecture of the WebSocket model. Multiple clients can simultaneously establish persistent connections to the server. These connections are recognized by the `HttpServer`` and routed through the sitemap to the appropriate socket endpoints. |
There was a problem hiding this comment.
Markdown inline code formatting is broken here: `HttpServer`` has an extra backtick, which will render incorrectly. Remove the extra backtick so the identifier is formatted properly.
| The following illustration depicts the basic architecture of the WebSocket model. Multiple clients can simultaneously establish persistent connections to the server. These connections are recognized by the `HttpServer`` and routed through the sitemap to the appropriate socket endpoints. | |
| The following illustration depicts the basic architecture of the WebSocket model. Multiple clients can simultaneously establish persistent connections to the server. These connections are recognized by the `HttpServer` and routed through the sitemap to the appropriate socket endpoints. |
| /// </summary> | ||
| public void async Task OnConnectedAsync(ISocketConnection webSocket) |
There was a problem hiding this comment.
The example method signature is not valid C#: public void async Task OnConnectedAsync(...) mixes void with Task and has modifiers in the wrong order. Update it to a compilable async signature (e.g., returning Task and using public async Task ...).
| /// </summary> | |
| public void async Task OnConnectedAsync(ISocketConnection webSocket) | |
| /// </summary> | |
| public async Task OnConnectedAsync(ISocketConnection webSocket) |
| @@ -3134,22 +3390,23 @@ Tasks are created dynamically by instantiating a class derived from `Task` and s | |||
| ``` | |||
| ╔══════════╗ ╔═══════════╗ | |||
| ║ Created ║ ║ Canceld ║ | |||
There was a problem hiding this comment.
Typo in the task state diagram label: “Canceld” should be “Cancelled”.
| ║ Created ║ ║ Canceld ║ | |
| ║ Created ║ ║ Cancelled ║ |
| │ │ │ │ Login dialog │ │ │ | ||
| │ │ │ └───────┬──────┘ │ │ | ||
| │ │ │ │ │ │ | ||
| │ │ │ ┌──────────┴──────────────│────┘ | ||
| │ │ │ │ Login successful? │ | ||
| No │ │ Yes endpoint │ No │ │ component | ||
| ▼ ▼ ▼ ▼ ▼ | ||
| ╔══════════════╗ ╔══════════════════╗ ╔════════════════╗ | ||
| ╔═══▼══════▼═══╗ ╔═════▼══════▼═════╗ ╔═══════▼════════╗ | ||
| ║ Grant access ║ ║ Stautus page 401 ║ ║ Hide component ║ |
There was a problem hiding this comment.
Typo in the authorization flow diagram: “Stautus page 401” should be “Status page 401”.
| ║ Grant access ║ ║ Stautus page 401 ║ ║ Hide component ║ | |
| ║ Grant access ║ ║ Status page 401 ║ ║ Hide component ║ |
Agent-Logs-Url: https://github.com/webexpress-framework/WebExpress/sessions/02d5d47a-f79e-4fd8-92ad-e7ab4e7d9e6f Co-authored-by: ReneSchwarzer <31061438+ReneSchwarzer@users.noreply.github.com>
…ading-issue docs: fix review comments on PR #9 (0.0.10-alpha)
This pull request introduces several improvements and additions to the test suite, focusing on code clarity, null handling, and new test coverage. The main changes include the addition of a new unit test class for deterministic identifiers, improved null handling in assertion helpers, and consistent naming and structure updates in test methods.