Commit graph

5770 commits

Author SHA1 Message Date
Evan Almloff
c9603ea984 only poll suspended futures 2024-03-05 18:24:01 -06:00
Jonathan Kelley
39d6580eca
use git version of sledgehammer 2024-03-05 15:14:07 -08:00
Jonathan Kelley
624e58bd78
native file drop 2024-03-05 14:11:12 -08:00
Jonathan Kelley
78d16536a7
wip: native file handles when dropping 🎉 2024-03-05 13:57:28 -08:00
Jonathan Kelley
403e8e2f49
Clean up file uploads in desktop/liveview, remove minify 2024-03-05 13:00:27 -08:00
Jonathan Kelley
56a365742c
clean up native js more 2024-03-05 12:08:33 -08:00
Jonathan Kelley
44833c471f
Merge branch 'main' into jk/fix-form-inputs 2024-03-05 11:18:56 -08:00
Jonathan Kelley
608fec59e5
Merge pull request #1993 from DioxusLabs/fix-effect
Fix effect ordering and futures being run after scopes are dropped
2024-03-05 11:18:17 -08:00
Jonathan Kelley
b751674354
Web works with the js structure 2024-03-05 11:16:34 -08:00
Evan Almloff
287416cfa7 rename flush_sync to wait_for_next_render 2024-03-04 19:52:17 -06:00
Jonathan Kelley
16b38e339d
Merge branch 'main' into jk/fix-form-inputs 2024-03-04 17:46:38 -08:00
Jonathan Kelley
bb7f19b4e4
Update feature_requst.md
Clean up the language in the issue tracker
2024-03-04 17:44:09 -08:00
Jonathan Kelley
22266cc560
Switch to bun, clean up web implementation 2024-03-04 15:23:48 -08:00
dependabot[bot]
f39a2e5f98
Bump mio from 0.8.10 to 0.8.11 (#2001)
Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/tokio-rs/mio/releases)
- [Changelog](https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/mio/compare/v0.8.10...v0.8.11)

