@@ -973,11 +973,19 @@ instance (Reflex t, Adjustable t m, MonadJSM m, MonadHold t m, MonadFix m, PrimM
973 parent <- getParent
973 parent <- getParent
974 (hydrateEnd, after) <- skipToReplaceEnd beforeKey
974 (hydrateEnd, after) <- skipToReplaceEnd beforeKey
975 let drawInitialChild = do
975 let drawInitialChild = do
976− p <- liftIO (readIORef hydrating) >>= \case
976+ h <- liftIO $ readIORef hydrating
977− HydrationMode_Hydrating -> liftIO $ newIORef parent
978+ HydrationMode_Hydrating -> pure parent
978− HydrationMode_Immediate -> liftIO . newIORef . toNode =<< createDocumentFragment doc
979+ HydrationMode_Immediate -> toNode <$> createDocumentFragment doc
980+ p <- liftIO $ newIORef p'
979 unreadyChildren <- liftIO $ newIORef 0
981 unreadyChildren <- liftIO $ newIORef 0
983+ HydrationMode_Hydrating -> a0
984+ HydrationMode_Immediate -> do
986+ insertBefore p' =<< liftIO (readIORef after)
980− (result, dom) <- flip runStateT [] $ runReaderT (unHydrationDomBuilderT a0) initialEnv
988+ (result, dom) <- flip runStateT [] $ runReaderT (unHydrationDomBuilderT a0') initialEnv
981 { _hydrationDomBuilderEnv_unreadyChildren = unreadyChildren
989 { _hydrationDomBuilderEnv_unreadyChildren = unreadyChildren
982 , _hydrationDomBuilderEnv_commitAction = myCommitAction
990 , _hydrationDomBuilderEnv_commitAction = myCommitAction
983 , _hydrationDomBuilderEnv_parent = p
991 , _hydrationDomBuilderEnv_parent = p