Commit Graph

106 Commits

Author SHA1 Message Date
Greg Johnston bdcd4cb1cc regression test for 7094dee150 2024-08-01 19:42:21 -04:00
Greg Johnston c74a791d9f fix: signals mark subscribers dirty, but don't say they're always dirty if they haven't changed 2024-08-01 19:42:21 -04:00
Greg Johnston 35f489a52e allow conversion directly from Arc signal types to MaybeSignal 2024-08-01 19:42:21 -04:00
Greg Johnston ba8bd2bc82 expose Owner::shared_context() 2024-08-01 19:42:21 -04:00
Greg Johnston 2a236e043a type-erase RenderEffeect functions for binary size improvements 2024-08-01 19:42:21 -04:00
Greg Johnston f7ee0c4764 chore(ci): add Makefiles for smaller packages 2024-08-01 19:42:21 -04:00
Greg Johnston 9e4c0b86f2 whenever we create a new root Owner, set it as the current owner, which will make it the default owner (e.g., during SSR) instead of None 2024-08-01 19:42:21 -04:00
Greg Johnston 1ff1d48e6e chore: clippy 2024-08-01 19:42:21 -04:00
Greg Johnston df6a4628c3 don't require spawn_local for actios 2024-08-01 19:42:21 -04:00
Greg Johnston d8834a0423 make sure SendWrapper supports Futures 2024-08-01 19:42:21 -04:00
Greg Johnston 025c28b489 remove Into<_> by default for setting signals, because it interferes with type inference 2024-08-01 19:42:20 -04:00
Greg Johnston 0c7c7c9b38 add support for unsync actions 2024-08-01 19:42:20 -04:00
Greg Johnston 7f57b88e8d only run RenderEffects when effects are enabled 2024-08-01 19:41:55 -04:00
Greg Johnston f8da9e30e0 fix: correctly notify multiple subscribers to same AsyncDerived 2024-08-01 19:41:36 -04:00
Greg Johnston 531c39759a testing: provide tick() that can be called anywhere in tests 2024-08-01 19:41:36 -04:00
Greg Johnston 39902d1e66 fix cleanups in render effects 2024-08-01 19:41:36 -04:00
Greg Johnston 8da6bbc3be ReadSignal from stream 2024-08-01 19:41:27 -04:00
Greg Johnston 3c39674622 refactor to allow rendering Resource directly in view 2024-08-01 19:41:27 -04:00
Greg Johnston d7f70214b9 add expect_context 2024-08-01 19:41:27 -04:00
Greg Johnston bae79e2b2c add ServerAction error handling for any error type (closes #2325) 2024-08-01 19:41:27 -04:00
Greg Johnston 17f1d25d03 allow untracking on write guards to support maybe_update 2024-08-01 19:41:13 -04:00
Greg Johnston 0a99a378aa feat: allow `.write()` on all writeable signals 2024-08-01 19:41:13 -04:00
Greg Johnston 14b7073863 feat: add `.by_ref()` to create a `Future` from an `AsyncDerived` (etc.) that takes a reference, rather than cloning 2024-08-01 19:41:12 -04:00
Greg Johnston 9666c9c0c5 chore: clear up... a few warnings 2024-08-01 19:41:12 -04:00
Greg Johnston 064ccce5b1 remove signal function setter Send-only implementation (dead code) 2024-08-01 19:41:12 -04:00
Greg Johnston 2e31177f62 remove signal function call Read implementations (dead code) 2024-08-01 19:41:12 -04:00
Greg Johnston 846ff2fefb feat: return an async guard from .await rather than cloning the value every time 2024-08-01 19:41:12 -04:00
Greg Johnston 6003212f6e fix return type in async tests 2024-08-01 19:41:11 -04:00
Greg Johnston 054cff7883 fix tests that run effects 2024-08-01 19:41:11 -04:00
Greg Johnston ce5738d7c4 feat: return Option from AsyncDerived.get() instead of AsyncState 2024-08-01 19:41:11 -04:00
Greg Johnston a6cee3b1e9 docs for Owner and context 2024-08-01 19:41:11 -04:00
Greg Johnston 43c0e384c4 fix tests 2024-08-01 19:41:11 -04:00
Greg Johnston db654cbfda poll AsyncDerived synchronously so that it has the correct value during hydration if it reads from a resource 2024-08-01 19:41:11 -04:00
Greg Johnston e13b1561d8 correct dirty-checking on AsyncDerived 2024-08-01 19:41:11 -04:00
Greg Johnston 85d29a5af5 feat: support *either* .await or reactive reads inside Suspense 2024-08-01 19:41:11 -04:00
Greg Johnston 242d35cc37 add proper dirty checking on AsyncDerived so it can read from memos properly 2024-08-01 19:41:11 -04:00
Greg Johnston db33bc2e61 feat: owning memo 2024-08-01 19:41:11 -04:00
Greg Johnston a1329ea044 remove warnings in tests and only run if effects are enabled 2024-08-01 19:41:11 -04:00
Greg Johnston 050bf8f821 fix: prevent memos that have changed from re-triggering the running effect, by setting the Observer during `.update_if_necessary()` 2024-08-01 19:41:11 -04:00
Greg Johnston 330dcfeb7c impl From/Into for Signal/ArcSignal 2024-08-01 19:41:11 -04:00
Greg Johnston f7bbec5f06 add ArcSignal::derive() 2024-08-01 19:41:11 -04:00
Greg Johnston 83c9edde26 clean up 2024-08-01 19:41:11 -04:00
Greg Johnston 2037a6966a remove log 2024-08-01 19:41:11 -04:00
Greg Johnston 4f041f5a5e relax trait bounds on reactive types where possible 2024-08-01 19:41:11 -04:00
Greg Johnston 6467e067ef add SignalSetter 2024-08-01 19:41:11 -04:00
Greg Johnston 5e16ae6a26 add async transitions that wait for any AsyncDerived created/triggered under them before resolving 2024-08-01 19:41:11 -04:00
Greg Johnston 1a739015e1 distinguish between dirty and check in effects, so that memos and signals both work correctly 2024-08-01 19:41:11 -04:00
Greg Johnston c4aa3ba1ba updated future impls 2024-08-01 19:41:11 -04:00
Greg Johnston ce5f2c81ed check whether ArcAsyncDerived actually needs to run when marked check 2024-08-01 19:41:11 -04:00
Greg Johnston 941689fc5b add ancestry debugging for owners 2024-08-01 19:41:11 -04:00