* 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
* fix serialization order
* add regression test
* split out test into a seperate package
* revert logging
* change order
* opinions on structure
* small wait in hydration order test
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
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.
* Allow relative assets in rust > 1.88 and assets outside of the crate in
binary crates
* undo changes to assets outside of the crate
* don't use relative assets in examples
* feat: add dx print command
* small tweak to how client_target is handled
* hotpatching engine wired up!
* small cleanups
* lighter diff
* little bit more light cleanups
* remove changes to manganis
* fix wrong dir error
* move session_cache fixing to prebuild step
* wip
* wip: basic telemetry
* fix merge
* keep errors for telemetry
* fix upload when queued events are empty
* add per session id and keep track of build timing
* keep track of what commands are run
* capture panics
* keep track of panics
* better path stripping
* better tracing error telemetry
* only sync every week and check settings before sending any telemetry
* keep track of the args passed to commands
* anonymize commands
* more error tolerant
* wip
* wip
* wip
* merge cnflict
* other merg conflict
* migrate everything from telemetry to logging
* update docs
* wip... about to merge trace controller
* lil bit more refactor to clean up tracer
* more performant log writer
* cleanup ci detecting
* wire up to posthog
* re-uploads work
* yoink out the anon from each file
* cleanup sig
* lil bit cleaner
* dont write empty files
* wip log handler
* fmt
* cleanup logging of backtraces
* add proper backtrace support
* use stable reporter
* adhere to posthog format
* fix stacktraces
* use anyhow for capturing backtraces
* I think we're done?
* cleanup logging
* properly collect!
* move out keycode handling
* she works
* typo
* add extra fields
* fix cargo doc
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* map signals mutably
* boxed signals
* remove mutable borrow type from boxed writable
* improve map mut example
* restore boxed_mut helper
* make boxed readable/writable types copy
* Move away from the ReadOnlySignal alias in examples
* automatically convert Write
* Fix some tests
* ReadSignal and WriteSignal
* move read only signal alias
* make maps copy
* store prototype
* implement derive macro
* Handle generics in the derive macro
* Make Selector boxable
* derive boxed conversion
* Get rid of store type
* Remove hardcoded type from derive macro
* selector -> store
* Refactor store implementation
* more vec methods
* todo mvc store example
* Implement Storable for HashMap
* fix write
* restore sorting logic in todomvc
* derive readable and writable
* improve todomvc store example
* Result store
* Option store
* collect dead subscribers
* fix clippy and formatting
* recognize some common foreign types automatically
* fix foreign stores in props
* slice and array selectors
* clean up store example
* writable is child owned
* box selector
* read and write to builtins
* re-use the proc macro in the derive macro
* Switch to a extension trait based approach
* switch to extension traits in the derive macro
* transposed method
* derive enums
* Expose Store::new
* remove stores from the prelude
* More consistent naming scheme for SelectorScope methods
* document hashmap methods
* document index extension
* document option ext
* document result ext
* document slice extension
* document the vec extension
* make more methods borrow the store mutably
* Move to impls to have higher priority over the builtin write extension traits
* fix deadlock
* finish stores documentation
* Document the store macro
* cleanup docs and organization
* finish derive docs
* fix typo
* fix clippy
* fix doc tests
* fix derive macro with generics
* fix clippy
* test and fix empty structs
* clean up todomvc store example
* default to a boxed store writer to make it easier to type when providing to the context api
* fix cargo doc
* fix clippy in store example
* relax generational box lifetime bounds
* relax bounds
* relax signal bounds
* fix compilation
* read store
* relax bounds on default store impls
* fix enum derive
* Convert to readsignal and writesignal automatically
* simplify type matching logic
* add write store
* unsized stores
* shrink the path vec type
* use more concrete types
* remove opaque types
* remove copy bounds
* use lens as generic name everywhere
* more consistent borrow semantics
* use a concrete type for the signal metadata and mention references in the map docs
* improve todomvc store docs
* document store derive macro internals
* refactor macro
* improve selector node documentation
* fix clippy
* add btreemap
* fix doc tests
* more option methods
* fix doc
* fix clippy
* add a bunch more result methods
* add a bunch of bounds to the iterators
* fix clippy
* remove option from subscribers
* add store macro to generate extension traits
* fix store example
* fix deadlock
* fix docs
* fix doc tests
* fix clippy
* add stores to public api
* add store macro, and then update todomvc_store example
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Add --renderer argument to the CLI
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make `--platform native` work
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Emit `krates` error when cargo metadata fails
* Reinstate default "desktop" feature for examples
* Remove commented 'no platform specified' error
Signed-off-by: Nico Burns <nico@nicoburns.com>
* use the target tripple and bundle format as the source of truth for the build
* resolve renderer and bundle format
* add shorthand flags
* add headings to the help for shorthands
* resolve the renderer from the target triple if it isn't passed
* make value after --fullstack optional
* convert desktop -> mobile when targeting mobile webview
* use the new shorthand flags in the playwright tests
* fix clippy
* merge fix
* cleanup merge conflicts
* fix clippy
* remove nit
* restore platform as a legacy argument
* improve help message
* vendor openssl on native, pin server_fn
* print build errors as warnings
* add --desktop arg compat
* adjust cli headings
* prefer self.is_wasm_or_wasi()
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Avoid the accidental removal of comments inside expressions by dx fmt
* Rewrite the logic to pass failed tests
* Removed unnecessary call to write_inline_comments
* add failing test case
* alter parsing a bit to handle more test cases
* almost there...
* fix
* use threadlocal
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Update dependencies in Cargo.lock
* added in the missing bevy example which was included in recent merge
* undo unneccessary library installation in gh actions
* cleaned up further
* Update dependencies in Cargo.toml and Cargo.lock askana_escape to 0.13
* updated code to make tests work
* updated the wgpu texture example
* replaced all direct reference with use
* fixed wgpu and jsframework errors in benches and examples
* Fix: Import black_box from std::hint
* grand finale upgrade
* updated cargo.lock
* Bump hyper-util to 0.1.15 and plist to 1.7.4
* remove some unused swc dependencies and add a command to update them in the future
---------
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* wip: openssl autodetection
* add voltaile read inside of asset fn
* support xcode 15 for --device
* vendor openssl on android
* Smaller width TUI
* switch to anyhow for the entire CLI
* add backtrace and print double printing of cargo_metadata errors
* add some padding to multi-line anyhow error
* check semvers
* don't open if not interactive
* set the tailwind current_dir so it doesn't twitch
* get the oboe demo working
* copy the c++ library on android
* cleanup env vars
* add depinfo watcher
* fix stale hotpatches and crate count
* add musl support
* remove outdated autofmt test
* update scanner app
* add hotdog app and bundle to ci
* upload dx on every branch
* collapse mobile into desktop
* `dx doctor` command
* windows command files
* no pipe on doctor
* fix ci?
* fix links
* fix ci
* use main instead of nightly
* bump node
* build cli for host
* cargo doc
* prep dog_app for bundle
* package hotdog
* no bundle or nightly cli
* comment out nightly cli
* add quotes to linker files
* Add a bevy-texture example based on wgpu-texture
* Use git branch of Blitz
* Update existing code to new blitz
* Use Device from Dioxus for bevy
* Use ManualTextureView
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Fix texture size on window resize
* Clean code
* Rename example to 'bevy-example' in 'bevy' directory
* Upgrade to blitz 0.1.0-alpha.5 and anyrender 0.4
* Install alsa in CI
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Add libudev to CI
Signed-off-by: Nico Burns <nico@nicoburns.com>
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jerome Caucat <jerome.caucat@smartshape.com>
Co-authored-by: Nico Burns <nico@nicoburns.com>
* chore(deps): upgrade wry from 0.45.0 to v0.51.2
* Unwrap webview
* update tauri
* fix more versions
* switch to a single websocket per app to communicate edits in desktop
* use websockets on the ts side
* queue pending edits before the websocket connects
* fix decoding the websocket blobs in ts
* rebuild js
* fix clippy
* more sensible struct names
* allow http on android and require a key to match between the webview and native sides
* remove out.txt
* clippy
* small style changes
* More light cleanups
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* Use new replace_node_with name for replace_placeholder_with_nodes
* Setup tracing for wgpu-texture support
* Use asset macro in wgpu-texture example
* Use src attribute rather than data for canvas source
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Upgrade to blitz 0.1.0-alpha.4
Signed-off-by: Nico Burns <nico@nicoburns.com>
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Add initial version of hash history
* wip...
* more cleanups
* cleanup the web history impl and then add a playwright test
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Allows desktop apps to open mailto links
* Drop webbrowser, use `open` only
* switch to that_detached
* use workspace `open`
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* Fix deduping assets
* hash assets in the linker
* fix extracting assets
* Fix the hashed asset name
* deserialize the asset back from the link section
* prevent the read from being inlined
* remove some extra logs
* Fix liveview routing
* Only look for direct dependencies on dioxus features
* fix wasm split test
* On wasm, create a new object file with the asset information
* Fix multiple assets
* add a regression test for 3467
* fix image link
* fix linker out file
* fix linux linker args
* add windows linker command
* fix linux link args
* fix windows target triple
* Expose an option to build assets in the linker intercept
* Fix the standalone optimizer and document it in the dx help command
* include the cli opt version in the hash
* fix clippy
* fix ssg port
* add a safety note to the read_volatile call
* move found assets log
* fix some merge conflicts
* fix build
* make most env var for the linker optional
* guess the target triple when dx acts as the linker intercept
* automatically find the linker for normal builds
* use the right linker in wasm mode
* fix mac linker
* look inside archive files (rlibs)
* remove out.txt
* fix clippy
* fix typo
* fix clippy
* fix build
* fix dx link name in docs
* ignore libcompiler_builtins warnings
* fix playwright
* pass typocheck
* fix printing sysroot
* Modify final binary
* fix wasm assets
* remove old link section logic
* fix tests
* forward manganis export args
* fail to evaluate relocatable address
* retain all exports in the same pattern as other platforms
* Fix adding assets during a wasm hot patch
* less nesting and remove logs
* fix clippy
* log pdb files
* read from pdb
* print data section contents
* print with object
* normal windows builds working
* fix hot patch windows
* clean up logs
* fix clippy
* clean up assets
* use the most recent pdb
* fix doc test
* fix typo
* tiny nits
* make bundled a reference instead of a pointer
* add helpful comment to impl
* match on file format
* Fix asset hashing comment
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>