we added some logs around unmatched ifuncs, but we actually didn't need them.
this is because ifuncs can be *new* even if there isn't and old corresponding ifunc.
* Fix exit_on_last_window_close for UserWindowEvent::CloseWindow
* fix: unify under close_requested
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* enable musl target builds with vendored libgit2
* move git2 to bottom of list
* also fix dioxus fullstack docs builds
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* dioxus-fullstack::Streaming: decode multiple client values from Bytes
* small nits
* remove the bidirectional stream since it doesn't work in the browser
* final cleanups
* nits
---------
Co-authored-by: Olivier Kannengieser <okanne@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* fix(fullstack): Streaming::into_inner() returning empty stream
The Streaming struct previously maintained separate input_stream and
output_stream fields, but into_inner() always returned input_stream.
This caused it to return an empty stream on both client and server sides
where data was placed in output_stream.
Consolidate to a single stream field that properly returns the actual
stream data when into_inner() is called.
Also add examples demonstrating bidirectional streaming:
- echo_stream: passes client stream through server unchanged
- transform_stream: transforms client stream on server using filter_map
- Use stream::unfold for cleaner client-side stream generation
Reviewed-by: Claude <noreply@anthropic.com>
Commit-message-by: Claude <noreply@anthropic.com>
* fmt
* issue-5045 Trim slashes to prevent base path resolution issues in web
* Revert "issue-5045 Trim slashes to prevent base path resolution issues in web"
This reverts commit 480cd48d8537a56f57538c21e7cc98b75e8dc8ad.
* This is a more comprehensive approach. No matter how "/" gets set into
DIOXUS_ASSET_ROOT (cli arg, dioxus toml, or env var) it will be
normalized when used.
* Move the trim fix to the locations we set the variable DIOXUS_ASSET_ROOT as
this environment variable is not meant for public consumption.
* pull out trimming into a method
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Previously, when a file change event arrived while a build was in progress
(i.e., client stage was not Success/Failed/Aborted), the event was logged
and silently discarded. This caused issues with tools like stylance,
tailwind watch, or sass --watch that generate output files in response
to source file changes.
The typical failure case:
1. User saves a .module.scss file
2. dx starts rebuilding
3. stylance CLI (watching the same file) regenerates stylance.css
4. dx receives the stylance.css change event but discards it
5. Build completes with stale CSS
Now, file changes that arrive during a build are queued in a
pending_file_changes vector and processed after the build completes.
* disable strip setting in profile and manually strip with llvm the build
* remove rustc_llvm
* disable debug if wasm opt will run
* fix clippy
* don't strip if we are splitting with wasm-split
* keep names when running wasm-split