Merged PR 29: 1.0.1 Patch [Already submitted]
- Added Stack trace parameter to Analytics - Fixed multipying downloads on login/logout Added failed message on logon - Updated version and changelog - Feedback button on failed login message - Duplicated subscriptions are now ignored on login
This commit is contained in:
+6
-3
@@ -75,7 +75,8 @@ namespace FoxTube
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "App version", $"{ver.Major}.{ver.Minor}.{ver.Revision}.{ver.Build}" }
|
||||
{ "App version", $"{ver.Major}.{ver.Minor}.{ver.Revision}.{ver.Build}" },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -188,7 +189,8 @@ namespace FoxTube
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Video ID", arguments[1] }
|
||||
{ "Video ID", arguments[1] },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
break;
|
||||
@@ -278,7 +280,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("The app crashed", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.Exception.GetType().ToString() },
|
||||
{ "Details", e.Message }
|
||||
{ "Details", e.Message },
|
||||
{ "StackTrace", e.Exception.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<items>
|
||||
<item time="2019-06-19" version="1.0.1">
|
||||
<content>
|
||||
<en-US>### What's new:
|
||||
- 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
|
||||
</en-US>
|
||||
<ru-RU>### Что нового:
|
||||
- Улучшены инструменты аналитики для более быстрого поиска багов
|
||||
- Исправлено дублирование записей истории загрузок при входе/выходе из аккаунта
|
||||
- Добавлена кнопка отзыва в сообщении об ошибке при входе в аккаунт
|
||||
- Повторяющиеся подписки теперь игнорируются при входе
|
||||
</ru-RU>
|
||||
</content>
|
||||
</item>
|
||||
<item time="2019-05-21" version="1.0">
|
||||
<content>
|
||||
<en-US>##[Final release]
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace FoxTube
|
||||
public static async void Initialize()
|
||||
{
|
||||
Downloads = await KnownFolders.VideosLibrary.CreateFolderAsync("FoxTube", CreationCollisionOption.OpenIfExists);
|
||||
Items.Clear();
|
||||
try
|
||||
{
|
||||
List<DownloadItemContainer> containers = JsonConvert.DeserializeObject<List<DownloadItemContainer>>((string)settings.Values[$"downloads"]);
|
||||
@@ -30,7 +31,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to load downloads history", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,8 @@ namespace FoxTube.Controls.Player
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Video ID", meta.Id },
|
||||
{ "Requested quality", requestedQuality.VideoQualityLabel }
|
||||
{ "Requested quality", requestedQuality.VideoQualityLabel },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -125,7 +125,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to parse duration", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
return TimeSpan.FromMilliseconds(0);
|
||||
}
|
||||
|
||||
@@ -149,11 +149,15 @@ namespace FoxTube
|
||||
if (e.Message.Contains("UserCancel"))
|
||||
return;
|
||||
else
|
||||
{
|
||||
AuthorizationStateChanged?.Invoke(args: new bool?[] { null });
|
||||
Analytics.TrackEvent("Failed to authorize", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (Credential == null || !retrieveSubs)
|
||||
@@ -206,7 +210,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to retrieve user's info", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -217,7 +222,22 @@ namespace FoxTube
|
||||
public static void SaveSubscriptions()
|
||||
{
|
||||
Dictionary<string, string> subs = new Dictionary<string, string>();
|
||||
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<string, string>
|
||||
{
|
||||
{ "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);
|
||||
}
|
||||
|
||||
|
||||
@@ -238,7 +238,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to retrieve settings", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,7 +78,8 @@ namespace FoxTube.Controls
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Video ID", id }
|
||||
{ "Video ID", id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +284,8 @@ namespace FoxTube.Controls
|
||||
Analytics.TrackEvent("Failed to send a chat message", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -215,7 +215,8 @@ namespace FoxTube.Controls
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Top comment ID", item.Id }
|
||||
{ "Top comment ID", item.Id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -268,7 +269,8 @@ namespace FoxTube.Controls
|
||||
Analytics.TrackEvent("Failed to edit comment", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -313,7 +315,8 @@ namespace FoxTube.Controls
|
||||
Analytics.TrackEvent("Failed delete comment", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}));
|
||||
|
||||
@@ -186,7 +186,8 @@ namespace FoxTube.Controls
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Container", JsonConvert.SerializeObject(Container) }
|
||||
{ "Container", JsonConvert.SerializeObject(Container) },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
|
||||
try { await File.DeleteAsync(StorageDeleteOption.PermanentDelete); }
|
||||
|
||||
@@ -57,7 +57,8 @@ namespace FoxTube.Controls
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Playlist ID", playlistId }
|
||||
{ "Playlist ID", playlistId },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,7 +119,8 @@ namespace FoxTube.Controls
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Video ID", item.Id }
|
||||
{ "Video ID", item.Id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<PackageCertificateThumbprint>50B93E6A246058D555BA65CD203D7A02064A7409</PackageCertificateThumbprint>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||
<AppxPackageDir>E:\XFox\Documents\FoxTube builds\0.6\</AppxPackageDir>
|
||||
<AppxPackageDir>E:\XFox\Documents\FoxTube builds\1.0\</AppxPackageDir>
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
<AppxBundlePlatforms>x86|x64|arm</AppxBundlePlatforms>
|
||||
<AppInstallerUpdateFrequency>1</AppInstallerUpdateFrequency>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap mp uap3">
|
||||
<Identity Name="53949MichaelXFoxGordeev.FoxTube" Publisher="CN=FD7A34DD-FE4D-4D7D-9D33-2DA9EBBE7725" Version="1.0.0.0" />
|
||||
<Identity Name="53949MichaelXFoxGordeev.FoxTube" Publisher="CN=FD7A34DD-FE4D-4D7D-9D33-2DA9EBBE7725" Version="1.0.1.0" />
|
||||
<mp:PhoneIdentity PhoneProductId="04fd81c1-6473-4174-afd7-4ac71dd85721" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
|
||||
<Properties>
|
||||
<DisplayName>FoxTube</DisplayName>
|
||||
|
||||
@@ -118,7 +118,8 @@ namespace FoxTube.Pages
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Channel ID", item.Id }
|
||||
{ "Channel ID", item.Id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -155,7 +156,8 @@ namespace FoxTube.Pages
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Channel ID", item.Id }
|
||||
{ "Channel ID", item.Id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +164,8 @@ namespace FoxTube.Pages
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Thread ID", threadId }
|
||||
{ "Thread ID", threadId },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace FoxTube.Pages
|
||||
protected override void OnNavigatedFrom(NavigationEventArgs e)
|
||||
{
|
||||
base.OnNavigatedFrom(e);
|
||||
list.Children.Clear();
|
||||
DownloadAgent.Page = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,8 @@ namespace FoxTube.Pages
|
||||
Analytics.TrackEvent("Local history loading error", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -139,7 +140,8 @@ namespace FoxTube.Pages
|
||||
Analytics.TrackEvent("History loading error", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -84,7 +84,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to load recommendations", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -123,7 +124,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to load trendings", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -158,7 +160,8 @@ namespace FoxTube
|
||||
Analytics.TrackEvent("Failed to load subscriptions", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -231,6 +231,8 @@ namespace FoxTube
|
||||
default:
|
||||
MessageDialog dialog = new MessageDialog(resources.GetString("/Main/connectErrContent"), resources.GetString("/Main/connectErrHeader"));
|
||||
|
||||
if (StoreServicesFeedbackLauncher.IsSupported())
|
||||
dialog.Commands.Add(new UICommand(resources.GetString("/About/feedback/Content"), async (command) => await StoreServicesFeedbackLauncher.GetDefault().LaunchAsync()));
|
||||
dialog.Commands.Add(new UICommand(resources.GetString("/Main/tryAgain"), (command) =>
|
||||
{
|
||||
SecretsVault.Authorize();
|
||||
|
||||
@@ -91,7 +91,8 @@ namespace FoxTube.Pages
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Playlist ID", playlistId }
|
||||
{ "Playlist ID", playlistId },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -129,7 +130,8 @@ namespace FoxTube.Pages
|
||||
Analytics.TrackEvent("WL playlist loading error", new Dictionary<string, string>()
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,7 +145,8 @@ namespace FoxTube
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Parameters", Parameters.ToString() }
|
||||
{ "Parameters", Parameters.ToString() },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,8 @@ namespace FoxTube.Pages.SettingsPages
|
||||
Analytics.TrackEvent("Failed to load inbox", new Dictionary<string, string>
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message }
|
||||
{ "Message", e.Message },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -135,7 +135,8 @@ namespace FoxTube.Pages
|
||||
{
|
||||
{ "Exception", e.GetType().ToString() },
|
||||
{ "Message", e.Message },
|
||||
{ "Video ID", item.Id }
|
||||
{ "Video ID", item.Id },
|
||||
{ "StackTrace", e.StackTrace }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user