* 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>
* 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
* fix: hotpatching fullstack
* add hot-patching fullstack test
* add caching to playwright apt-get
* only run playwright on beta
* install binutils?
* dont commit lockfile
* ignore lockfiles
* make sure ld is in path
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.
* Use data dir instead of home dir for dioxus-related data
* merge dx dir
* make windows match the pshell
---------
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>
* wip: fixes to get docsite working again
* Fix asset location with PIC in hot patched builds
* Add an hidden cli flag to exit early in hot patch tests on failure
* add a test for hot patching with assets
* fix clippy
* fix looks_like_manganis_symbol
* longer timeout for hot patching in CI
* log page content
* log assets
* Log asset after write
* record a playwright trace
* Explicitly enable cargo incremental for hot patching
* fix retry for patch test
* reset asset
* disable hot patching test for new exports
* add nightly playwright
* use different toolchain names
* use beta instead of nightly for less thrashing
* add failing test
* workaround hot reloading bug
* restore swapping asset tests
* add toolchain
---------
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
* disable precompress by default
* go back to nuking wasm dir in some cases
* enable more wasm-opt flags, use stable
* add better logging for wasm-opt failure
* wip.... bun installer
* - warn on incompatible versions
- clean up some logs
- add coloring to log levels
* add toasts to desktop/mobile
* Auto open simulators
* auto boot android
* preserve url
* pull out some of the warnings
* add self-updater
* wip: mcp
* add install.sh and adjust binstall path
* add some cuter styling to logs!
* update "input.css"
* update other input.css
* style a bit more
* change getting started
* add windows installer
* move dioxus-mobile into dioxus-desktop
add sentry wip to cli
* shorten timeout of toast
* fix cli display
* wire up customization of android manifest
* udid is a real word
* add 429 to lychee cache
* accept all 200-204 and 429
* Rename dioxus-blitz to dioxus-native
* Add CSS import support (#139)
* Remove data dependencie from NetProvider + global provider.
* Feat CSS import
* Move net handler code out of util
* Fixing test...
* Use the better suited OnceLock instead of LazyLock
* Removing static and move resource callback back out of the document.
Signed-off-by: koko <kokos.kekse@gmail.com>
* Make things work
Signed-off-by: koko <kokos.kekse@gmail.com>
* Fix the servo example
Signed-off-by: koko <kokos.kekse@gmail.com>
* Replace servo image with a more compact version
Signed-off-by: koko <kokos.kekse@gmail.com>
* revert: 8467b271
Signed-off-by: koko <kokos.kekse@gmail.com>
---------
Signed-off-by: koko <kokos.kekse@gmail.com>
* Create readme app
* WPT: reuse FontContext to avoid reloading system fonts
Takes runtime for css-flexbox from 12s -> 8s
* Move Devtools to traits crate
* Suppress unused variable warning
* Implement net for DioxusDocument
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Eliminate BlitzWindowEvent type
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make net crate use document id instead of window id
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename and document net traits
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Split `dioxus-native` crate into `dioxus-native` and `blitz-shell` crates (#163)
* Rename waker module to event
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Create seperate DioxusNativeApplication
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename dioxus-native crate to blitz-shell
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Split blitz-shell out of dioxus-native crate
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Remove need for dioxus-native to depend directly on stylo
---------
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Unnest dioxus-native modules
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Split MutationWriter into it's own module
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Split HtmlDocument into it's own crate
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename dom field of Window to doc
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Support prefers-color-scheme (dark mode)
* Remove use of the `todo` macro in event handling and add a comment about it being a todo (#168)
Using the `todo` macro causes a panic when this event is encountered. Noop is preferable in this case as it does not crash the application. This is especially annoying on platforms where `Ime::Enabled` event is sent upon application start even when the user is using a keyboard layout that does not need an IME support. There was added a "TODO" comment that informs about this feature being missing. Most IDEs and code editors have support/plugins/extensions to work with this type of comments and this type of comment is already used widely across the codebase. As such, the information about this feature not being implemented is not lost.
* Upgrade to dioxus 0.6-rc.0
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Fix text input in dioxus-native
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make dioxus-native depend dioxus-core and dioxus-html rather than dioxus
* Remove "full" feature from tokio
* Move Viewport to blitz_traits
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make tokio optional in dioxus-native and blitz-shell
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Make SVG support optional
* Abstract renderer behind a trait
blitz-shell no longer depends on blitz-renderer-vello
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Split HTML launch functions out in `blitz` crate
* feat: Add mousedown and mouseup event (#172)
* feat: Add mousedown and mouseup event
* feat: Triggering :active pseudo-class
* fix: Triggering :active pseudo-class
* Rename RendererEvent to DomEvent
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename Document to BaseDocument. DocumentLike to Document
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Move event and document abstractions to blitz-traits
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename BlitzEvent to BlitzShellEvent
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Restyle when style attribute is mutated
* feat: Support text box mouse selection (#182)
* Rename raw_dom_data to data
Signed-off-by: Nico Burns <nico@nicoburns.com>
* Rename dioxus-native to native
* Add to workspace
* simplify launch module, integrate native
* Fix it up again
* Update cargo lock
* FIx: propagate accessibility feature fla
* implement asset resolver
* add native to feature match in cli
* Implement document and history for native
* use no-op eval
* clippy
* typos
* typo
* Convert logs to trace
* Bump blitz to alpha releases
* unset image data
* fix style integration with blitz
* fix a few lints
* wire up ids
* implement a few more events
* add more helpful todo note
* bump ci to allow edition 2024, use newer nightly
* make clippy happy
* also update matrix tests to rust 2024
* Add autofocus
Co-authored-by: otgerrogla 2356820+otgerrogla@users.noreply.github.com
* Wait for the suspense boundary above the router to resolve before sending the first streaming chunk (#3891)
* Change the suspense streaming context after suspense is resolved in the router
* Wait for the suspense context before streaming the first chunk in ssr
* forward more response parts
* warn
* extract the hydration format into a crate
* Fix hydration when no data is sent
* forward web and server features
* Fix suspense that starts on the client
* fix use_server_future on the client
* Add documentation for fullstack hooks and protocol
* downgrade rust edition
* fix clippy
* fix tests
* fix clippy
* Fix pure web compile
* undo changes to the fullstack router example
* fix formatting
* hoist a bunch of deps
---------
Signed-off-by: koko <kokos.kekse@gmail.com>
Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: koko <72217393+kokoISnoTarget@users.noreply.github.com>
Co-authored-by: David Husička <25853767+DavidHusicka@users.noreply.github.com>
Co-authored-by: luoxiaozero <48741584+luoxiaozero@users.noreply.github.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
* feat: wasm-split base implementation
* kinda sorta works with the cli
* okay great it actually works
* fix: cache busting for chunks
* cleaned up version
* it works with the router
* wip: migrate to a faster linear solution using id remapping
* add a good harness
* it works completely on the docsite
* the super tight build works too
* make parallelizable
* works on the docsite but not the harness
* light cleanups, fix for both harness and docsite
* make codegen smaller by extract some shared functions to prevent monos
* chunking works, but tbd on tuning heuristics
* extract used module
* wip: cleaning up module
* wip: much better understanding of how imports work
* fix the call graph
* working again...
* wip: thinking about ifuncs
* ifunc approach works
* yes the ifunc approach works!!
* it all works completely even with chunks
* small cleanups
* comments
* actually locate all of the symbols
* clean up final implementation
* clean up tomls, revert some mono changs
* clean up, add some more comments / docs in places
* hoist more packages
* clean up impl a bit more
* clean cli
* move harness to playwright
* update playwright
* extract codgen
* add lazy to components
* Add docs to split loader
* clippy
* typos
* clippy, don't generate splits if not on wasm
* whoops, const
* Typos and docs
* enable optimizations in ci
* add optimizations to ci
* add wasm-split router feature
* parallel playwright?
* fix no case check
* disable pre-compress... think that might be the issue
* better logging, no default pre-compress, caching of shared symbols
* Fix: compressing assets
* fix non-interactive logging for serve
* cache playwright even on failure, use the cli with optimizations
* fix prebuild
* fix playwright webserver