---
updated-dependencies:
- dependency-name: mio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 16:24:29 -06:00
Jonathan Kelley
38a2c04e38
Merge pull request #1983 from marc2332/fix/update-dioxus-router-docs
fix: Update `dioxus-router` docs
2024-03-04 14:21:52 -08:00
Jonathan Kelley
62d79747aa
Merge pull request #1987 from ealmloff/fix-fullstack-history
Fix fullstack history
2024-03-04 14:19:38 -08:00
Jonathan Kelley
5e1b1cfecd
Merge pull request #2002 from ealmloff/fix-signal-leak
Fix signals leaking memory
2024-03-04 14:18:33 -08:00
Evan Almloff
2e3a730ed5 fix clippy 2024-03-04 16:10:04 -06:00
Evan Almloff
568631e331 test signal drops 2024-03-04 16:02:19 -06:00
Evan Almloff
8322b508a7 fix signals leaking memory 2024-03-04 15:51:14 -06:00
Evan Almloff
3827378f68 Merge branch 'main' into fix-effect 2024-03-04 15:40:37 -06:00
Evan Almloff
b42992bad1 add more internal documentation about tasks 2024-03-04 15:38:28 -06:00
Evan Almloff
48f845985b restore readme 2024-03-04 15:27:27 -06:00
Evan Almloff
fc7efd8006 test child future drop behavior 2024-03-04 15:26:16 -06:00
Evan Almloff
797feb5657 remove logging, clean up some code, and fix effect test 2024-03-04 15:09:31 -06:00
Evan Almloff
c4b8ebc1cf separate task and scope tasks 2024-03-04 13:04:22 -06:00
Evan Almloff
78b9b157dc fix formatting 2024-03-04 12:04:09 -06:00
Jonathan Kelley
199173a409
fix navigating when files are dropped 2024-03-01 23:37:46 -08:00
Jonathan Kelley
0ff0eb7846
Use the platform as the base interpreter instead of trying to extend it 2024-03-01 14:23:53 -08:00
Evan Almloff
a14e5be7ad Fix effect ordering after reruns 2024-03-01 12:46:07 -06:00
Evan Almloff
26f5fb80cb clean up the task queue 2024-03-01 12:18:42 -06:00
Jeremy Arnold
9ae3d14e67
Add tracing to virtual_dom (#1949)
Address #1161; Add tracing to virtual dom:

- Added a dependency on [tracing-fluent-assertions](https://github.com/tobz/tracing-fluent-assertions) for test cases
- Added a test case showing tracing


example log
```
2024-02-28T21:52:25.266474Z TRACE dioxus_core::scope_context: providing context alloc::rc::Rc<dioxus_core::error_boundary::ErrorBoundary> (TypeId { t: 86211292795840746005296084033382154959 }) in app
    at packages/core/src/scope_context.rs:189
    in dioxus_core::virtual_dom::VirtualDom::new

  2024-02-28T21:52:25.266651Z TRACE dioxus_core::scope_context: looking for context generational_box::Owner<generational_box::sync::SyncStorage> (TypeId { t: 16187079142358387300491255137481079601 }) in app
    at packages/core/src/scope_context.rs:106
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266662Z TRACE dioxus_core::scope_context: context generational_box::Owner<generational_box::sync::SyncStorage> (TypeId { t: 16187079142358387300491255137481079601 }) not found
    at packages/core/src/scope_context.rs:140
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266671Z TRACE dioxus_core::scope_context: providing context generational_box::Owner<generational_box::sync::SyncStorage> (TypeId { t: 16187079142358387300491255137481079601 }) in app
    at packages/core/src/scope_context.rs:189
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266713Z TRACE dioxus_core::scope_context: providing context dioxus_signals::reactive_context::ReactiveContext (TypeId { t: 86476382904980360086558195405008306005 }) in app
    at packages/core/src/scope_context.rs:189
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266723Z TRACE dioxus_core::scope_context: looking for context generational_box::Owner (TypeId { t: 87785542931436862771411509553978749471 }) in app
    at packages/core/src/scope_context.rs:106
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266730Z TRACE dioxus_core::scope_context: context generational_box::Owner (TypeId { t: 87785542931436862771411509553978749471 }) not found
    at packages/core/src/scope_context.rs:140
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266769Z TRACE dioxus_core::scope_context: providing context generational_box::Owner (TypeId { t: 87785542931436862771411509553978749471 }) in app
    at packages/core/src/scope_context.rs:189
    in dioxus_core::scope_arena::render with scope: app
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266828Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:60:5:1728", roots: [Element { tag: "div", namespace: None, attrs: [], children: [Element { tag: "button", namespace: None, attrs: [Dynamic { id: 0 }], children: [Text { text: "+" }] }, Element { tag: "button", namespace: None, attrs: [Dynamic { id: 1 }], children: [Text { text: "-" }] }, Element { tag: "ul", namespace: None, attrs: [], children: [Dynamic { id: 0 }] }] }], node_paths: [[0, 2, 0]], attr_paths: [[0, 0], [0, 1]] } }, dynamic_nodes: [Placeholder(VPlaceholder)], dynamic_attrs: [[Attribute { name: "onclick", value: Listener, namespace: None, volatile: false }], [Attribute { name: "onclick", value: Listener, namespace: None, volatile: false }]] }, mount: Cell { value: MountId(0) } }, mount: MountId(0)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::rebuild

  2024-02-28T21:52:25.266896Z TRACE dioxus_core::virtual_dom: Calling 1 listeners
    at packages/core/src/virtual_dom.rs:695
    in dioxus_core::virtual_dom::VirtualDom::handle_bubbling_event with parent: Some(ElementRef { path: ElementPath { path: [0, 0] }, mount: MountId(0) }), name: "click"
    in dioxus_core::virtual_dom::VirtualDom::handle_event with name: "click", data: Any { .. }, element: ElementId(2), bubbles: true

  2024-02-28T21:52:25.266934Z TRACE dioxus_core::virtual_dom: Marking scope ScopeId(0) (app) as dirty
    at packages/core/src/virtual_dom.rs:379
    in dioxus_core::virtual_dom::VirtualDom::process_events

  2024-02-28T21:52:25.266997Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:71:37:2059", roots: [Dynamic { id: 0 }], node_paths: [[0]], attr_paths: [] } }, dynamic_nodes: [Component(VComponent { name: "ChildExample" })], dynamic_attrs: [] }, mount: Cell { value: MountId(1) } }, mount: MountId(1)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate

  2024-02-28T21:52:25.267026Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:81:5:2238", roots: [Element { tag: "li", namespace: None, attrs: [Dynamic { id: 0 }], children: [DynamicText { id: 0 }] }], node_paths: [[0, 0]], attr_paths: [[0]] } }, dynamic_nodes: [Text(VText { value: "0" })], dynamic_attrs: [[Attribute { name: "onmouseover", value: Listener, namespace: None, volatile: false }]] }, mount: Cell { value: MountId(2) } }, mount: MountId(2)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate

  2024-02-28T21:52:25.267061Z TRACE dioxus_core::virtual_dom: Calling 1 listeners
    at packages/core/src/virtual_dom.rs:695
    in dioxus_core::virtual_dom::VirtualDom::handle_bubbling_event with parent: Some(ElementRef { path: ElementPath { path: [0, 0] }, mount: MountId(0) }), name: "click"
    in dioxus_core::virtual_dom::VirtualDom::handle_event with name: "click", data: Any { .. }, element: ElementId(2), bubbles: true

  2024-02-28T21:52:25.267084Z TRACE dioxus_core::virtual_dom: Marking scope ScopeId(0) (app) as dirty
    at packages/core/src/virtual_dom.rs:379
    in dioxus_core::virtual_dom::VirtualDom::process_events

  2024-02-28T21:52:25.267131Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:71:37:2059", roots: [Dynamic { id: 0 }], node_paths: [[0]], attr_paths: [] } }, dynamic_nodes: [Component(VComponent { name: "ChildExample" })], dynamic_attrs: [] }, mount: Cell { value: MountId(3) } }, mount: MountId(3)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate

  2024-02-28T21:52:25.267157Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:81:5:2238", roots: [Element { tag: "li", namespace: None, attrs: [Dynamic { id: 0 }], children: [DynamicText { id: 0 }] }], node_paths: [[0, 0]], attr_paths: [[0]] } }, dynamic_nodes: [Text(VText { value: "1" })], dynamic_attrs: [[Attribute { name: "onmouseover", value: Listener, namespace: None, volatile: false }]] }, mount: Cell { value: MountId(4) } }, mount: MountId(4)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate

  2024-02-28T21:52:25.267206Z TRACE dioxus_core::virtual_dom: Calling 1 listeners
    at packages/core/src/virtual_dom.rs:695
    in dioxus_core::virtual_dom::VirtualDom::handle_bubbling_event with parent: Some(ElementRef { path: ElementPath { path: [0, 0] }, mount: MountId(0) }), name: "click"
    in dioxus_core::virtual_dom::VirtualDom::handle_event with name: "click", data: Any { .. }, element: ElementId(2), bubbles: true

  2024-02-28T21:52:25.267229Z TRACE dioxus_core::virtual_dom: Marking scope ScopeId(0) (app) as dirty
    at packages/core/src/virtual_dom.rs:379
    in dioxus_core::virtual_dom::VirtualDom::process_events

  2024-02-28T21:52:25.267274Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:71:37:2059", roots: [Dynamic { id: 0 }], node_paths: [[0]], attr_paths: [] } }, dynamic_nodes: [Component(VComponent { name: "ChildExample" })], dynamic_attrs: [] }, mount: Cell { value: MountId(5) } }, mount: MountId(5)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate

  2024-02-28T21:52:25.267297Z  INFO dioxus_core::diff::node: creating template, self: VNode { vnode: VNodeInner { key: None, template: Cell { value: Template { name: "packages/core/tests/tracing.rs:81:5:2238", roots: [Element { tag: "li", namespace: None, attrs: [Dynamic { id: 0 }], children: [DynamicText { id: 0 }] }], node_paths: [[0, 0]], attr_paths: [[0]] } }, dynamic_nodes: [Text(VText { value: "2" })], dynamic_attrs: [[Attribute { name: "onmouseover", value: Listener, namespace: None, volatile: false }]] }, mount: Cell { value: MountId(6) } }, mount: MountId(6)
    at packages/core/src/diff/node.rs:547
    in dioxus_core::virtual_dom::VirtualDom::render_immediate
```
2024-02-29 17:49:35 -06:00
Jonathan Kelley
d9cb6dd1ec
Merge pull request #1985 from fdgStilla/fix-svg-image
Restore image element under svg element
2024-02-29 12:31:59 -08:00
Jonathan Kelley
b266f5d811
Merge pull request #1982 from ealmloff/debug-subscriptions
Add debug information for signal subscriptions
2024-02-29 12:30:33 -08:00
Jonathan Kelley
d61c3fab20
Merge branch 'main' into debug-subscriptions 2024-02-29 12:30:27 -08:00
Evan Almloff
c7ffdc7b29 rerun tasks in the same order as components 2024-02-29 11:43:07 -06:00
Evan Almloff
55f308363d expose non-blocking functions to read and write to the fullstack request 2024-02-29 10:39:02 -06:00
Evan Almloff
8a969a26dc make interpreter extend the interpreter core class 2024-02-28 11:22:15 -06:00
Evan Almloff
b58a3bb759
Merge pull request #1984 from agreyyy/main
Add better documentation to use_future, use_resource, use_effect and use_context
2024-02-28 08:55:38 -06:00
Andrey
1404009edc
touchups 2024-02-28 03:48:52 +00:00
andrey
c9f04ac3d0 remove things that werent meant to be in last commit 2024-02-28 11:45:08 +08:00
andrey
70136b22ea Fix error in examples/future.rs comments, use_futures inline docs comments, also added clarification that Signal<T>.read() and Singal<T>() are the same thing 2024-02-28 11:42:04 +08:00
Jonathan Kelley
f196514b4f
change serialization 2024-02-27 19:23:36 -08:00
Jonathan Kelley
925d0617da
add glue to webonly interpreter 2024-02-27 16:39:40 -08:00
Jonathan Kelley
774fba85e4
track the configs too 2024-02-27 16:36:25 -08:00
Jonathan Kelley
f447f01403
Commit js 2024-02-27 16:33:34 -08:00
Jonathan Kelley
4b64894fc5
Add proper bundling to tsc 2024-02-27 16:33:18 -08:00
Evan Almloff
fe839ab347 Move some global variables in the interpreter into locals in the interpreter 2024-02-27 15:15:12 -06:00
Jonathan Kelley
bdacca0dfb
use this. on the unified bindings 2024-02-27 12:55:47 -08:00
Jonathan Kelley
206a48257b
Merge branch 'main' into jk/fix-form-inputs 2024-02-27 12:50:57 -08:00