diff options
author | Kero van Gelder <keroami@users.noreply.github.com> | 2023-04-05 14:33:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-05 13:33:00 +0100 |
commit | a1b2f0344a59e24ae4d16f1689a02ba72ced2b53 (patch) | |
tree | 83843c6afd048b2c770a811696e1947bf915ffaa /test/example/main.gleam | |
parent | 2feb2a8e1a427cb7545785e2678e4523533c432e (diff) | |
download | lustre-a1b2f0344a59e24ae4d16f1689a02ba72ced2b53.tar.gz lustre-a1b2f0344a59e24ae4d16f1689a02ba72ced2b53.zip |
🐛 Avoid a race condition when dispatch is used twice from outside (#8)
* Upgrade examples to lustre 2.0
* Upgrade to gleam 0.27.0
* Fix: avoid a race condition when dispatch is used twice from outside
E.g. websocket open + websocket msg arriving
Application returns a Cmd from update(model, msg)
but the Effect handler is *not* ran be React 18 before
the websocket msg-arriving is handled by the Reducer.
Result: The Cmd returned by update(model, msg) is dropped silently.
---------
Co-authored-by: Kero van Gelder <kero@chmeee.org>
Diffstat (limited to 'test/example/main.gleam')
-rw-r--r-- | test/example/main.gleam | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/example/main.gleam b/test/example/main.gleam index 7d9c063..21c4067 100644 --- a/test/example/main.gleam +++ b/test/example/main.gleam @@ -15,7 +15,7 @@ pub fn main () -> Nil { // `lustre.start` can return an `Error` if no DOM element is found that matches // the selector. This is a fatal error for our examples, so we panic if that // happens. - assert Ok(dispatch) = lustre.start(program, selector) + let assert Ok(dispatch) = lustre.start(program, selector) dispatch(Counter(counter.Incr)) dispatch(Counter(counter.Incr)) |