Commit Graph
100 Commits
Author SHA1 Message Date
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
Jonathan Kelley 76319005b8 use queue_events instead of process_events to fix ssr issue (#4772)
* use `queue_events` instead of `process_events` to fix ssr issue

* remove suspense wait from liveview
2025-10-11 21:03:54 -07:00
Jonathan Kelley 01db142750 fix collect2 ld error with hotpatching (#4771)
* get repro case

* disable --with-deps for playwright

* extend hotpatch with better path
2025-10-11 20:33:10 -07:00
Jonathan Kelley 9243ef4128 redirects, middleware, Transport, set/capture error status (#4751)
* 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
2025-10-10 21:43:57 -07:00
Jonathan Kelley 9f5cae7e61 use github's arm runner 2025-10-09 12:18:25 -07:00
Jonathan Kelley 783c4e9ead fix publish ci 2025-10-09 12:14:41 -07:00
Jonathan Kelley 05c098017d remove outdated example readme 2025-10-08 21:01:44 -07:00
Jonathan Kelley fada28f7b1 Remove duplicated auth example 2025-10-08 19:47:15 -07:00
Jonathan Kelley 05f3b8d20f release: dioxus 0.7.0-rc.1 2025-10-08 00:33:21 -07:00
Jonathan Kelley 92792aded9 More fullstack fixes (#4737)
* 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
2025-10-07 23:07:43 -07:00
Jonathan Kelley bee89b795d fix: hotpatching fullstack (#4730)
* 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
2025-10-06 16:12:18 -07:00