Jonathan Kelley
bd720e2268
fix: use futuresunordered instead of bespoke waker system
2022-12-29 19:53:43 -05:00
Evan Almloff
afd024bcb6
Merge branch 'upstream' into fix-non-str-attributes
2022-12-23 15:53:39 -06:00
Jonathan Kelley
d3be971f4e
chore: rollback to option instead of anyhow
2022-12-19 18:06:13 -08:00
Jonathan Kelley
7a4b0d7c2d
fix: use stack optimization for replacer
2022-12-19 11:14:01 -08:00
Jonathan Kelley
cc7736302a
Merge branch 'master' into fix-non-str-attributes
2022-12-17 01:51:13 -08:00
Jonathan Kelley
5c20e651da
fix: get rollover working
2022-12-13 14:44:47 -08:00
=
53b436c684
remove AnyValueBounds and add some docs
2022-12-11 21:40:40 -06:00
=
73ec4abfdf
Merge remote-tracking branch 'upstream/master' into fix-non-str-attributes
2022-12-11 21:26:38 -06:00
=
74e9d5977a
add sync behind a feature flag
2022-12-11 17:31:15 -06:00
Sam Schmeink
6166d4eb73
fix: replace fxhash with rustc-hash
2022-12-10 03:56:48 +01:00
Evan Almloff
6102902387
work on optimizing web implementation
2022-12-06 14:24:35 -06:00
Jonathan Kelley
16a521a601
chore: update docs
2022-11-30 10:31:44 -05:00
Jonathan Kelley
7c3d308ab5
chore: make warnings go away
2022-11-29 16:31:04 -05:00
Jonathan Kelley
0e5a59f9ed
wip: error boundary
2022-11-22 18:38:27 -08:00
Jonathan Kelley
112c954e00
Merge branch 'master' into jk/templates-v3
2022-11-22 16:11:12 -08:00
David Craven
99dafdb8ee
Build failure on master. ( #627 )
...
* Build failure on master.
* Fix ci failure.
* Fix test.
* Ignore broken tests.
* Fix doctests.
2022-11-22 09:56:15 -08:00
Demonthos
f21c8423eb
optimizations for wasm size ( #582 )
...
* optimize for size
* fix tests
* revert log feature
* make backtrace not optional
* remove dev feature from web dev-deps
2022-11-16 22:22:13 -08:00
Jonathan Kelley
f5bc137f01
chore: clean up scheduler code
2022-11-09 10:58:11 -08:00
Jonathan Kelley
a38fc9e4ab
feat: suspense!
2022-11-06 01:48:34 -07:00
Jonathan Kelley
22d4bf7346
feat: use walking pattern
2022-10-26 18:04:47 -07:00
Jonathan Kelley
90982e0ccb
wip: start to refactor out hot reloading from packages
...
Also implement alternative simpler template system
2022-10-20 09:56:09 -07:00
saicu
e8c48d46cf
replace fxhash crate with rustc-hash ( #588 )
2022-10-12 18:27:26 -07:00
Demonthos
928b5358b2
allow arbitrary attribute value in owned attribute value ( #574 )
2022-10-02 14:13:06 -07: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
Evan Almloff
f9713b2fe9
Merge remote-tracking branch 'origin/master' into jk/rsx-refactor
2022-05-27 17:56:50 -05:00
Evan Almloff
871f51f91b
It compiles
2022-05-25 14:08:59 -05:00
Evan Almloff
ca10d89670
add RsxTextIndex
2022-05-25 11:20:07 -05:00
Jonathan Kelley
3febd42588
Release dioxus-core v0.2.1, dioxus-core-macro v0.2.1, dioxus-html v0.2.1, dioxus-interpreter-js v0.2.1, dioxus-desktop v0.2.3, dioxus-hooks v0.2.1, dioxus-liveview v0.1.0, dioxus-native-core v0.2.0, dioxus-native-core-macro v0.2.0, dioxus-router v0.2.3, dioxus-ssr v0.2.1, dioxus-tui v0.2.2, dioxus-web v0.2.1, fermi v0.2.1, dioxus v0.2.4
2022-05-02 23:57:20 -04:00
Joshua Kifer
1b736f1001
Remove release_max_level features from several Cargo.toml log dependencies
2022-03-15 17:59:30 -06:00
Jonathan Kelley
e7505188d6
release: make a new 0.2.0 release of Dioxus
2022-03-09 14:24:05 -05:00
Jonathan Kelley
e04a6d63a5
chore: move tests out of core and into the top level crate
...
This commit moves the tests out of core so rust analyzer
is happier with the workspace.
2022-03-02 22:48:22 -05:00
Dave Rolsky
06ea624eec
Make all packages which require futures-channel ask for the same version
...
If they aren't the same then Cargo cannot resolve a working version for some
reason.
2022-02-15 10:27:11 -06:00
Jonathan Kelley
f6c6134d67
Release dioxus-core v0.1.9
2022-01-29 10:42:38 -05:00
Jonathan Kelley
f965030b80
Release dioxus-core v0.1.8
2022-01-29 10:36:10 -05:00
Jonathan Kelley
40d1f85d0c
Release dioxus-core v0.1.7, dioxus-core-macro v0.1.6, dioxus-html v0.1.4, dioxus-desktop v0.1.5, dioxus-hooks v0.1.6, dioxus-mobile v0.0.3, dioxus-router v0.1.0, dioxus-ssr v0.1.2, dioxus-web v0.0.4, dioxus v0.1.7
2022-01-08 02:25:03 -05:00
Jonathan Kelley
4f92ba4160
wip: bump all versions
2022-01-03 19:32:27 -05:00
Jonathan Kelley
f9b9bb9c0c
publish: update core, core-macro, and html
2022-01-03 02:13:14 -05:00
Jonathan Kelley
06276edd0d
feat: eanble bubbling
2022-01-03 02:11:26 -05:00
Jonathan Kelley
a95dead76d
formatting: run cargo fmt
2022-01-03 01:20:05 -05:00
Jonathan Kelley
14961023f9
wip: polish some more things
2021-12-29 21:28:28 -05:00
Jonathan Kelley
ddfa2bac3f
publish: bump core version
2021-12-29 13:28:53 -05:00
Jonathan Kelley
cda759c659
examples: upgrade to new version of dioxus core.
...
also add the inline_props macro
2021-12-25 17:18:05 -05:00
Jonathan Kelley
2c3a046426
wip: prepare to change our fragment pattern. Add some more docs
2021-12-18 15:17:32 -05:00
Jonathan Kelley
0d480a4c43
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:06:15 -05:00
Jonathan Kelley
868f6739d2
fix: keyword length
2021-12-15 16:06:13 -05:00
Jonathan Kelley
b32665d721
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:05:20 -05:00
Jonathan Kelley
a33f7701fc
fix: tags
2021-12-15 16:05:18 -05:00
Jonathan Kelley
3a706ac416
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 16:04:30 -05:00
Jonathan Kelley
e4c06ce8e8
docs: update cargo tomls
2021-12-15 16:04:27 -05:00
Jonathan Kelley
270dfc9590
Release dioxus-core v0.1.3, dioxus-core-macro v0.1.2, dioxus-html v0.1.0, dioxus-desktop v0.0.0, dioxus-hooks v0.1.3, dioxus-liveview v0.1.0, dioxus-mobile v0.0.0, dioxus-router v0.1.0, dioxus-ssr v0.1.0, dioxus-web v0.0.0, dioxus v0.1.0
2021-12-15 15:59:11 -05:00
Jonathan Kelley
4de16c4779
docs: update local examples and docs to support new syntaxes
2021-12-15 15:56:53 -05:00
Jonathan Kelley
e495b09bf1
docs: fix table
2021-12-14 23:01:40 -05:00
Jonathan Kelley
52c7154897
fix: really big bug around hooks
2021-11-29 11:10:40 -05:00
Jonathan Kelley
36d89beb34
wip: rename
2021-11-28 16:25:42 -05:00
Jonathan Kelley
93d4b8ca7c
wip: some docs and suspense
2021-11-23 15:53:57 -05:00
Jonathan Kelley
a5f05d73ac
wip: docs and router
2021-11-19 00:49:04 -05:00
Jonathan Kelley
25a8411485
wip: better desktop support
2021-11-16 01:25:38 -05:00
Jonathan Kelley
c10c1f418b
feat: wire up linked nodes
2021-11-11 11:49:07 -05:00
Jonathan Kelley
857c92f7f0
wip: compiling again with runtime safety
2021-11-06 20:59:46 -04:00
Jonathan Kelley
f438bbcfd2
wip: move children onto scope
2021-11-01 03:49:32 -04:00
Jonathan Kelley
d1b294fff0
polish: move debugging virtualdom into its own feature
2021-11-01 03:35:26 -04:00
Jonathan Kelley
f70b5b4e4a
wip: try to get lifetimes passed in properly
2021-10-30 20:28:58 -04:00
Jonathan Kelley
ba9e1dbb8f
fix: messed up how lifetimes worked, need to render once per component
2021-10-29 21:43:21 -04:00
Jonathan Kelley
0e9d5fc530
wip: move everything over to a stack dst
2021-10-29 17:12:30 -04:00
Jonathan Kelley
601078f9cf
fix: desktop and mobile
2021-10-22 01:16:39 -04:00
Jonathan Kelley
83dd49d890
chores: slim deps and upgrade docs
2021-10-19 12:09:23 -04:00
Jonathan Kelley
16dbf4a6f8
wip: book documentation
2021-10-16 17:04:28 -04:00
Jonathan Kelley
71f0df6374
publish: ssr
2021-09-24 22:15:50 -04:00
Jonathan Kelley
4a5041c590
publish: fix typo
2021-09-24 21:49:03 -04:00
Jonathan Kelley
7bdad1e2e6
publish: move macro crate out of core
2021-09-24 21:46:23 -04:00
Jonathan Kelley
a5f82be433
polish
2021-09-24 20:55:41 -04:00
Jonathan Kelley
927b05f358
wip: cleanup public apis
2021-08-27 09:40:04 -04:00
Jonathan Kelley
ac3a7b1fbc
wip: considering making vdom passed verywehre
2021-08-26 01:52:50 -04:00
Jonathan Kelley
3bf19d8106
wip: more work on web
...
this commit adds complete event support for web-sys but with a few hole
2021-08-25 10:49:18 -04:00
Jonathan Kelley
e6f56563bc
feat: tests and benchmarks
2021-08-23 13:15:57 -04:00
Jonathan Kelley
db6d0184aa
feat: dedicated mutations module
2021-08-22 17:08:25 -04:00
Jonathan Kelley
24572b63de
wip: tests added for new iterative
2021-08-21 13:24:47 -04:00
Jonathan Kelley
882d69571d
wip: more work on scheduler
2021-08-15 10:13:03 -04:00
Jonathan Kelley
c1afeba1ef
wip: groundwork for noderefs
2021-08-09 17:09:33 -04:00
Jonathan Kelley
f2334c17be
wip: bottom up dropping
2021-08-05 22:23:41 -04:00
Jonathan Kelley
d618092e9d
feat: a new vnode type for anchors
2021-07-29 18:04:09 -04:00
Jonathan Kelley
49856ccd68
wip: making progress on diffing and hydration
2021-07-28 21:46:53 -04:00
Jonathan Kelley
6084fbcd11
wip: move to slab
2021-07-23 17:03:51 -04:00
Jonathan Kelley
c79d9ae674
feat: buff up html allowed attributes
2021-07-12 23:44:20 -04:00
Jonathan Kelley
ff0a3d1c83
wip: lots of changes to diffing
2021-07-12 02:23:46 -04:00
Jonathan Kelley
304259d818
wip: move examples around
2021-07-11 18:39:45 -04:00
Jonathan Kelley
9abb0470b7
feat: static node infrastructure and ssr changes
2021-07-11 14:49:52 -04:00
Jonathan Kelley
1cc1679a6b
feat: refactor out the hooks implementation
2021-07-09 01:26:15 -04:00
Jonathan Kelley
eb82051000
examples: webview and async
2021-07-08 23:25:27 -04:00
Jonathan Kelley
904b26f711
feat: add edits back! and more webview support!
...
This commit adds a new type - the DomEdit - for serializing the changes made by the diffing machine. The architecture of how DomEdits fit into the cooperative scheduling is still TBD but it will allow us to build change lists without applying them immediately. This is more performant and allows us to only render parts of the page at a time.
This commit also adds more infrastructure around webview. Dioxus can now run on the web, generate static pages, run in the desktop, and run on mobile, with a large part of thanks to webview.
2021-07-05 18:37:15 -04:00
Jonathan Kelley
93900aac44
concept: integrate signals
2021-06-30 14:08:12 -04:00
Jonathan Kelley
7665f2c6cf
feat: move to slotmap
2021-06-29 22:44:21 -04:00
Jonathan Kelley
895cc0142b
wip: stack-based "real child iterator"
2021-06-26 03:06:29 -04:00
Jonathan Kelley
0826fdfee1
docs: more docs
2021-06-26 02:05:20 -04:00
Jonathan Kelley
81382e7044
chore: rename ctx to cx
2021-06-25 21:15:33 -04:00
Jonathan Kelley
9d7ee79826
feat: events work again!
2021-06-23 01:44:48 -04:00
Jonathan Kelley
7102fe5f98
docs: add some more sources in the core implementation
2021-06-21 01:35:12 -04:00
Jonathan Kelley
45ee803609
wip: moving to imperative method of dom
2021-06-20 01:52:32 -04:00
Jonathan Kelley
a99147c85b
Feat: Clean up repo a bit
2021-05-16 02:55:16 -04:00
Jonathan Kelley
c28697e1fe
Feat: some code health
2021-05-16 02:06:02 -04:00