@@ -57,17 +57,14 @@ const browserStatusMessage = (browser: ProjectBrowserSession): string => {
5757const runOpenBrowser = ( projectId : string , setMessage : StateMessageUpdater ) : void => {
5858 void Effect . runPromise (
5959 loadProjectBrowser ( projectId ) . pipe (
60- Effect . tap ( ( browser ) =>
61- Effect . sync ( ( ) => {
62- setMessage ( browserStatusMessage ( browser ) )
63- } )
64- ) ,
65- Effect . catchAll ( ( error ) =>
66- Effect . sync ( ( ) => {
60+ Effect . match ( {
61+ onFailure : ( error ) => {
6762 setMessage ( `Failed to open browser: ${ error } ` )
68- } )
69- ) ,
70- Effect . asVoid
63+ } ,
64+ onSuccess : ( browser ) => {
65+ setMessage ( browserStatusMessage ( browser ) )
66+ }
67+ } )
7168 )
7269 )
7370}
@@ -82,17 +79,14 @@ const runApplyProject = (
8279 }
8380 void Effect . runPromise (
8481 applyProject ( projectId ) . pipe (
85- Effect . tap ( ( applied ) =>
86- Effect . sync ( ( ) => {
87- setMessage ( `Applied ${ applied . displayName } .` )
88- } )
89- ) ,
90- Effect . catchAll ( ( error ) =>
91- Effect . sync ( ( ) => {
82+ Effect . match ( {
83+ onFailure : ( error ) => {
9284 setMessage ( `Apply failed: ${ error } ` )
93- } )
94- ) ,
95- Effect . asVoid
85+ } ,
86+ onSuccess : ( applied ) => {
87+ setMessage ( `Applied ${ applied . displayName } .` )
88+ }
89+ } )
9690 )
9791 )
9892}
@@ -107,17 +101,14 @@ const handleTerminalCreated = (sessionId: string, setMessage: StateMessageUpdate
107101const runOpenTerminal = ( projectKey : string , setMessage : StateMessageUpdater ) : void => {
108102 void Effect . runPromise (
109103 createProjectTerminalSession ( projectKey ) . pipe (
110- Effect . tap ( ( created ) =>
111- Effect . sync ( ( ) => {
112- handleTerminalCreated ( created . session . id , setMessage )
113- } )
114- ) ,
115- Effect . catchAll ( ( error ) =>
116- Effect . sync ( ( ) => {
104+ Effect . match ( {
105+ onFailure : ( error ) => {
117106 setMessage ( `Failed to open new terminal: ${ error } ` )
118- } )
119- ) ,
120- Effect . asVoid
107+ } ,
108+ onSuccess : ( created ) => {
109+ handleTerminalCreated ( created . session . id , setMessage )
110+ }
111+ } )
121112 )
122113 )
123114}
@@ -155,17 +146,14 @@ const runRefreshTasks = (
155146) : void => {
156147 void Effect . runPromise (
157148 loadProjectTasks ( projectId , include ) . pipe (
158- Effect . tap ( ( next ) =>
159- Effect . sync ( ( ) => {
160- setSnapshot ( next )
161- } )
162- ) ,
163- Effect . catchAll ( ( error ) =>
164- Effect . sync ( ( ) => {
149+ Effect . match ( {
150+ onFailure : ( error ) => {
165151 setMessage ( `Failed to load tasks: ${ error } ` )
166- } )
167- ) ,
168- Effect . asVoid
152+ } ,
153+ onSuccess : ( next ) => {
154+ setSnapshot ( next )
155+ }
156+ } )
169157 )
170158 )
171159}
@@ -178,13 +166,14 @@ const runStopTask = (
178166) : void => {
179167 void Effect . runPromise (
180168 stopProjectTask ( projectId , pid ) . pipe (
181- Effect . tap ( ( ) => Effect . sync ( onAfterStop ) ) ,
182- Effect . catchAll ( ( error ) =>
183- Effect . sync ( ( ) => {
169+ Effect . match ( {
170+ onFailure : ( error ) => {
184171 setMessage ( `Failed to stop task ${ pid } : ${ error } ` )
185- } )
186- ) ,
187- Effect . asVoid
172+ } ,
173+ onSuccess : ( ) => {
174+ onAfterStop ( )
175+ }
176+ } )
188177 )
189178 )
190179}
@@ -197,17 +186,14 @@ const runLoadLogs = (
197186) : void => {
198187 void Effect . runPromise (
199188 loadProjectTaskLogs ( projectId , pid ) . pipe (
200- Effect . tap ( ( output ) =>
201- Effect . sync ( ( ) => {
202- setLogs ( output )
203- } )
204- ) ,
205- Effect . catchAll ( ( error ) =>
206- Effect . sync ( ( ) => {
189+ Effect . match ( {
190+ onFailure : ( error ) => {
207191 setMessage ( `Failed to load logs for ${ pid } : ${ error } ` )
208- } )
209- ) ,
210- Effect . asVoid
192+ } ,
193+ onSuccess : ( output ) => {
194+ setLogs ( output )
195+ }
196+ } )
211197 )
212198 )
213199}
0 commit comments