* implement const cbor encoding + decoding for basic types
* implement map encoding and decoding
* fix map test
* all tests passing
* dynamically sized arrays
* smaller str encoding
* swap array and list and add more documentation
* move serialization and deserialization for each struct together
* support both legacy and new assets
* bump const serialize version
* fix asset conversion code
* pull out manganis symbol struct from tuble
* test reading old asset versions
* more list/array cleanup and bump rust version
* fix clippy
* switch cli opt port
* install playwright deps
* split cli-optimization package to avoid two dioxus' in the same crate
* fix clippy
* force the toast.png asset to be included in the linker stage #[used] has platform depedant behavior
* bundle both formats in the link section and only use the asset the cli changed
* remove sudo which doesn't exist on windows
* add binstall to the playwright workflow
* separate bin target for the old cli
* lockfile
* cargo update to get versions shaken out
* notes on binstalls, add back `.read()` for compat
* use 0.8.0-alpha.0 for const-serialize instead of 0.8
this ensures we can still publish breaking changes on 0.8 without taking over the full version
* fix clippy in example
* small debug nits
* update rust-overlay in nix
* fix flake?
* migrate to new structure
* just comment out binstalls
* just remove old test harness
---------
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
* Add more read/write methods for string signals
* add helpers for HashMap and HashSet as well
* fix typo
* fix conflicting string and str extensions
* fix counters example
* wip: redirect
* redirect example
* fix file upload not in a form
* wip
* deny missing cfgs
* wip: add router fallback but it's not working
* fix suspense bug after rebuilds that queued work
* more cleanup
* add test for error codes
* add helpful comment
* bring back middleware annotation
* fix cfg
* add server feature
* fix doctest
* just disable liveview test for now
* fix liveview
* dont send init
* cache more playwright!
* add more pkgs to cache
* allow `--server` only builds!
* rollback example
* capture `/:route` routes
* fix: properly implement file uploads in forms
* implement desktop form uploads
* Performant serialization of form bytes
* finish up file stuff
* cleanups
* add request headers to streaming context
* remove some unwraps
overhaul dioxus fullstack using a new implementation of server_fn
This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.