@@ -141,9 +141,7 @@ export const EditorCacheProvider: React.FC<EditorCacheProviderProps> = ({
141141
142142 // IMPORTANT: Only set our custom "presence" field
143143 // Let CollaborationCaret manage the "user" field to avoid conflicts
144- if ( provider . awareness ) {
145- provider . awareness . setLocalStateField ( "presence" , userPresence ) ;
146- }
144+ provider . setAwarenessField ( "presence" , userPresence ) ;
147145
148146 // Provider event handlers: sync completion enables collaborative editing
149147 // IMPORTANT: Track if we've already created extensions to prevent recreation
@@ -214,25 +212,18 @@ export const EditorCacheProvider: React.FC<EditorCacheProviderProps> = ({
214212 } ) ;
215213 // Only update our custom "presence" field on reconnect
216214 // CollaborationCaret will handle the "user" field
217- if ( provider . awareness ) {
218- provider . awareness . setLocalStateField ( "presence" , connectedPresence ) ;
219- }
215+ provider . setAwarenessField ( "presence" , connectedPresence ) ;
220216 } ) ;
221217
222218 provider . on ( "disconnect" , ( ) => {
223219 const disconnectedPresence = createDisconnectedPresence ( userPresence ) ;
224- if ( provider . awareness ) {
225- provider . awareness . setLocalStateField ( "presence" , disconnectedPresence ) ;
226- }
220+ provider . setAwarenessField ( "presence" , disconnectedPresence ) ;
227221 } ) ;
228222
229223 // Graceful disconnect on page unload
230224 const handleBeforeUnload = ( ) => {
231225 const disconnectedPresence = createDisconnectedPresence ( userPresence ) ;
232- // Use low-level awareness API to match CollaborationCaret
233- if ( provider . awareness ) {
234- provider . awareness . setLocalStateField ( "presence" , disconnectedPresence ) ;
235- }
226+ provider . setAwarenessField ( "presence" , disconnectedPresence ) ;
236227 } ;
237228
238229 window . addEventListener ( "beforeunload" , handleBeforeUnload ) ;
@@ -329,9 +320,7 @@ export const EditorCacheProvider: React.FC<EditorCacheProviderProps> = ({
329320 try {
330321 // Clear our custom presence field on logout
331322 // CollaborationCaret will clean up the "user" field
332- if ( provider . awareness ) {
333- provider . awareness . setLocalStateField ( "presence" , null ) ;
334- }
323+ provider . setAwarenessField ( "presence" , null ) ;
335324
336325 // Graceful provider shutdown
337326 provider . disconnect ( ) ;
0 commit comments