diff --git a/IHP/ServerSideComponent/Controller/ComponentsController.hs b/IHP/ServerSideComponent/Controller/ComponentsController.hs index d4b5c7506..d5a69ac26 100644 --- a/IHP/ServerSideComponent/Controller/ComponentsController.hs +++ b/IHP/ServerSideComponent/Controller/ComponentsController.hs @@ -6,6 +6,7 @@ import IHP.ServerSideComponent.Types as SSC import IHP.ServerSideComponent.ControllerFunctions as SSC import qualified Data.Aeson as Aeson +import qualified IHP.Log as Log instance (Component component controller, FromJSON controller) => WSApp (ComponentsController component) where initialState = ComponentsController @@ -29,4 +30,7 @@ instance (Component component controller, FromJSON controller) => WSApp (Compone nextState <- SSC.action currentState theAction SSC.setState nextState - Left error -> putStrLn (cs error) + Left error -> do + Log.error ("Failed Parsing Server Side Component Message As JSON" :: Text) + Log.error actionPayload + Log.error error diff --git a/IHP/ServerSideComponent/ControllerFunctions.hs b/IHP/ServerSideComponent/ControllerFunctions.hs index 1ed674e76..fa2ec6323 100644 --- a/IHP/ServerSideComponent/ControllerFunctions.hs +++ b/IHP/ServerSideComponent/ControllerFunctions.hs @@ -45,4 +45,4 @@ setState state = do getState :: _ => _ getState = (.state) <$> readIORef ?instanceRef -deriveSSC = Aeson.deriveJSON Aeson.defaultOptions { sumEncoding = defaultTaggedObject { tagFieldName = "action", contentsFieldName = "payload" }} +deriveSSC = Aeson.deriveJSON Aeson.defaultOptions { allNullaryToStringTag = False, sumEncoding = defaultTaggedObject { tagFieldName = "action", contentsFieldName = "payload" }}