Commit Graph
5186 Commits
Author SHA1 Message Date
Evan Almloff 8eb4322de2 Fix optional callback props implementation (#5225)
* fix optional event handler diffing

* add regression test
2026-01-16 14:50:48 -08:00
Nico BurnsandEvan Almloff 761c9503fd CLI: don't enable default features in --no-default-features builds (#5147)
* Don't push default features in `--no-default-features` builds

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

* add tests for default features and no default features outside of renderers

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2026-01-14 23:24:18 +00:00
Nico BurnsandEvan Almloff 352e59ea01 Bump rfd to 0.17.2 (#5204)
* Bump rfd to 0.17.1

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

* Bump MSRV to 1.90

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

* Fix clippy

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

* bump rfd and revert msrv changes

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2026-01-14 22:30:51 +00:00
Sabin Regmi 15bf75b7b0 Fixes Passive Segment in Manganis (#5189) 2026-01-08 12:23:19 -08:00
Alex Ellwein a5db24defc chore: fix typo (#5185) 2026-01-07 13:18:11 -06:00
Jonathan Kelley 6b78816c1d allow passive wasm segments for manganis (#5163)
* fix passive segment using tls calculation!

* clean things up

* clean diff

* revert some pr changes for review

* cleanups
2026-01-07 02:35:08 -08:00
HenryandJonathan Kelley 9965220947 Scoped css (#5087)
* Create new css module parser

* Use css module processing

* Make hot reloading work for css_module macro

* Change css_module macro shape and rename to styles

* Add css_module example

* Update styles macro documentation

* Remove hidden from styles macro

* Remove unneeded param

* Remove unneeded visibility

* Improve `styles!` macro documentation

* Clippy

* Remove unneeded method

* Clippy

* Clippy

* Replace panic with anyhow

* Update css_module macro to attribute macro

* Update macro docs

* chore: Cargo.lock

* Clippy

* respect semver by deprecating old func

* update to latest winnow

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-12-29 22:41:36 -05:00
Jonathan Kelley 34554766db bump extension 2025-12-29 22:09:23 -05:00
Jonathan Kelley 1025bd69f0 fix: autofmt duplicate whitespace on attributes, flickering of vscode autoformat (#5159)
* wip: failing test

* edit harness a bit

* wip, not fixed entirely

* fix comment accumulation and whitespace

* fix: autofmt syncrhonize edits with vscode waitUntil edit pipeline

* fix optimization collapsing away whitespace

* comment out test case for now
2025-12-29 22:04:41 -05:00
Agustín Covarrubias 2ee8ecd477 fix(cli): pass --all-features flag to cargo (#5153) 2025-12-29 09:33:03 -05:00
Jonathan Kelley 02b62342ef allow codesigning any server backend on macos (#5085)
* allow codesigning any server backend on macos

* clippy
2025-12-28 22:37:46 -05:00
Bayley Foster 887a87dcc1 fix(cli): display bundle format instead of undefined in dev loading screen (#5123) 2025-12-28 21:51:39 -05:00
Evan AlmloffandJonathan Kelley c977cc125e Switch const serialize to use CBOR (#4932)
* 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>
2025-12-28 21:49:34 -05:00
Nico Burns c68a47b2d3 CLI: only push a dioxus/* fallback feature if the crate being compiled (#5143)
depends on the `dioxus` crate.
2025-12-28 12:24:03 -05:00
Nico Burns 31bee1417c Add a prelude module to Dioxus Native (#5104)
* Add prelude to dioxus-native crate

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

* Fix unreachable_patterns lint

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-12-25 16:51:51 -05:00
Jonathan Kelley db23197925 fix dx fmt span attribute issue (#5132)
* fix: if expr spans causing invalid span locations

* cleanups

* clippy, typo
2025-12-25 16:50:50 -05:00
Evan Almloff b050dfec5c Fix optional element regression (#5110)
* Fix optional element regression

* use vnode unless it is explicitly an option
2025-12-25 16:49:53 -05:00
Ivan Tham 417bf7a4c1 Fix subsecond doc comment (#5134) 2025-12-24 17:01:13 +00:00
qouteallandEvan Almloff da72b63b6f Fix the wrong removal of first linker arg in Windows. Linker argument file no longer include first program name argument. Small refactor of handling of linker response file. (#5010)
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2025-12-15 10:14:22 -06:00
Nico Burns 9484cda546 Fix clippy lints (Rust 1.92) (#5102)
* Fix clippy lints (Rust 1.92)

* cargo fmt

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

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-12-15 15:32:09 +00:00
Rhaskia 88120a7c39 add auxclick and scrollend to dioxus events (#5095) 2025-12-14 22:52:46 -08:00
Jonathan Kelley 2da01937c1 feat: add support for server-only extractors (#5086) 2025-12-11 18:21:27 -08:00
Nico Burns 552b553a44 Fix call to rustc-objcopy to strip binary on Linux (#5066)
* Fix call to rustc-objcopy to strip binary on Linux

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

* Print stdout and stderr if strip fails

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

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-12-11 02:36:56 +00:00
jullang 05b2dd400c fix typos in dioxus_fullstack::client::get/set/clear_request_headers (#5078) 2025-12-09 08:36:30 -06:00
Paul Hansen 8a38e7ca76 fix: Allow links with duplicate href if rel is different (#5071)
Fixes #5070
2025-12-09 13:53:42 +00:00
Nico Burns c01770fcfb Fix resolving windows icon path (#5072)
Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-12-08 14:37:55 +00:00
Acheul 46b1639ddf fix collect child paths in store (#5069) 2025-12-07 08:21:03 -06:00
jullang 810321e053 Update README links for version 0.7 (#5068)
This seems to be out of sync right now, as the link itself points to 0.7, but the name still says 0.6
2025-12-07 13:21:32 +00:00
Jonathan Kelley 74bc78324b remove dead link 2025-12-05 12:14:23 -08:00
Jonathan Kelley dd2d1b8a19 downgrade cargo generate to fix msrv 2025-12-05 12:11:49 -08:00
Jonathan Kelley da04e1e8df rollback tempfile, drop rustvers requirement 2025-12-05 11:22:50 -08:00
Jonathan Kelley ebeaa2c273 fix: bump cli rustvers 2025-12-04 18:30:10 -08:00
Jonathan Kelley 8f8b58ea80 release v0.7.2 2025-12-04 18:26:15 -08:00
Jonathan Kelley ca585c35ee remove warnings dep from various crates 2025-12-04 18:13:58 -08:00
Jonathan Kelley af8d6aed2f dont bother warning about unmatched ifuncs
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.
2025-12-04 18:07:32 -08:00
Jonathan Kelley 3656cf2ba6 bump tempfile to beat deprecated warning 2025-12-04 17:57:37 -08:00
KlemenandJonathan Kelley 3b9558d8eb Fix exit_on_last_window_close for UserWindowEvent::CloseWindow (#5047)
* Fix exit_on_last_window_close for UserWindowEvent::CloseWindow

* fix: unify under close_requested

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-12-04 17:26:32 -08:00
Soheil AlizadehandJonathan Kelley 3fef7a9962 Enable musl target builds with vendored libgit2 (#4991)
* 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>
2025-12-04 17:04:27 -08:00
fc0fbb2561 Fix dioxus-fullstack::Streaming<T,E> only deserializing one client value (#4975)
* 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>
2025-12-04 16:52:14 -08:00
Ryo Hirayama a220e9aaf6 fix(fullstack): Streaming::into_inner() returning empty stream (#4961)
* 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
2025-12-04 15:19:02 -08:00
Jonathan Kelley 946a925f41 disable dma buf on wayland linux (#4957)
* disable dma buf on linux

* allow configuring
2025-12-04 15:18:13 -08:00
Jonathan Kelley 1e48093e22 codesign macos apps (#5055)
* wip

* rollback readme

* change language
2025-12-04 15:15:23 -08:00
Charles ChristoliniandEvan Almloff 3bcb76b21c Resolves #5045: Trim slashes to prevent base path resolution issues in web (#5049)
* 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>
2025-12-04 14:19:01 -06:00
Amos Wenger e5a98d094d fix(cli): queue file changes that arrive during builds instead of dropping them (#5007)
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.
2025-12-04 14:01:29 -06:00
Evan Almloff 5b8bc358db Override strip even if you explicitly enable it in the passed profile (#5052) 2025-12-03 12:51:34 -05:00
Evan Almloff 386153672e Add a warning for keys after the first node which do nothing (#4978)
* add a warning for keys after the first node which do nothing

* warnings on stable

* better warnings on nightly
2025-11-30 15:29:50 -05:00
Evan Almloff c58526a36b Disable strip setting in profile and manually strip with llvm the build (#4966)
* 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
2025-11-30 15:29:12 -05:00
Evan Almloff cce5bf687a fix unresponsive linux windows (#4979) 2025-11-30 15:27:58 -05:00
Jonathan Kelley 88bc12cbb5 fix: handle wbg_cast functions by rewriting patch module (#5026)
* fix: handle wbg_cast functions by rewriting patch module

* clippy

* dont use workspace deps
2025-11-25 13:18:27 -08:00
Jonathan Kelley 1d2dec1101 fix jsvalue 2025-11-24 17:04:44 -08:00