Commit Graph
4737 Commits
Author SHA1 Message Date
Klemen eff2e5d18e fixed wix assets path (#3763) 2025-02-24 12:08:48 -08:00
Jonathan Kelley bdeedc13eb feat: router-based wasm bundle splitting (#3683)
* 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
2025-02-13 18:54:38 -08:00
Youn Mélois c13fb06bfa fix(interpreter): missing scrollTo boolean return value (#3734)
* fix(interpreter): missing scrollTo boolean return value

* docs(examples): unwrap scroll_to instead of discarding result values
2025-02-13 11:37:13 -08:00
Evan Almloff b443309f6e Hash and compare templates by value in debug mode (#3630)
* Hash and compare templates by value in debug mode

* add a regression test for layout state persisting after navigation

* More reliable static item merged detection
2025-02-07 16:35:32 -08:00
Miles Murgaw 18feb0b38d feat: disable drop handler (#3680) 2025-02-07 16:10:05 -08:00
Miles Murgaw 8b9e246044 fix: stop failing silently (#3682) 2025-02-07 16:09:25 -08:00
Miles MurgawandJonathan Kelley 4199d545fe Allow Missing Prop Docs (#3692)
* revision: allow missing prop docs

* fix: link

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-02-07 16:09:08 -08:00
oletf f594a65b7e use main exe name without extension for bundler (#3696) 2025-02-07 16:08:23 -08:00
Youn Mélois ab91965cc0 fix onload and onerror parsing error (#3707)
regression error induced by 299b123 where serde default got removed from `load_error` attribute of `ImageData`.

```diff
pub struct ImageData {
-     #[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
-     pub load_error: bool,
+     inner: Box<dyn HasImageData>,
}

// ...

+ struct SerializedImageData {
+     load_error: bool,
+ }
```
2025-02-07 16:08:00 -08:00
Evan Almloff 1c902ab729 Fix serving desktop+fullstack apps that have not set a server url (#3701)
* Fix serving desktop+fullstack apps that have not set a server url

* revert fullstack desktop example changes
2025-02-07 16:07:06 -08:00
Evan AlmloffandJonathan Kelley 5bb7f51cba Remove the stylesheet component (#3176)
* Remove the stylesheet component

* add props to style component

* don't remove stylesheet

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-31 15:06:14 -08:00
Vishwanath Martur 2fd7684a93 Add examples for LaunchBuilder methods (#3629)
Related to #3530

Add examples for `with_cfg`, `with_context`, and `with_context_provider` methods in the `LaunchBuilder` documentation.

* **with_context_provider**: Add an example demonstrating how to inject state into the root component's context created on the thread that the app is launched on.
* **with_context**: Add an example demonstrating how to inject state into the root component's context.
* **with_cfg**: Add an example demonstrating how to provide a platform-specific config to the builder.
2025-01-31 14:34:45 -08:00
Evan Almloff 2d188452ae Fix additional attributes for js renderers (#3625) 2025-01-31 14:31:31 -08:00
Andrew Voynov 67515ce812 Allow to connect to the dev server from a physical Android device (#3634)
* fix(android): now dev server just works on devices

* fix: allow custom port for Android app development

* refactor: simplified URL creation in LaunchBuilder
2025-01-31 14:29:54 -08:00
Jonathan Kelley 202f2e81d7 use apt-caching, don't cargo install during test 2025-01-30 15:55:35 -08:00
Marc Espin c5f43dd13e feat: Allow using NavigationTarget outside router (#3633)
* feat: Allow using `NavigationTarget` outside of router

* chore: Update import

* chore: Update imports

* fmt
2025-01-28 10:52:48 -08:00
Jonas Pleyer 4e955d0e3b remove html! macro mentioning (#3654) 2025-01-28 10:40:16 -08:00
Jonathan Kelley 155a2467be fix: don't emit hash fragment for internal links if hash is empty (#3660)
* fix: don't emit hash fragment for internal links if hash is empty

* add test
2025-01-28 10:09:27 -08:00
Evan Almloff c85018300b Ignore write while rendering warning in memo lazy recompute (#3647) 2025-01-27 14:33:15 -08:00
Evan Almloff bd30516490 Fix web eval return (#3656)
* Fix web eval return

* add regression test to playwright
2025-01-27 12:57:20 -08:00
Jonathan Kelley 5d4893493b revert ring pr 2025-01-21 18:55:15 -08:00
Jonathan Kelley 03c2d6711d fix: pass off env vars to android apps (#3621)
* fix: pass off env vars to android apps

* move to jni_onload

* fix clippy
2025-01-21 18:52:56 -08:00
Vinicius Gobbo Antunes de Oliveira ce2b223af9 CryptoProvider error. (#3619) 2025-01-21 18:46:59 -08:00
Jonathan Kelley 08f2180bbd fix: use a different temp path to not confuse image opt (#3620) 2025-01-21 18:33:43 -08:00
Evan Almloff 13dcd80fbf Optimize wasm bindgen asset with manganis (#3531) 2025-01-21 15:14:45 -08:00
Jonathan Kelley d8850c7666 fix: don't have Rc cycles in DioxusElement or Queries (#3618) 2025-01-21 14:57:31 -08:00
Jonathan Kelley d42b1d5146 fix: too much padding for small frames (#3616) 2025-01-21 11:33:00 -08:00
Evan Almloff f99e50b0aa Fix hot reload diffing to empty rsx (#3567)
* Fix hot reloading to empty rsx

* Only normalize the template when hot reloading and rendering

* add a test for emptying out an rsx block in hot reloading
2025-01-21 00:33:29 -08:00
Jonathan Kelley 2c6a5212fc fix: loop panic on process exit in serve 2025-01-21 00:32:39 -08:00
Jonathan Kelley 439e3e7723 fix: dont unwrap as much in desktop (#3609) 2025-01-21 00:13:05 -08:00
Miles Murgaw 4342ca92a3 Fix: always-on-top setting (#3347)
* fix: always-on-top

* revision: remove setting override
2025-01-20 23:34:30 -08:00
Jonathan Kelley d342630a0a feat: android bundling, red/blue exe names, session cache (#3608)
* feat: android bundling

* fix: add hashing to exe names for red/blue exes

* feat: implement session cache for window restoration
2025-01-20 21:16:55 -08:00
Jonathan Kelley 024285c548 fix: don't send hot-reload if app is building (#3607) 2025-01-20 18:58:50 -08:00
Jonathan Kelley 6c907b1c20 fix: restore file in release mode 2025-01-20 18:36:17 -08:00
Jonathan Kelley b6475bdc0a fix: don't ignore manganis assets (#3606) 2025-01-20 18:35:41 -08:00
Jonathan Kelley c2ad99406d Fix: don't overwrite pos/size when dx-rebuilding 2025-01-20 18:02:59 -08:00
Jonathan Kelley 8334f7fbaa feat: device hot-reload, tools-relative adb, auto port bind (#3586)
* wip: bind to 0.0.0.0 instead of 127.0.0.1

* dont hang in background - ignore suspend commands when tty is disabled

* use system adb

* pass configs through to android mobile launch

* fix: line sizes + clear pushes frame

* dont resume window state on mobile

* fix screen sizing for ipad

* attempt and fail to implement codesigning

* Clippy and note about safety in android bindings
2025-01-20 17:42:13 -08:00
Evan Almloff aba2e73025 Simplify fullstack auth example (#3598) 2025-01-20 16:35:19 -08:00
Christopher Serr eaf9f80abd Fix: Only Resize WebView Associated With Window (#3584)
When resizing a window, Dioxus previously accidentally resized every
single webview to the dimensions of the window that just got resized.
This fixes it so only the webview that is associated with the window is
resized.
2025-01-17 12:00:38 -08:00
Jonathan Kelley a729968ee4 fix: window state preservation by soft-killing the process (#3579) 2025-01-16 17:53:09 -08:00
Evan AlmloffandJonathan Kelley e22ea0c2ff Fix repeated subscription to dropped scope leak (#3569)
* Fix repeated subscription to dropped scope leak

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-16 17:35:14 -08:00
CathalandJonathan Kelley c7951b7dd5 feat(cli): add feature to disable downloads (#3465)
* feat(cli): add feature to disable downloads

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-16 16:49:30 -08:00
Jonathan Kelley cd121f2828 fix: messy ui for package types in bundle 2025-01-16 15:34:18 -08:00
19d5fae12d Fix outdir not work when run dx bundle --platform web --outdir mydir (#3572)
* Make legacy asset dir optional
* properly implement outdir

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Co-authored-by:  Nathy-bajo <bajon7680@gmail.com>
2025-01-16 15:17:33 -08:00
Jonathan Kelley db16de15c5 fix: don't accidentally generate .d.ts files with wasm-bindgen (#3577)
* no typescript flag

* move field
2025-01-16 13:27:07 -08:00
Evan Almloff 857c3e232e Fix rsx expression autocomplete (#3568)
* Fix autocomplete in node and attribute expressions

* Fix release expansion

* revert changes to expr_node

* fix rsx expansion in release mode
2025-01-14 10:51:39 -08:00
James BenzeandJonathan Kelley d5a04c69ba Add server context to suspense resolution (#3552)
* Add server context to suspense resolution

While this was done correctly in the streaming case, non-streaming
suspense resolution didn't recieve the server context.  This meant that
anything that required the context after the point of suspension would
find it missing.

* fmt

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-13 12:30:00 -08:00
sertschgiandJonathan Kelley 25a64d97c0 Fixed the multiple window closing issue, where the two multiwindow examples weren't working. (#3499)
* fixed window when multiple windows not closing

* fixed window when multiple windows not closing

* fixed accidental includes

* polished

* fix last window closing hiding app and rc hardcount

* find the suspect strong count holders and fix them

* Use the proper type alias

* fmt

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2025-01-13 12:10:22 -08:00
Anakael 36522cf3ea fix: cli pakage name search (#3561) 2025-01-13 11:18:50 -08:00
Plebshotandfabian a621cb8044 docs: demonstrate extending both global and element attributes (#3555)
Co-authored-by: fabian <fabian@staff.identeco.de>
2025-01-13 10:34:51 -08:00