From 5c6b39a44e71d915d19b74e2249ceb94c8236648 Mon Sep 17 00:00:00 2001 From: qvalentin Date: Sat, 1 Apr 2023 17:43:09 +0200 Subject: [PATCH] Minor refactoring --- backend/.gitignore | 3 +- backend/jitsi-rooms.cabal | 42 +++++++++++++++++-- backend/src/RoomDataHandler.hs | 1 + backend/src/WebSocket/Server.hs | 3 +- .../src/{WebSocket.hs => WebSocket/WSApp.hs} | 11 ++--- backend/stack.yaml | 7 +++- backend/stack.yaml.lock | 8 ++-- 7 files changed, 55 insertions(+), 20 deletions(-) rename backend/src/{WebSocket.hs => WebSocket/WSApp.hs} (85%) diff --git a/backend/.gitignore b/backend/.gitignore index c368d45..11f8a4f 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,2 +1,3 @@ .stack-work/ -*~ \ No newline at end of file +*~ +dist-newstyle diff --git a/backend/jitsi-rooms.cabal b/backend/jitsi-rooms.cabal index e9c92d4..8b8d6d1 100644 --- a/backend/jitsi-rooms.cabal +++ b/backend/jitsi-rooms.cabal @@ -25,9 +25,25 @@ source-repository head library exposed-modules: + BroadcastUserData Lib + RoomDataHandler + State.ConnectedClientsState + State.RoomDataState + Types.AppTypes + Types.ConnectionState + Types.Participant + Types.RoomData + Types.RoomsState + Types.UsersData + Types.WebEnv + Types.WebSocketMessages.WebSocketMessages WebServer - WebSocket + WebSocket.Messages + WebSocket.MonadWebSocketSession + WebSocket.Server + WebSocket.WSApp + WebSocket.WSReaderTApp other-modules: Paths_jitsi_rooms hs-source-dirs: @@ -36,9 +52,15 @@ library NoImplicitPrelude,OverloadedStrings,ImportQualifiedPost ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints build-depends: - base >=4.7 && <5 + aeson + , base >=4.7 && <5 + , bytestring , classy-prelude , http-types + , lifted-base + , mtl + , text + , uuid , wai , warp , websockets @@ -54,10 +76,16 @@ executable jitsi-rooms-exe NoImplicitPrelude,OverloadedStrings,ImportQualifiedPost ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.7 && <5 + aeson + , base >=4.7 && <5 + , bytestring , classy-prelude , http-types , jitsi-rooms + , lifted-base + , mtl + , text + , uuid , wai , warp , websockets @@ -74,10 +102,16 @@ test-suite jitsi-rooms-test NoImplicitPrelude,OverloadedStrings,ImportQualifiedPost ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends: - base >=4.7 && <5 + aeson + , base >=4.7 && <5 + , bytestring , classy-prelude , http-types , jitsi-rooms + , lifted-base + , mtl + , text + , uuid , wai , warp , websockets diff --git a/backend/src/RoomDataHandler.hs b/backend/src/RoomDataHandler.hs index a2e7757..e78fb1c 100644 --- a/backend/src/RoomDataHandler.hs +++ b/backend/src/RoomDataHandler.hs @@ -44,6 +44,7 @@ roomDataHandler :: m ResponseReceived roomDataHandler = do newRoomData <- parseBodyOrBadRequest + liftIO $ putStrLn "Got triggered form prosody" whenM (roomStateDiffers newRoomData) $ do setRoomDataState newRoomData broadcastUserData diff --git a/backend/src/WebSocket/Server.hs b/backend/src/WebSocket/Server.hs index e8219a0..cafd046 100644 --- a/backend/src/WebSocket/Server.hs +++ b/backend/src/WebSocket/Server.hs @@ -10,8 +10,7 @@ import ClassyPrelude import Data.UUID.V4 (nextRandom) import Network.WebSockets qualified as WS import Types.AppTypes -import WebSocket -import WebSocket (WSApp (..)) +import WebSocket.WSApp (WSApp (..), WSEnv (..), wsApp) runWebSocketServer :: ( MonadIO m, diff --git a/backend/src/WebSocket.hs b/backend/src/WebSocket/WSApp.hs similarity index 85% rename from backend/src/WebSocket.hs rename to backend/src/WebSocket/WSApp.hs index e0c047a..d2eb9f7 100644 --- a/backend/src/WebSocket.hs +++ b/backend/src/WebSocket/WSApp.hs @@ -1,9 +1,4 @@ -{-# LANGUAGE DerivingVia #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE UndecidableInstances #-} - -module WebSocket (WSEnv (..), wsApp, WSApp (..)) where +module WebSocket.WSApp (WSEnv (..), wsApp, WSApp (..)) where import BroadcastUserData ( MonadBroadcast (..), @@ -30,8 +25,8 @@ wsApp :: ) => m () wsApp = do - msg <- getTypedWSMessage - client <- newClient msg + clientInfo <- getTypedWSMessage + client <- newClient clientInfo addWSClient client broadcastUserData withCleanUp $ forever $ do diff --git a/backend/stack.yaml b/backend/stack.yaml index 3929ed4..99c2ab2 100644 --- a/backend/stack.yaml +++ b/backend/stack.yaml @@ -14,8 +14,9 @@ # Use the latest resolver that uses the same ghc version # as build for nixos # this way we can use prebuild binaries for hls -resolver: nightly-2022-11-12 +#resolver: nightly-2022-11-12 #resolver: ghc-9.2.4 +resolver: lts-20.16 # # The location of a snapshot can be provided as a file or url. Stack assumes # a snapshot provided as a file might change, whereas a url resource does not. @@ -70,3 +71,7 @@ packages: # # Allow a newer minor version of GHC than the snapshot specifies # compiler-check: newer-minor +ghc-options: + "$everything": -haddock + + diff --git a/backend/stack.yaml.lock b/backend/stack.yaml.lock index bffaf18..08fa9b8 100644 --- a/backend/stack.yaml.lock +++ b/backend/stack.yaml.lock @@ -6,7 +6,7 @@ packages: [] snapshots: - completed: - sha256: 5cacb39a2c21842535dc0a31e2005d3b1eb18e451a89d58c28381e1efdb9520f - size: 647983 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2022/11/12.yaml - original: nightly-2022-11-12 + sha256: dad15e2ec0c09280a5c2e07190fb18710fc54472f029f34f861f686540824d81 + size: 649592 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/16.yaml + original: lts-20.16