@@ -32,6 +32,8 @@ parser.addArgument("collaboration-document", null);
3232parser . addArgument ( "collaboration-user" , null ) ;
3333parser . addArgument ( "collaboration-color" , null ) ;
3434
35+ let collaboration_states = [ ] ;
36+
3537export default Base . extend ( {
3638 name : "tiptap" ,
3739 trigger : ".pat-tiptap" ,
@@ -182,14 +184,22 @@ export default Base.extend({
182184
183185 // Set up the Hocuspocus WebSocket provider
184186 const HocuspocusProvider = ( await import ( "@hocuspocus/provider" ) ) . HocuspocusProvider ; // prettier-ignore
187+ const YDoc = ( await import ( "yjs" ) ) . Doc ;
188+ const y_doc = new YDoc ( ) ;
185189 const provider = new HocuspocusProvider ( {
186190 url : this . options . collaboration . server ,
187191 name : this . options . collaboration . document ,
192+ document : y_doc ,
188193 token : this . options . collaboration [ "authentication-token" ] ,
194+ onAwarenessUpdate : ( { states } ) => {
195+ collaboration_states = states ;
196+ } ,
189197 } ) ;
198+
190199 provider . setAwarenessField ( "user" , {
191200 name : user_name ,
192201 color : user_color ,
202+ document_name : this . options . collaboration . document ,
193203 } ) ;
194204
195205 // Wait for user being authenticated
@@ -199,9 +209,15 @@ export default Base.extend({
199209 ) ;
200210 await authenticated ( ) ;
201211
212+ // Wait for user being authenticated
213+ const synced = ( ) =>
214+ new Promise ( ( resolve ) => provider . on ( "synced" , resolve , { once : true } ) ) ;
215+ await synced ( ) ;
216+
202217 const connected_users = [ ...provider . awareness . states . values ( ) ] . map (
203218 ( it ) => it . user
204219 ) ;
220+
205221 if ( connected_users . length === 1 ) {
206222 // it's only me.
207223 config [ "content" ] = getText ( ) ;
@@ -211,6 +227,20 @@ export default Base.extend({
211227 ` ) ;
212228 }
213229
230+ debugger ;
231+
232+ console . log ( "provider" ) ;
233+ console . log ( provider ) ;
234+
235+ console . log ( "collaboration states" ) ;
236+ console . log ( collaboration_states ) ;
237+
238+ console . log ( "awareness states" ) ;
239+ console . log ( provider . awareness . states ) ;
240+
241+ console . log ( "connected users" ) ;
242+ console . log ( connected_users ) ;
243+
214244 // Collaboration extension
215245 const Collaboration = (
216246 await import ( "@tiptap/extension-collaboration" )
0 commit comments