@@ -113,17 +113,19 @@ export function* sendSaveRequestToServer(): Saga<number> {
113113 */
114114
115115 const fullSaveQueue = yield * select ( ( state ) => state . save . queue ) ;
116- const saveQueue = sliceAppropriateBatchCount ( fullSaveQueue ) ;
117- let compactedSaveQueue = compactSaveQueue ( saveQueue ) ;
118- const version = yield * select ( ( state ) => state . annotation . version ) ;
116+ const storeSaveQueue = sliceAppropriateBatchCount ( fullSaveQueue ) ;
117+ const compactedSaveQueueWithoutVersions = compactSaveQueue ( storeSaveQueue ) ;
119118 const annotationId = yield * select ( ( state ) => state . annotation . annotationId ) ;
120119 const tracingStoreUrl = yield * select ( ( state ) => state . annotation . tracingStore . url ) ;
121- let versionIncrement ;
122- [ compactedSaveQueue , versionIncrement ] = addVersionNumbers ( compactedSaveQueue , version ) ;
123120 let retryCount = 0 ;
124121
125122 // This while-loop only exists for the purpose of a retry-mechanism
126123 while ( true ) {
124+ const version = yield * select ( ( state ) => state . annotation . version ) ;
125+ const [ compactedSaveQueue , versionIncrement ] = addVersionNumbers (
126+ compactedSaveQueueWithoutVersions ,
127+ version ,
128+ ) ;
127129 let exceptionDuringMarkBucketsAsNotDirty = false ;
128130
129131 try {
@@ -153,7 +155,7 @@ export function* sendSaveRequestToServer(): Saga<number> {
153155
154156 yield * put ( setVersionNumberAction ( version + versionIncrement ) ) ;
155157 yield * put ( setLastSaveTimestampAction ( ) ) ;
156- yield * put ( shiftSaveQueueAction ( saveQueue . length ) ) ;
158+ yield * put ( shiftSaveQueueAction ( storeSaveQueue . length ) ) ;
157159
158160 try {
159161 yield * call ( markBucketsAsNotDirty , compactedSaveQueue ) ;
@@ -165,7 +167,7 @@ export function* sendSaveRequestToServer(): Saga<number> {
165167 }
166168
167169 yield * call ( toggleErrorHighlighting , false ) ;
168- return saveQueue . length ;
170+ return storeSaveQueue . length ;
169171 } catch ( error ) {
170172 if ( exceptionDuringMarkBucketsAsNotDirty ) {
171173 throw error ;
@@ -190,8 +192,9 @@ export function* sendSaveRequestToServer(): Saga<number> {
190192 retryCount,
191193 } ) ;
192194
195+ // todop: detect actual 409 errors again
193196 // @ts -ignore
194- if ( error . status === 409 ) {
197+ if ( false && error . status === 409 ) {
195198 // HTTP Code 409 'conflict' for dirty state
196199 // @ts -ignore
197200 window . onbeforeunload = null ;
0 commit comments