Commit Graph
7135 Commits
Author SHA1 Message Date
Nico BurnsandJonathan Kelley d61848609f Make dioxus-native work on iOS simulator (#4876)
* Make dioxus-native work on iOS simulator

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Bump dioxus-native to v0.7.1

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Update package version to use workspace versioning

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-11-05 15:22:02 -03:00
Javier E. 41f68582e9 Fix FileStream.file_name() (#4875) 2025-11-05 15:09:04 -03:00
Craig 2117c3d4e9 Note "d" for debug (#4882)
* Note "d" for debug

* Fix layout
2025-11-05 15:08:29 -03:00
Ken aka Frosty 85d58d3a48 Simple but critical fix for fullstack server fn handling (#4891)
Getting full panics here in prod: 
thread '<unnamed>' (23) panicked at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/dioxus-fullstack-0.7.0/src/magic.rs:554:22:
called `Result::unwrap()` on an `Err` value: Response { status: 500, version: HTTP/1.1, headers: {"content-type": "application/json"}, body: Body(UnsyncBoxBody) }

Could be triggered by something as simple as a client choosing to send formdata-style body instead of JSON. (I discovered this because exactly that was happening; not maliciously, but because of the upgrade from 0.6.3 to 0.7). 

As far as I can tell, this was just meant to be an early return with a failure case of the Response, mapped from the ServerFnError. The .unwrap() left there was probably just an erroneous artifact from the various waves of the development process. 

If this is incorrect or I've missed something, please let me know! But I believe this is a very simple fix for an otherwise critical problem
2025-11-05 15:04:00 -03:00
Amos Wenger 55d5ec3fc8 feat: add --raw-json-diagnostics flag to dx build (#4887)
This flag allows users to get the raw JSON output from cargo instead
of having it processed by Dioxus. This is useful for integration with
other tools that expect cargo's native JSON diagnostic format.

When enabled, cargo's JSON messages are relayed directly to stdout
while still allowing DX to track essential build information internally.

Usage: dx build --raw-json-diagnostics
2025-11-05 14:57:28 -03:00
Craig 3ac4230ecf Support VSCode-Insiders in doctor command (#4892) 2025-11-05 14:57:01 -03:00
David Bernard 6f0c647c5a fix: propagate current tracing'span to server function (#4900)
FIX #4896
2025-11-05 14:56:15 -03:00
Jonathan Kelley 71e01d5be6 use default fullstackcontext instead 2025-11-05 14:53:51 -03:00
Himmelschmidt af215e4e80 Fix server functions failing when called from backend code (#4908)
* fix(fullstack-macro): allow server functions to be called without HTTP context

Server functions can now be invoked directly from server-side code without
requiring an HTTP request context. When called outside an HTTP handler,
extractors will use default values instead of failing, matching the behavior
of the old server_fn implementation.

Closes #4907

* fix(fullstack-macro): allow server functions without extractors to be called from backend

Functions with no server extractors use Default::default() and work from backend code.
Functions with extractors still require HTTP context.

Closes #4907
2025-11-05 14:46:01 -03:00
Himmelschmidt 791fa4be7b Replace unwraps with proper error handling in fullstack client (#4915) (#4916) 2025-11-05 14:45:21 -03:00
Evan Almloff e03d8ff215 fix windows builds (#4903) 2025-11-03 18:10:38 -08:00
Evan Almloff 06f39cd140 skip lib default members (#4895) 2025-11-03 12:59:07 -06:00
omasakun c2d540e64d Fix dioxus-native to run without the net feature (#4899)
* Fix dioxus-native to run without the net feature

* Fix local assets to be available without net features

* fix: compile out the inner_net_provider field entirely

* feat: make dioxus-native run without html feature
2025-11-03 18:45:44 +00:00
Jonathan Kelley 2ab9a5586d bump vers in readme 2025-10-30 21:51:34 -07:00
Jonathan Kelley ee25fcb5f6 release 0.7.0 2025-10-30 21:46:11 -07:00
Jonathan Kelley 9a5913cd74 fix links 2025-10-30 21:31:52 -07:00
Jonathan Kelley c5e43dbef6 fix more links 2025-10-30 21:29:09 -07:00
Jonathan Kelley 8f85114d46 prep for 0.7 release 2025-10-30 21:26:01 -07:00
Jonathan Kelley 1b81d89f0b release 0.7.0-rc.4 2025-10-30 19:46:42 -07:00
Jonathan Kelley 90e988cbdb remove some latent todos!() 2025-10-30 19:29:53 -07:00
Jonathan Kelley 32e46d98be implement files() on web data transfer 2025-10-30 19:22:08 -07:00
Jonathan Kelley 1015a9ed6c fix dual serve (#4865) 2025-10-30 19:16:29 -07:00
Omar Mohamed Khallaf a4d1fd848d feat: add option to statically add js and css assets to the header at compile time (#4653)
Signed-off-by: Omar Mohamed <mohamed.omar67492@gmail.com>
2025-10-30 18:55:51 -07:00
Javier E. 3f931e8409 Add some functions to read/write request header for server functions (#4823)
* Add some functions to read/write request header for server functions

* Use LazyLock<Mutex<_>> to allow rewriting and clearing request headers.
2025-10-30 18:54:14 -07:00
Evan Almloff ee1719af92 Expand relative assets to a placeholder if we are running in rust (#4860)
analyzer
2025-10-30 18:53:39 -07:00
Evan Almloff 566dab939f Relax asset resolver bounds and document resolving folder assets (#4859)
* relax asset bounds and document resolving folder assets

* fix docs for folder asset_path
2025-10-30 18:53:26 -07:00
Jonathan Kelley 5559e463c8 multiple fullstack nits/cleanups before release (#4852)
* feat: `:arg` syntax for serverfn

* add better decode/encode verify message

* allow catch-all query args

* add rebind

* implement websocket frames for `Streaming`

* fix lazy init

* wip... serverfnstate

* wip...

* wip: serverfns require Send/Sync, let's fix that

* wip...

* small cleanup

* fix hang by actually spawning the tokio task

* clippy

* fix parameter catchall binding

* fix lychee

* doc tests
2025-10-30 18:52:47 -07:00
Evan Almloff 43373f0be7 Fix updating components and local components (#4856)
* Fix updating components and local components

* fix typo
2025-10-28 17:02:56 -07:00
Sabin RegmiandJonathan Kelley 6e3f362872 Pipe Android/ADB logs into CLI (#4853)
* Enhance Android log handling in AppBuilder

- Introduced adb_logcat fields to manage Android logcat output.
- Implemented logcat spawning and parsing to differentiate log levels.
- Updated push_stdio method to filter Android logs based on trace settings.
- Added utility functions for retrieving app PID and parsing logcat levels.

* automatic retry to get pid

* pipe RustStdoutStderr as well

* strip logcat prefix

* filter in rust instead

* Refine log filtering in Rust output handling

- Improved log level detection by checking for prefixes after the colon in messages.
- Enhanced filtering to only show logs with standard tracing levels or fatal errors.
- Streamlined the process of stripping logcat metadata while preserving message content.

* cleanup output and kill proc

* capture logs from ios device

* clippy

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-28 12:35:34 -07:00
Jonathan Kelley 24df6439ea feat: set windows subsytem to windows for gui apps (#4855)
* feat: set windows subsytem to windows for gui apps

* typo

* clippy
2025-10-28 11:38:52 -07:00
Amar Sood 8adea41efa Add option_asset! to match asset! (#4791) 2025-10-28 11:26:21 -07:00
Evan Almloff e656bace5c restore the extract function for server functions (#4849)
* restore the extract function for server functions

* fix compilation

* Move most fields under one shared lock

* fix typo

* fix clippy

* restore somewhat misleading FromRequest bound

* remove unused import

* fix doc links
2025-10-27 15:54:24 -07:00
Norbert Bolanowski 5786c9396f Fix missing query string on #[get] server functions (#4827) 2025-10-27 15:15:45 -07:00
Jonathan Kelley 281f68faf5 use CapturedError as dioxus::Ok() so resources still function as expected (#4851) 2025-10-27 15:06:21 -07:00
Jonathan Kelley 9f0bacc85c fix: tokio rt is not set when calling handlers (#4850) 2025-10-27 14:30:23 -07:00
Jonathan Kelley c3ff0c0ab3 Fix: initializer race condition causing android to break 2025-10-27 12:45:54 -07:00
Evan AlmloffandJonathan Kelley 07a0aa852b Pin tauri-macos-sign (#4845)
* pin tauri-macos-sign

* fix nix by pining `home

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-27 12:44:24 -07:00
Koji AGAWA ddeeb540fc fix(cli): correct Android toolchain target for 32-bit arm architectures (#4837)
* fix(cli): correct Android toolchain target for 32-bit arm architectures

* style: rustfmt
2025-10-27 12:40:39 -07:00
Evan Almloff 9b52aa6607 Skip emitting a transposed type if the original type is entirely generic (#4838)
* Skip transposed type if the type is generic

* fix clippy
2025-10-27 12:37:02 -07:00
Evan Almloff e4297d0e09 Readable and Writable helpers for String, HashMap and HashSet (#4834)
* 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
2025-10-27 11:39:48 -07:00
luckybelcikandJonathan Kelley 3eecfaa0a7 fix(hotpatch): Gracefully handle missing '-flavor' flag during WASM link (#4833)
* fix(hotpatch): Gracefully handle missing '-flavor' flag during WASM link

* drops logs

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-27 09:58:28 -07:00
Jonathan Kelley 047e518edf feat: allow .set() on UseWebsocket to drive the connection manually 2025-10-24 19:35:59 -07:00
Nico Burns 2bbfccfd04 Native: implement hot-reloading of stylesheets (#4830)
* Make `tracing` feature of dioxus-native enable `tracing` feature of dioxus-native-dom

* Native: implement hotreloading of stylesheet assets

* Add asset support for native-headless-in-bevy example

Signed-off-by: Nico Burns <nico@nicoburns.com>

* Remove println statements

Signed-off-by: Nico Burns <nico@nicoburns.com>

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-10-24 15:56:55 -07:00
Evan Almloff c55a29e930 fix the info message for the dx components subcommand (#4832) 2025-10-22 22:52:08 +01:00
Jonathan Kelley 321032c5c6 Release 0.7.0-rc.3 2025-10-20 18:15:53 -04:00
Evan AlmloffandJonathan Kelley 987e41de16 CLI fixes for hotpatching the playground (#4715)
* add component subcommand

* add dx component add, remove and list commands

* handle rust dependencies

* handle component dependencies

* fetch remote registries

* sort components before listing them

* remove local dependency

* move te component manifest into the dioxus workspace

* add additional instalation instructions the first time the component
module is created

* fix mod name

* fix clippy

* improve docs and move to the main branch of components

* fix typos

* more typos

* undo const-serialize changes

* remove a few unwraps

* Allow adding multiple components at once and add a `--all` flag

* add options to the config for the base path, global asset path and
default registry

* component_path -> component_dir

* component_dir is always relative to the crate root

* fix clippy

* fix hot patching with a base path

* read the hot patch file from stdin instead of a CLI arg to allow for longer inputs

* fix request imports

* wip: code style changes

* rename to "components" instead of "component"

* bump lock

* move to method on request

* read until eof in the case of pretty json

* strip is now copy

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-20 17:50:27 -04:00
Evan AlmloffandJonathan Kelley 79613f9db9 DX components command (#4669)
* add component subcommand

* add dx component add, remove and list commands

* handle rust dependencies

* handle component dependencies

* fetch remote registries

* sort components before listing them

* remove local dependency

* move te component manifest into the dioxus workspace

* add additional instalation instructions the first time the component
module is created

* fix mod name

* fix clippy

* improve docs and move to the main branch of components

* fix typos

* more typos

* undo const-serialize changes

* remove a few unwraps

* Allow adding multiple components at once and add a `--all` flag

* add options to the config for the base path, global asset path and
default registry

* component_path -> component_dir

* component_dir is always relative to the crate root

* fix clippy

* fix request imports

* wip: code style changes

* rename to "components" instead of "component"

* bump lock

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-20 17:20:46 -04:00
b3966c3509 Support public dir (#4783)
* Add optional static_dir support

- add optional application.static_dir field defaulting to none
- copy configured static directory into web output during build/serve
- document config knob and add unit tests
- force full rebuild when static_dir contents change
- sync removes stale outputs and logs copy activity
- track static manifest next to platform dir

Tests: cargo fmt

* default to public dir to match vite

* static_dir -> public_dir

* wip

* deser as none...

* wip... use .manifest.json

* implement dumb form of asset manifest generation

* implement manifest using asset system directly

* cleanup

* dont create extra asset dir for server

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-10-20 17:03:34 -04:00
Jonathan Kelley 2f6be083ce fix merge conflict 2025-10-20 13:00:59 -04:00
Jonathan Kelley 306639ee9f follow up to serveconfig (#4820)
* remove latent dbg!

* cleanup serveconfig
2025-10-20 12:22:35 -04:00