* use tracing for logging
* embed spans in the scheduler for tracing
* fix feature soundness
* remove spans from scheduler for now
* feature soundness take 2
* use tracing::* throughout lib code
not yet in testing, and for some errors!
* don't attach noderef to components, add test case
* remove node_ref from VNode and VComp
* fmt & macro tests
* remove uneeded test & todo
this test is done at compile time. there's no node_ref field so it can't be set
* feature soundness & clippy
* add marker field, in an attempt to reduce bundle size
* Update migration guide
* Makes Prepared States to be Rc'ed.
* Update example.
* Make prepared states work on none runtime as well.
* Remove more feature flags.
* Users always have to manually construct dependency into Rc.
* Import Rc.
* Revert "Users always have to manually construct dependency into Rc."
This reverts commit 9eee1da3e9a46e69a7b07e6064eb163e06261bfb.
* Revert "Import Rc."
This reverts commit d6bb90dc155d2bf87fd18eec4b78b8e07a9cc7a7.
* Use IntoPropValue for node refs in html component
* Add NodeRef ImplicitClone test for html element
* Change node_refs example to use ImplicitClone
* Reuse key and ref attribute wrapping
* init use_bridge content
* cargo fmt
* cargo +nightly fmt --all
* more sensible code
* make example compile
* make example compile (for real this time)
* update docs
* oops
* oops
* make super work
* this is rust, not C
* remove props checking, but take builder by mut ref
* allow property name `build`
* add rough state token machinery
* first working impl, readd props checking
* improve error message
* add documentation and last adjustements
* address review
* don't shift on normal props updates
would remove focus from elements and fire other
dom mutation events we don't need or want
* rename mode -> creation_mode
it's not updated when the component finishes hydration
* rename node_ref to internal_ref for consistency
* fix the bug, should return internal_ref as node_ref gets unset during reconciliation
* also no need to shift during hydration props update
* debug: encode hydration invariant
* fix: next_sibling of descendents not updated
* add test case for regression
* address review and add one more test
* partially undo #2673
VList again has a DerefMut implementation
the internal fully_keyed state now has an "indeterminate" variant
instead of being a bool, this recomputes it during reconciliation
* add Copy impl to FullyKeyedState
* Delay props.
* Fix next sibling change not synced.
* Use shifting instead.
* Update docs, minor adjustments.
* More predictable props update.
* Delay longer.
* Only delay props during hydration.
this should avoid having to manually call recheck_fully_keyed
* add mutable accessor to children
* fix workflow
* fix markdown example
* remove recheck_fully_keyed
* rework a bunch of feature flags to be more principled
* fixup of Collectable
* silence clippy
* unfix Mountable trait
leads to bundle size increase, so stick to the optimized version
* use required-features for function_router
* use --all-features in various places
* disable tokio dependency on wasm tests again
* add some #[inline] annotations
* merge one more feature annotations
* fixup: remove a line connected to trace_hydration
* RenderFn can be be directly Fn() now.
* Switch switch to function component.
* Make Link a function component.
* Remove non-exhaustive.
* Add migration guide.
* Update Website Docs.
* Fix CI.
* Pushing to Navigator no longer requires an owned instance.
* Fix CI.
* Fix code size.
* Further optimisation.
* Attributes: Fix apply_diff_index_maps
The old algorithm simply stops when key name/order changes, which
is simply wrong.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
* add test case for test for bug #2653
* remove pr-flow, run all the tests when asked
* make tests that were never run pass
* run tests cargo make properly
* use wasm-pack-base test for running wasm tests
* cargo make config should be good
* update CI
* Separate hydration and render queue.
* Revert "Fix issue with node refs and hydration (#2597)"
This reverts commit 469cc341c340bd0093d9233847f523b66a18fd90.
* Priority Render.
* Add some tests.
* Add more tests.
* Add test result after click.
* Fix test comment.
* Fix test timing.
* Restore test.
* Once AtomicBool, now a Cell.
* Prefer use_future.
* Revealing of Suspense always happen after the component has re-rendered itself.
* Shifting should register correct next_sibling.
* Revert to HashMap.
* cargo +nightly fmt.
* Fix comment.
* Optimise Code size?
* Add comment if assertion fails.
* Revert "Merge branch 'hydration-4' into fc-prepared-state"
This reverts commit 427b087d4db6b2e497ad618273655bd18ba9bd01, reversing
changes made to 109fcfaa127aefc5fa3c697e254fe2c049292be2.
* Revert "Revert "Merge branch 'hydration-4' into fc-prepared-state""
This reverts commit f1e408958d94cb13813ce75aa6f0aad06c9fa3e8.
* Redo #2957.
* Add `VTag::into_children`
Currently, VTag supports `children` and `children_mut`, but not `into_children` to complete the pattern. This is useful if someone wishes to destructively acquire the children of a VTag to reparent them to a different VTag.
* Repair broken doc comment on `VTag::children_mut`
* Remove spaces between functions
when we not explicitly portaling into the shadow, we
should bubble up to the host element and continue.
This fixes custom elements internally using open SD
* Make Function Component to Implement BaseComponent.
* Remove IntoComponent.
* Inline some methods.
* Move some logic out of proc macro.
* Move position of the self generics.
* Discourage direct implementation `FunctionComponent` & `#[doc(hidden)]`.