Skip to content

181 add weather wasm executable#226

Merged
AlixANNERAUD merged 15 commits into
mainfrom
181-add-weather-wasm-executable
May 10, 2026
Merged

181 add weather wasm executable#226
AlixANNERAUD merged 15 commits into
mainfrom
181-add-weather-wasm-executable

Conversation

@AlixANNERAUD
Copy link
Copy Markdown
Contributor

@AlixANNERAUD AlixANNERAUD commented May 10, 2026

This pull request introduces several improvements and refactors to the networking and HTTPS client infrastructure, as well as adds a new weather executable to the system. The main focus is on simplifying DNS resolution, improving the HTTPS client’s random number generation by making it pluggable, and cleaning up logging and resource management. Additionally, the new weather executable is integrated into the build and virtual file system.

Networking and HTTPS client improvements:

  • Refactored DNS resolution in both the HTTP and HTTPS clients to use a simplified, direct network::Manager::resolve API, removing the need for explicit DNS socket management. [1] [2] [3] [4]
  • The HTTPS client now uses a generic, pluggable random device for cryptographic operations by introducing a RandomNumberGenerator<T> wrapper, replacing the previous system RNG. This allows for dependency injection of entropy sources and improves testability and portability. [1] [2] [3] [4]
  • Increased TLS buffer sizes to match protocol maximums and improved header parsing logic to handle edge cases in HTTP responses. [1] [2]

Resource management and code cleanup:

  • Removed excessive and redundant logging from the HTTPS client, focusing on essential warnings and error messages. Skipped explicit TLS close to avoid potential deadlocks, relying on resource dropping for cleanup. [1] [2] [3] [4] [5] [6] [7]
  • Improved state handling in the HTTPS client to avoid premature resets and ensure correct transitions, especially when handling empty response bodies.

New executable integration:

  • Added the new weather executable to the workspace and build system, and ensured it is loaded and installed in the virtual file system at startup. [1] [2] [3]

Example usage improvements:

  • Updated the native example to use the new HTTPS client device with a pluggable random device and to mount and install the weather executable. [1] [2] [3]

These changes collectively modernize the networking stack, improve reliability and maintainability, and expand the system’s capabilities with a new executable.


Networking and HTTPS client improvements:

  • Refactored DNS resolution in HTTP/HTTPS clients to use network::Manager::resolve, removing explicit DNS socket usage and simplifying API calls. [1] [2] [3] [4]
  • Replaced system RNG with a generic, pluggable random device for TLS operations in the HTTPS client, enabling dependency injection and better portability. [1] [2] [3] [4]
  • Increased TLS and HTTP header buffer sizes, and improved HTTP header parsing to handle edge cases such as missing reason phrases. [1] [2]

Resource management and code cleanup:

  • Reduced logging verbosity in the HTTPS client, removed blocking TLS shutdown to avoid deadlocks, and improved resource cleanup by relying on scope-based drops. [1] [2] [3] [4] [5] [6] [7]
  • Improved HTTPS client state transitions to avoid premature resets and ensure correct handling of empty response bodies.

New executable integration:

  • Added the weather executable to the workspace, build, and virtual file system initialization. [1] [2] [3]

Example usage improvements:

  • Updated the example to use the new HTTPS client device with a pluggable random device and to mount/install the weather executable. [1] [2] [3]

- Introduced a new executable for weather functionality.
- Added Cargo.toml configuration for the weather module.
- Implemented API calls to Open Meteo for geocoding and weather forecasts.
- Created data models for handling API responses.
- Developed formatting functions for displaying weather data in the UI.
- Implemented a user interface for city input and weather display.
- Added tests for API response parsing and UI behavior.
- Included installation script for creating a shortcut to the weather executable.
@AlixANNERAUD AlixANNERAUD linked an issue May 10, 2026 that may be closed by this pull request
@AlixANNERAUD AlixANNERAUD merged commit 1306044 into main May 10, 2026
3 of 4 checks passed
@AlixANNERAUD AlixANNERAUD deleted the 181-add-weather-wasm-executable branch May 10, 2026 13:22
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.

Add weather WASM executable

1 participant