diff --git a/FoxTube/Assets/Data/Patchnotes.xml b/FoxTube/Assets/Data/Patchnotes.xml
index 244ccc2..d300d6f 100644
--- a/FoxTube/Assets/Data/Patchnotes.xml
+++ b/FoxTube/Assets/Data/Patchnotes.xml
@@ -6,11 +6,13 @@
- Improved analytics tools for more precise bugs tracking
- Fixed multipying downloads history entries on login/logout
- Added feedback button failed authentication popup
+- Duplicated subscriptions are now ignored on login
### Что нового:
- Улучшены инструменты аналитики для более быстрого поиска багов
- Исправлено дублирование записей истории загрузок при входе/выходе из аккаунта
- Добавлена кнопка отзыва в сообщении об ошибке при входе в аккаунт
+- Повторяющиеся подписки теперь игнорируются при входе
diff --git a/FoxTube/Classes/SecretsVault.cs b/FoxTube/Classes/SecretsVault.cs
index 4fa7ef2..ad71473 100644
--- a/FoxTube/Classes/SecretsVault.cs
+++ b/FoxTube/Classes/SecretsVault.cs
@@ -222,7 +222,22 @@ namespace FoxTube
public static void SaveSubscriptions()
{
Dictionary subs = new Dictionary();
- Subscriptions.ForEach(x => subs.Add(x.Snippet.ResourceId.ChannelId, x.Snippet.Thumbnails.Default__.Url));
+ foreach(Subscription i in Subscriptions)
+ try
+ {
+ subs.Add(i.Snippet.ResourceId.ChannelId, i.Snippet.Thumbnails.Default__.Url);
+ }
+ catch (Exception e)
+ {
+ Analytics.TrackEvent("Failed to save user's subscription", new Dictionary
+ {
+ { "Exception", e.GetType().ToString() },
+ { "Message", e.Message },
+ { "Channel ID", i.Snippet.ResourceId.ChannelId },
+ { "StackTrace", e.StackTrace }
+ });
+ continue;
+ }
ApplicationData.Current.RoamingSettings.Values["subscriptions"] = JsonConvert.SerializeObject(subs);
}