@@ -41,7 +41,7 @@ import Data.Either (Either(..))
4141import Data.Maybe (Maybe(..))
4242import Data.Tuple.Nested ((/\), type (/\))
4343import Effect (Effect)
44−import Effect.Aff (Aff, error, killFiber, launchAff, launchAff_, try)
44+import Effect.Aff (error, killFiber, launchAff, launchAff_, try)
4545import Effect.Aff as Aff
4646import Effect.Class (liftEffect)
4747import Effect.Ref as Ref
@@ -233,14 +233,15 @@ useAff
233233 :: forall ctx deps a hooks
234234 . Eq deps
235235 => deps
236− -> Aff a
236+ -> Om { | ctx } () a
237237 -> OmRender ctx hooks (UseAff deps a hooks) (Maybe a)
238−useAff deps aff = fromEffect Prelude.do
238+useAff deps om = fromEffect Prelude.do
239239 result /\ setResult <- toEffect (useState Nothing)
240240 toEffect $ useEffect deps Prelude.do
241+ ctx :: { | ctx } <- unsafeCoerce (Ref.read ctxStash)
241242 setResult (const Nothing)
242243 fiber <- launchAff Prelude.do
243− r <- try aff
244+ r <- try (Om.runOm ctx { exception: \e -> Aff.throwError e } om)
244245 liftEffect (setResult \_ -> Just r)
245246 Prelude.pure Prelude.do
246247 launchAff_ (killFiber (error "Stale request cancelled") fiber)