diff --git a/FreeTubeSyncer/REST/Syncer.cs b/FreeTubeSyncer/REST/Syncer.cs index 0dfddf1..767be9c 100644 --- a/FreeTubeSyncer/REST/Syncer.cs +++ b/FreeTubeSyncer/REST/Syncer.cs @@ -82,7 +82,7 @@ public class Syncer : ISyncer where T : class, IDataModel, new() return false; } - if (res.AppVersion == "0.1.4") + if (res.AppVersion == "0.1.5") { Log.Information("Server Online! {AppVersion}", res.AppVersion); return true; @@ -197,18 +197,34 @@ public class Syncer : ISyncer where T : class, IDataModel, new() if (entry == null) continue; entry.MarshalData(entry.Id(), entryObject); - if (_entries.Any(x => x.EqualId(entry.Id()))) + if (_entries.Any(x => x.Id() == entry.Id())) { - var data = _entries.First(x => x.EqualId(entry.Id())); + var data = _entries.First(x => x.Id() == entry.Id()); if (data.Equals(entry)) continue; Log.Information("Updated File Entry {EntryId} updated for {DbName}", entry.Id(), _dbName); - _entries.RemoveAll(x => x.EqualId(entry.Id())); + _entries.RemoveAll(x => x.Id() == entry.Id()); } else Log.Information("New File Entry {EntryId} for {DbName}", entry.Id(), _dbName); _entries.Add(entry); - await _client.PostJsonAsync(_restEndpoint, entry); + try + { + await _client.PostJsonAsync(_restEndpoint, entry); + } + catch (Exception ex) + { + await Task.Delay(500); + try + { + await _client.PostJsonAsync(_restEndpoint, entry); + } + catch (Exception iex) + { + Log.Error("Failed to sync entry {id} to REST Database.", entry.Id()); + } + } + _lastLineCount = i; } }