File tree Expand file tree Collapse file tree
src/plugins/persistence/couch Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33 let connected = false ;
44 let couchEventSource ;
55 let changesFeedUrl ;
6+ let lastSequence = 'now' ;
67 const keepAliveTime = 20 * 1000 ;
78 let keepAliveTimer ;
89 const controller = new AbortController ( ) ;
6162 console . debug ( '📩 Received message from CouchDB 📩' ) ;
6263
6364 const objectChanges = JSON . parse ( event . data ) ;
65+ lastSequence = objectChanges . seq !== undefined ? objectChanges . seq : lastSequence ;
6466 connections . forEach ( function ( connection ) {
6567 connection . postMessage ( {
6668 objectChanges
8183
8284 if ( ! couchEventSource || couchEventSource . readyState === EventSource . CLOSED ) {
8385 console . debug ( `⇿ Opening CouchDB change feed connection for ${ changesFeedUrl } ⇿` ) ;
86+ const sseURL = new URL ( changesFeedUrl ) ;
87+ sseURL . searchParams . set ( 'since' , lastSequence ) ;
88+ changesFeedUrl = sseURL . toString ( ) ;
8489 couchEventSource = new EventSource ( changesFeedUrl ) ;
8590 couchEventSource . onerror = self . onerror ;
8691 couchEventSource . onopen = self . onopen ;
Original file line number Diff line number Diff line change @@ -616,6 +616,7 @@ class CouchObjectProvider {
616616 const sseURL = new URL ( sseChangesPath ) ;
617617 sseURL . searchParams . append ( 'feed' , 'eventsource' ) ;
618618 sseURL . searchParams . append ( 'style' , 'main_only' ) ;
619+ sseURL . searchParams . append ( 'since' , 'now' ) ;
619620 sseURL . searchParams . append ( 'heartbeat' , HEARTBEAT ) ;
620621
621622 if ( typeof SharedWorker === 'undefined' ) {
You can’t perform that action at this time.
0 commit comments