Commit Graph
100 Commits
Author SHA1 Message Date
f1a0124227 backport iframe fix to v0.7 (#5535)
* feat:Add opt‑in navigation handler for external URLs (#5531)

* add navigation handler config option

code from https://github.com/DioxusLabs/dioxus/pull/5231

* Re-order branches

The branches should be reorder so that the branch that checks for
the index and assets is always taken first. Otherwise, they will
fail to load for users who forget to allow them in their custom
handlers, which will be a crappy experience and hard to debug.

* remove return

* Change behavior when handler not set

---------

Co-authored-by: not a cow <agielow@proton.me>

* fix: allow navigations but disallow external nav

---------

Co-authored-by: Martin Martinez Rivera <mrtnz.rvr@gmail.com>
Co-authored-by: not a cow <agielow@proton.me>
2026-05-07 15:11:47 -07:00
Jonathan Kelley 003ec3270b fix: toctou in wasm apply_patch causing UB (#5534) 2026-05-07 14:49:45 -07:00
Jonathan Kelley a7c0e3bfdd release v0.7.7 2026-04-30 17:57:32 -07:00
Jonathan Kelley 218bb9d56d autodetect js module type - only bundle esm (#5515)
* wip: autodetect esm

* finish fixes

* thread minify through

* add sweetalert2

* Fix default bundle types

* ts-ignore

* small nits

* small more nits

* shrink flamegraph
2026-04-30 17:50:37 -07:00
Jonathan Kelley 2f40780ce0 publish 0.7.6 2026-04-21 18:39:18 -07:00
Jonathan Kelley 6d1f19067a add default serde support to dioxus html 2026-04-21 17:21:17 -07:00
Jonathan Kelley cd54f5953b update the dioxus cratesio readme, add many more examples (#5501)
* update the dioxus cratesio readme

* fix example

* fix header

* add a bunch more examples
2026-04-21 17:07:48 -07:00
Jonathan Kelley 74e7d20f80 remove dioxus 0.7 callout in readme 2026-04-21 15:16:25 -07:00
Jonathan Kelley 3efe4bf14f remove image splash in readme 2026-04-21 15:15:48 -07:00
Jonathan Kelley 86d8e58443 fix 404 links for dioxus/manganis 2026-04-21 13:53:58 -07:00
Jonathan Kelley 51b0cd3313 fix: more panic resilience (#5489)
* fix: more panic resilience

* fix: panic typos
2026-04-14 17:58:50 -07:00
Jonathan Kelley 679ba83652 make Action partialeq (#5488)
* make Action partialeq

* better docs, hoist to macro_rules

* doc
2026-04-14 14:34:41 -07:00
Jonathan Kelley fb855b7088 fix: workspace hotpatch cache thrashing, feat: add compile profiling, cleanup + refactor + document cli request.rs file (#5479)
* it works!

* fix wasm hotpatch error

* bump wasmopt

* rename wasmopt flag

* rename ldd_keep_exports

* add build profiling

* undo bundle ignore

* some cleanups

* more cleanups

* wip: hoist up telemetry to builder

* fix compile

* wip: flamegraph rewrite

* clean up flamegraph impl

* cleanup profiling engine

* add comment on spans obj

* cleanup more phases

* more cleanup

* small cleanups

* bit more cleanups

* cleanup phases

* sign with tokio, not std proc

* split out the specific platform helpers

* cleanup a bit

* more cleanups

* more cleanups

* more cleanups

* more cleanups

* pull out fingerprint logic

* wip... I think I have a slightly better approach. saving checkpoint

* hm I think it's better now?

* fix: also seems to work not in workspace mode juuust yet

* okay yay almost there

* clooose but not there yet

* fix: manually export __wasm_apply_data_relocs since got relocations weren't firing

WASM workspace hotpatching: export __wasm_apply_global_relocs to fix call_indirect type mismatch

When workspace crates are recompiled with -Crelocation-model=pic for hotpatching, wasm-ld generates GOT.func.internal globals that hold element-segment-relative offsets (e.g., MetricCardProps::memoize = 31). These need __table_base added at runtime by __wasm_apply_global_relocs to become absolute table indices.

wasm-ld generates __wasm_apply_global_relocs but treats it as an internal synthetic function -- neither --export nor --export-if-defined will export it. Without the export, the runtime's call silently failed (the old code used unchecked_into on undefined), leaving the globals unrelocated. Function pointers then pointed to index 31 in the original module's table (some unrelated function) instead of table_base + 31 (the patched function), causing call_indirect to a signature that does not match.

Three changes:

patch.rs: After walrus processing, find __wasm_apply_global_relocs by name and add it as an export before emitting the patched wasm.
lib.rs: Replace unchecked_into with dyn_into for calling relocation functions, so missing exports are handled gracefully instead of silently swallowed.
link.rs: Remove the ineffective --export-if-defined flags that were added during debugging.

* cleanup

* fix scope dir

* change up naming a bit

* more tidying up

* more cleanups

* ignore early return

* clean er up

* more comprehensive cache bustign

* bust fingerprints of dag

* move bust_fingerprint back to request.rs

* add better rustdoc

* more idiomatic

* more cleanups

* fix panic, typos

* more lints

* only delete workspace prints in fat mod

* clippy
2026-04-14 12:09:49 -07:00
Jonathan Kelley 71df8c790f fix: clippy 2026-04-07 18:48:04 -07:00
Jonathan Kelley c73dc43233 fix(autofmt): add support for handling comments in various expression types (#5461)
* fix(autofmt): add support for handling comments in various expression types

* fmt
2026-04-07 16:19:00 -07:00
Jonathan Kelley d027e26046 Release 0.7.5
dioxus-autofmt@0.7.5
dioxus-cli@0.7.5
dioxus-component-manifest@0.7.5
dioxus-desktop@0.7.5
dioxus-fullstack@0.7.5
dioxus-html@0.7.5
dioxus-server@0.7.5
dioxus-web@0.7.5
manganis@0.7.5

Generated by cargo-workspaces
2026-04-06 10:50:46 -07:00
Jonathan Kelley fff2e3d5a9 Release Dioxus v0.7.4 2026-03-27 16:58:44 -07:00
Jonathan Kelley 1eb00b5e00 commit lf desktop readme 2026-03-27 13:35:17 -07:00
Jonathan Kelley 5a8d5afb64 fix dup esbuild download 2026-03-26 17:12:12 -07:00
Jonathan Kelley 20e242628d fix stutter in bundle, fix nsis, fix msi bundling (#5412)
* fix stutter in bundle, fix nsis, fix msi bundling

* fmt

* rename android libname to `libmain`, rename server exe to `server`

* fix hot-dog url handling

* set linux product name

* update schema
2026-03-26 13:05:11 -07:00
Jonathan Kelley 7289256b0a version tools (#5407)
* version tools

* move bundling tools to `~/.dx/tools`
2026-03-23 17:18:57 -07:00
Jonathan Kelley b2d01e6779 rip out tauri bundle (v2), swc -> esbuild, blacksmith -> warpbuild, FAST CI 🚀 (#5328)
- inline mac, windows, linux bundling in the cli
- remove tauri bundle from our dep tree
- trim down the rpm crate for fewer dependencies in tree
- migrate from blacksmith to warpbuild
- move off swc and instead use esbuild via tool
- use dev drives in windows CI
- use fork of nix action for faster caching
- test bundling in CI
- fix asset handling in linux 
- add default APPDATA location for webview2 installs for dioxus apps on windows
2026-03-20 12:27:13 -07:00
Jonathan Kelley 33159f366a workspace hot-patching, dynamic tls fixups (#5291)
* Refactor cross-tls-crate-dylib configuration and update test output

- Commented out the crate-type configuration in Cargo.toml for cross-tls-crate-dylib.
- Modified the initial value of the thread-local variable FOO from 2.0 to 1.0 in the main.rs test file.
- Updated the output message in main.rs to be more descriptive.
- Added a new field `tls_fixups` to the JumpTable struct in subsecond-types, which will facilitate future runtime TLS sharing.

* ws hotpatch!

* remove old file

* undo core change

* svh

* Enhance rlib path resolution by incorporating -C extra-filename handling

* remove obj diffing

* small cleanups

* obj cache as files

* simplify

* simplify a bit

* dont bother round tripping cache

* extract to helper

* cleanup `build` function

* dont round-trip modified_crates

* make sure to wipe between full

* bit of a cleanup

* use explicit naming

* compact extra method

* fix temp cleanup

* fix warnign

* cleanup

* fmt, clippy
2026-02-10 22:37:16 -08:00
Jonathan Kelley 9b0d380765 update ext vo 0.7.3 2026-01-25 13:54:26 -08:00
Jonathan Kelley b6793dc2b4 fix more whitespace issues in rsx autofmt nested rsx blocks (#5257)
* trim

* works a bit better

* almost...

* it work?

* yay!

* codex tried a thing

* move

* reduce to 1

* remove search

* simplify

* adjust test case

* clippy
2026-01-24 22:32:55 -08:00
Jonathan Kelley 3d9c10aa86 cargo fmt 2026-01-16 20:14:20 -08:00
Jonathan Kelley cb0b7eb737 fix playwright test by adding cache header via release mode 2026-01-16 20:13:44 -08:00
Jonathan Kelley 97a670af0f remove doctests for mangnais 07 2026-01-16 20:00:57 -08:00
Jonathan Kelley 22b06badde release v0.7.3 2026-01-16 19:51:29 -08:00
Jonathan Kelley 58eea846b9 use a better time format than raw humantime 2026-01-16 18:22:58 -08:00
Jonathan Kelley 794c12443f tweak log messages (#5174) 2026-01-16 16:58:21 -08:00
Jonathan Kelley ef4d596885 fix playwright flakey test, upgrade to blacksmith runners for more things, cargo update to fix rfd build (#5228)
* attempt fix for flakey playwright test

* fix link

* disable blitz-shell file dialog

* remove rfd integration in native for now

* undo file-dialog pass-thru in anticipation of blitz-shell update

* upgrade to blacksmith

* blitz-shell bump

* use faster runner
2026-01-16 16:52:41 -08: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
Jonathan Kelley ec8f31dece bump translation links 2025-12-29 22:58:12 -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
Jonathan Kelley f537d72918 fix typo checker 2025-12-29 20:24:52 -05:00
Jonathan Kelley 852a1e5ea5 move notes to translations 2025-12-29 20:23:55 -05:00
Jonathan Kelley e2a405457f move security doc to notes 2025-12-29 20:23:10 -05:00
Jonathan Kelley 13e7cd1655 remove mailmap 2025-12-29 20:21:24 -05:00
Jonathan Kelley c2c24569c6 feat: add section about assets to key agents.md 2025-12-29 18:11:28 -05:00
Jonathan Kelley 638c02e15a feat: AGENTS.md and architecture guides for agents! 2025-12-29 18:09:05 -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
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
Jonathan Kelley 2da01937c1 feat: add support for server-only extractors (#5086) 2025-12-11 18:21:27 -08:00
Jonathan Kelley 74bc78324b remove dead link 2025-12-05 12:14:23 -08:00
Jonathan Kelley c5f330dcae fix: make install.sh sh compatible (#5058) 2025-12-05 12:12:11 -08:00
Jonathan Kelley dd2d1b8a19 downgrade cargo generate to fix msrv 2025-12-05 12:11:49 -08:00
Jonathan Kelley 863aacdce7 use 1.88 for main ci 2025-12-05 11:53:29 -08:00
Jonathan Kelley da04e1e8df rollback tempfile, drop rustvers requirement 2025-12-05 11:22:50 -08:00
Jonathan Kelley 35351ebe99 remove musl publish target 2025-12-05 11:18:36 -08:00
Jonathan Kelley 5a10524b97 use rust 1.89 to fix rustvers issue 2025-12-04 20:25:02 -08:00
Jonathan Kelley 68e04ff837 use 1.89 for publish 2025-12-04 20:21:04 -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
Jonathan Kelley 2f7b025eaf cargo formatting 2025-12-04 17:49:53 -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
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
Jonathan Kelley 57e3543c64 fix a few small bugs (#4955)
* add `Patch` endpoint

* fix stack overflow on loader

* add timeout to playwright

* 45 min

* remove macos x86 from runners
2025-11-11 12:37:19 -03:00
Jonathan Kelley 03ab7fa482 Release v0.7.1 2025-11-06 16:39:25 -03:00
Jonathan Kelley 50a7757259 fix: use cfg window close behavior (#4928) 2025-11-06 16:12:15 -03:00
Jonathan Kelley 1236296ea6 feat: use async fd when using tokio (#4927)
* feat: use async fd when using tokio

* whoops fix ios
2025-11-06 14:55:59 -03:00
Jonathan Kelley 75bb61ea67 fix: use dioxus query, not axum (#4926) 2025-11-06 14:47:27 -03:00
Jonathan Kelley b331734027 fix: serverfn endpoint for anon serverfns (#4920) 2025-11-05 17:19:47 -03:00
Jonathan Kelley 6a50f1ba84 add with_on_window_ready to allow modifying window before webview (#4919)
* wip

* cleanups
2025-11-05 17:00:58 -03:00
Jonathan Kelley 06c5a4499f fix cargo.lock 2025-11-05 15:57:28 -03:00
Jonathan Kelley 6824887856 add platform flag (#4918) 2025-11-05 15:55:20 -03:00
Jonathan Kelley 71e01d5be6 use default fullstackcontext instead 2025-11-05 14:53:51 -03: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
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
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
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
Jonathan Kelley 047e518edf feat: allow .set() on UseWebsocket to drive the connection manually 2025-10-24 19:35:59 -07:00
Jonathan Kelley 321032c5c6 Release 0.7.0-rc.3 2025-10-20 18:15:53 -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
Jonathan KelleyandEvan Almloff 19ada89cec resolve the index before rendering (#4806)
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2025-10-19 15:03:57 -04:00
Jonathan Kelley 7454fc21ee Release Dioxus 0.7.0-rc.2 2025-10-15 01:28:17 -07:00
Jonathan Kelley 20fa29ac6e feat: allow setting http response header in fullstack 2025-10-15 01:20:16 -07:00
Jonathan Kelley 0aa7351473 datatransfer object, drag_and_drop example, fix drag-and-drop (#4789)
* wip: implement datatransfer

* Editable kanban contents

* desktop sorta works without crashing

* lint
2025-10-15 01:06:13 -07:00
Jonathan Kelley 7856679641 remove --docs cfg to fix docsrs building (#4788) 2025-10-14 20:18:13 -07:00
Jonathan Kelley 056b47fcd0 fix: ios hotpatching due to missing isysroot flag 2025-10-14 19:59:25 -07:00
Jonathan Kelley 7102bc3b6a more fullstack cleanups: loaders serialize, ServeConfig only (#4785)
* some opinionated cleanups in dioxus-server

* add serialize to loader

* add `result` to Resource

* clippy

* fix

* writable memos, resources, `onmount`, `.pending`, and `.value()` on actions

* fix compile issues

* fix typo
2025-10-14 17:34:52 -07:00
Jonathan Kelley bc3b99b7fc feat: add showcase of custom axum types in responses 2025-10-13 16:57:57 -07:00
Jonathan Kelley 8f6e7dc1f2 fix: server function custom errors set status codes (#4782)
* fix: handling status codes from errors

* add demo

* clippy + check

* fix clippy again
2025-10-13 16:02:33 -07:00