Commit 33d9a47f authored by Cédric Moreau's avatar Cédric Moreau
Browse files

[fix] #1322 `sync`: chained transactions generate make the sync fail

parent cfc6c9d7
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -169,8 +169,14 @@ export class QuickSynchronizer {
          // Fills in correctly the SINDEX
          await Promise.all(_.where(sync_sindex.concat(local_sindex), { op: 'UPDATE' }).map(async (entry: any) => {
            if (!entry.conditions) {
              const src = await this.dal.sindexDAL.getSource(entry.identifier, entry.pos);
              entry.conditions = src.conditions;
              if (entry.srcType === 'D') {
                entry.conditions = 'SIG(' + entry.identifier + ')'
              } else {
                // First: have a look locally, but only chained transactions would have `localSrc` matching (giving conditions)
                const localSrc = local_sindex.filter(s => s.identifier === entry.identifier && s.pos === entry.pos && s.conditions)[0]
                const src = localSrc || (await this.dal.getSource(entry.identifier, entry.pos, false))
                entry.conditions = src.conditions
              }
            }
          }))