Skip to content

Observables + usestate + useeffect stuck forever #17

@fonsp

Description

@fonsp

In this notebook, the last cell is stuck running forever and can't be interrupted.

# ╔═╡ b0d2f6ee-53d9-11ef-1488-89e1652a0a68
using Observables

# ╔═╡ 5826d8f7-9aeb-438d-b426-ac166ab9800c
using PlutoHooks

# ╔═╡ dcc6a1e5-29ea-4f57-9bc6-cbaa923c0e2c
obs = Observable(0)

# ╔═╡ d2796325-fae8-4080-9178-35e115ee7cd7
zzz = let
	state, set_state = @use_state(obs[])

	Observables.on(set_state, obs)
	@use_effect([]) do
		
		return () -> Observables.off(set_state)
	end

	state
end

# ╔═╡ b7b29cef-bee6-4258-b411-968c0f1f9667
rand(zzz)

# ╔═╡ 5e6e0ef9-7387-469b-97a7-5d552e0f2eab
for i in 1:3
	sleep(1)
	obs[] = i
end

Found this while working on fonsp/Pluto.jl#2895

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions