@@ -23,15 +23,14 @@ import Brig.API.Handler
2323import Brig.API.Internal qualified as IAPI
2424import Brig.API.Public
2525import Brig.API.User qualified as API
26- import Brig.AWS qualified as AWS
2726import Brig.AWS.SesNotification qualified as SesNotification
2827import Brig.App
2928import Brig.Calling qualified as Calling
3029import Brig.CanonicalInterpreter
3130import Brig.Effects.UserPendingActivationStore (UserPendingActivation (UserPendingActivation ), UserPendingActivationStore )
3231import Brig.Effects.UserPendingActivationStore qualified as UsersPendingActivationStore
3332import Brig.InternalEvent.Process qualified as Internal
34- import Brig.Options hiding (internalEvents , sesQueue )
33+ import Brig.Options hiding (internalEvents )
3534import Brig.Queue qualified as Queue
3635import Brig.Version
3736import Control.Concurrent.Async qualified as Async
@@ -56,7 +55,7 @@ import Network.Wai.Utilities.Server
5655import Network.Wai.Utilities.Server qualified as Server
5756import OpenTelemetry.Instrumentation.Wai qualified as Otel
5857import OpenTelemetry.Trace as Otel
59- import Polysemy (Member )
58+ import Polysemy (Member , embedFinal , runFinal )
6059import Servant (Context ((:.) ), (:<|>) (.. ))
6160import Servant qualified
6261import System.Logger (flush , msg , val , (.=) , (~~) )
@@ -69,6 +68,8 @@ import Wire.API.Routes.Public.Brig
6968import Wire.API.Routes.Version
7069import Wire.API.Routes.Version.Wai
7170import Wire.API.User (AccountStatus (PendingInvitation ))
71+ import Wire.AWSSubsystem qualified as AWS
72+ import Wire.AWSSubsystem.AWS qualified as AWSI
7273import Wire.DeleteQueue
7374import Wire.OpenTelemetry (withTracer )
7475import Wire.PostgresMigrations
@@ -93,8 +94,9 @@ run opts = withTracer \tracer -> do
9394 let throttleMillis = fromMaybe defSqsThrottleMillis opts. settings. sqsThrottleMillis
9495 emailListener <- for e. awsEnv. _sesQueue $ \ q ->
9596 Async. async $
96- AWS. execute e. awsEnv $
97- AWS. listen throttleMillis q (runBrigToIO e . SesNotification. onEvent)
97+ runFinal $
98+ AWSI. runAWSSubsystem e. awsEnv $
99+ AWS. listen throttleMillis q (embedFinal . runBrigToIO e . SesNotification. onEvent)
98100 sftDiscovery <- forM e. sftEnv $ Async. async . Calling. startSFTServiceDiscovery e. appLogger
99101 turnDiscovery <- Calling. startTurnDiscovery e. appLogger e. fsWatcher e. turnEnv
100102 authMetrics <- Async. async (runBrigToIO e collectAuthMetrics)
0 commit comments