Commit Graph
119 Commits
Author SHA1 Message Date
Jonathan Kelley 22e71a71bd feat: return window 2022-12-31 12:19:21 -05:00
Jonathan Kelley 880aa737a6 feat: multiwindow support 2022-12-30 22:05:15 -05:00
Jonathan Kelley 819bd3fc24 chore: use broadcast instead of receiver 2022-12-30 02:56:10 -05:00
Jonathan Kelley 531f7c6d3f chore: clean up msg in desktop even more 2022-12-30 01:52:54 -05:00
Jonathan Kelley 633bf1f834 aggressively clean up desktop with new inline poll 2022-12-30 01:08:25 -05:00
Jonathan Kelley 7bc8150da7 fix desktop to poll without budget 2022-12-29 20:39:22 -05:00
Jonathan Kelley bd720e2268 fix: use futuresunordered instead of bespoke waker system 2022-12-29 19:53:43 -05:00
Jonathan Kelley ff697d41e3 wip: move desktop to main thread and use tokio main 2022-12-29 17:11:29 -05:00
Lixou bfdd7945aa Fix copy paste error in docs (#685) 2022-12-27 13:04:23 -06:00
Evan Almloff e5a5850354 merge master 2022-12-20 20:48:28 -06:00
Evan Almloff 493ee1cb3f Merge branch 'upstream' into fix-hot-reloading 2022-12-19 21:17:22 -06:00
Jon Kelley 5ac9b595ea Revert "fix: liveview interpreter using new templates" 2022-12-16 14:20:05 -08:00
= 14dd568987 Merge branch 'upstream-master' into fix-hot-reloading 2022-12-16 10:07:11 -06:00
= 0d9c350d5e implement for web and desktop 2022-12-15 21:16:37 -06:00
Jonathan Kelley 06e8e096bb feat: more fixes to liveview 2022-12-15 14:25:23 -08:00
Jonathan Kelley e256fe1079 wip: add html event type 2022-12-14 19:07:33 -08:00
Evan Almloff bf47f64852 Merge branch 'upstream' into return-from-js 2022-12-08 11:25:15 -06:00
Evan Almloff e863ef29b8 allow returning values from use_eval 2022-12-08 10:44:56 -06:00
Jonathan Kelley 1b14b309e9 chore: clean up desktop 2022-12-06 16:37:28 -08:00
Jonathan Kelley b182a6ee75 chore: clean up interpreter and bindings 2022-12-05 16:47:04 -08:00
Jonathan Kelley 18d6b1ad6f feat: get web working properly 2022-11-30 17:21:10 -05:00
Jonathan Kelley 30ef225812 feat: event handling on desktop 2022-11-17 20:00:39 -08:00
Jonathan Kelley 642b21f125 suspense works in desktop 2022-11-16 11:48:47 -08:00
Jonathan Kelley e8ae830cf2 feat: get desktop working with just creation 2022-11-15 18:32:48 -08:00
Jonathan Kelley 47d0f51e00 wip: overhaul event system 2022-11-15 16:05:22 -08:00
Demonthos 047ed1e553 Subtree memorization / reactive templates (#488)
This commit adds subtree memoization to Dioxus.

Subtree memoization is basically a compile-time step that drastically 
reduces the amount of work the diffing engine needs to do at runtime by
extracting non-changing nodes out into a static "template." Templates 
are then understood by the various renderers in the ecosystem as a 
faster way of rendering the same items. 

For example, in the web, templates are simply a set of DOM Nodes created 
once and then cloned later. This is the same pattern frameworks like Lithtml
and SolidJS use to achieve near-perfect performance. 

Subtree memoization adds an additional level of complexity to Dioxus. The RSX
macro needs to be much smarter to identify changing/nonchanging nodes and
generate a mapping between the Template and its runtime counterparts.

This commit represents a working starter point for this work, adding support 
for templates for the web, desktop, liveview, ssr, and native-core renderers.
In the future we will try to shrink code generation, generally improve 
performance, and simplify our implementation.
2022-09-30 12:03:06 -07:00
Jon Kelley 540e785d8b Less clumsy configuration for desktop and mobile (#553)
* chore: dont use prebuilt builder pattern for configuring desktop

* chore: use regular config pattern for web

* Chore: update docs too

* chore: clean up some warnings
2022-09-13 16:22:27 -07:00
Demonthos a9e71cb001 expose desktopconfig in public interface (#529) 2022-08-17 11:16:05 -07:00
Jon Kelley d9546d9504 Renderers are now packages, not features. (#387)
* feat: use synchronous router design

* feat: function to get router out of dom

* chore: restructure workspace to use renderers as packages, not features
2022-07-09 15:15:20 -04:00
Adia Robbie c271fc132e dioxus-desktop(Update-dep): tauri 0.19.x (#489)
* Update(dep): tauri 0.19.x
2022-07-06 12:05:31 -04:00
Demonthos 3a5d1a2ff8 fix web imports and extract hot reload handlers into seperate files (#484) 2022-07-04 13:18:11 -05:00
Jonathan Kelley 8ab1c4d0de feat: upgrade wry 2022-05-05 16:29:24 -04:00
Benjamin Lemelin 0105218db9 Removed alerts when right click on release. 2022-04-21 15:44:43 -04:00
Jonathan Kelley 049976d23a feat: allow customizing the index and head 2022-04-16 16:53:47 -04:00
Ilya Maximov d31edfa7d7 rustfmt when the 2022-03-21 22:02:04 +01:00
Ilya Maximov 5cbf2698fd add use_eval()to desktop and web 2022-03-17 23:47:11 +01:00
Jonathan Kelley 2181ccd80f Merge pull request #272 from DioxusLabs/jk/documet-everything
docs: add `deny(missing_docs)` is many more places
2022-02-26 17:46:30 -05:00
Jonathan Kelley 77631bff1f Merge branch 'master' into jk/documet-everything 2022-02-26 17:33:06 -05:00
Jonathan Kelley ccb3aa7977 feat: allow custom root directories 2022-02-23 15:11:57 -05:00
Jonathan Kelley d19ae3ff56 feat: tweak debug tools to be customizable 2022-02-21 23:45:01 -05:00
Jonathan Kelley b2a4d387c7 docs: document all of desktop crate 2022-02-20 23:52:36 -05:00
Jonathan Kelley c5a022112b Merge pull request #267 from DioxusLabs/jk/heavy-compute
fix: ping window after virtualdom is ready
2022-02-20 17:44:05 -05:00
Jonathan Kelley 5954bba975 wip: disable reload in production 2022-02-19 22:36:55 -05:00
Jonathan Kelley 28716248c5 fix: ping window after virtualdom is ready 2022-02-19 17:34:44 -05:00
Jonathan Kelley 7ce34ad97e fix: enable desktop devtol 2022-02-18 23:22:35 -05:00
Christoph Grabo 2828f45e12 Clean up desktop's lib.rs 2022-02-13 20:34:27 +01:00
Christoph Grabo 73ce79bd2a Extract protocol hander into module 2022-02-13 20:34:26 +01:00
Christoph Grabo 594a794f05 Switch from RPC to IPC 2022-02-13 20:34:26 +01:00
Aster f6b30d26b9 Add default desktop icon 2022-02-13 00:35:02 +08:00
Aster aad055cd84 Fix typo WryProtocol 2022-02-12 21:46:12 +08:00