From c93ab5858278c299a55a02000c023a7402ddebdf Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 10 Oct 2023 21:12:59 +0200 Subject: [PATCH] dont add deregister to root session! (#186) --- src/HTTPServer/helper.jl | 5 +++-- src/serialization/caching.jl | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/HTTPServer/helper.jl b/src/HTTPServer/helper.jl index 9f71abd2..44fe6cf1 100644 --- a/src/HTTPServer/helper.jl +++ b/src/HTTPServer/helper.jl @@ -23,5 +23,6 @@ function response_500(exception) ], body=body) end -# TODO, can we n -# Base.convert(::Type{HTTP.Response}, s::Exception) = response_500(s) +# TODO, how to do this without pircay? THis happens inside HTTP, so we can't just use try & catch in our own code +# WIthout this overload, we'll get a `cant convert Exception to HTTP.Response` error, without seeing the error. +Base.convert(::Type{HTTP.Response}, s::Exception) = response_500(s) diff --git a/src/serialization/caching.jl b/src/serialization/caching.jl index 8581b054..7d495d9b 100644 --- a/src/serialization/caching.jl +++ b/src/serialization/caching.jl @@ -26,7 +26,8 @@ function register_observable!(session::Session, obs::Observable) # Only register one time if !haskey(root.session_objects, obs.id) updater = JSUpdateObservable(root, obs.id) - on(updater, root, obs) + deregister = on(updater, obs) + push!(session.deregister_callbacks, deregister) end return end