@@ -126,6 +126,16 @@ impl RgWebsocket {
126126 Err ( ServerMessageError :: None )
127127 }
128128 }
129+ InternalMessage :: FileCreate { path, doc } => {
130+ self . sync_docs . insert ( path, ( doc, 0 ) ) ;
131+
132+ Err ( ServerMessageError :: None )
133+ }
134+ InternalMessage :: FileDelete { path } => {
135+ self . sync_docs . remove ( & path) ;
136+
137+ Err ( ServerMessageError :: None )
138+ }
129139 }
130140 }
131141
@@ -239,7 +249,12 @@ impl RgWebsocket {
239249 let project = self . app_state . get_project ( self . project_id ) . await ?;
240250 let mut project = project. write ( ) . await ;
241251
242- project. add_file ( file, Document :: new ( ) ) ;
252+ let new_doc = project. add_file ( file. clone ( ) , Document :: new ( ) ) ;
253+
254+ _ = project. internal . send ( InternalMessage :: FileCreate {
255+ path : file,
256+ doc : new_doc,
257+ } ) ;
243258
244259 let msg = ServerMessage :: ProjectFiles {
245260 files : project. get_files ( ) . await ,
@@ -260,6 +275,10 @@ impl RgWebsocket {
260275 files : project. get_files ( ) . await ,
261276 } ;
262277
278+ _ = project
279+ . internal
280+ . send ( InternalMessage :: FileDelete { path : file } ) ;
281+
263282 _ = project. broadcast . send ( msg) ;
264283
265284 Err ( ServerMessageError :: None )
0 commit comments