Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/PR.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
on:
pull_request:
branches: [ master ]

jobs:
build:
strategy:
Expand All @@ -14,14 +15,13 @@ jobs:
with:
fetch-depth: 0

- name: Install .NET Core
uses: actions/setup-dotnet@77a48bbb85cd3809790223e895ba4b6cbc110fe8
- name: Install .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: 5.0.x
dotnet-version: '8.0.x'

- name: Build
run: dotnet build

- name: Test
run: dotnet test

52 changes: 45 additions & 7 deletions src/DesktopAnalytics/Analytics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using System.Net;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;
using System.Xml.Linq;
using System.Xml.XPath;
using JetBrains.Annotations;
Expand Down Expand Up @@ -172,9 +173,23 @@ public Analytics(string apiSecret, UserInfo userInfo, Dictionary<string,
if (AnalyticsSettings.Default.NeedUpgrade)
{
//see http://stackoverflow.com/questions/3498561/net-applicationsettingsbase-should-i-call-upgrade-every-time-i-load
AnalyticsSettings.Default.Upgrade();
AnalyticsSettings.Default.NeedUpgrade = false;
AnalyticsSettings.Default.Save();
try
{
AnalyticsSettings.Default.Upgrade();
AnalyticsSettings.Default.NeedUpgrade = false;
TrySaveSettings();
}
catch (ConfigurationErrorsException e)
{
try
{
Console.WriteLine(e);
}
catch
{
Debug.WriteLine(e);
}
}
}

if (IsNullOrEmpty(AnalyticsSettings.Default.IdForAnalytics))
Expand All @@ -195,9 +210,8 @@ public Analytics(string apiSecret, UserInfo userInfo, Dictionary<string,

if (IsNullOrEmpty(AnalyticsSettings.Default.IdForAnalytics))
{

AnalyticsSettings.Default.IdForAnalytics = Guid.NewGuid().ToString();
AnalyticsSettings.Default.Save();
TrySaveSettings();
}

s_locationInfo = new JsonObject();
Expand Down Expand Up @@ -236,7 +250,31 @@ public Analytics(string apiSecret, UserInfo userInfo, Dictionary<string,
// See http://issues.bloomlibrary.org/youtrack/issue/BL-4011.

AnalyticsSettings.Default.LastVersionLaunched = versionNumberWithBuild;
AnalyticsSettings.Default.Save();
TrySaveSettings();
}

private static void TrySaveSettings()
{
int retryCount = 0;
do
{
try
{
AnalyticsSettings.Default.Save();
return;
}
catch (Exception e)
{
try
{
Console.WriteLine(e);
}
catch
{
}
Thread.Sleep(300);
}
} while (++retryCount < 3);
}

private void AttemptToGetUserIdSettingsFromDifferentChannel()
Expand Down Expand Up @@ -309,7 +347,7 @@ private void AttemptToGetUserIdSettingsFromDifferentChannel()
AnalyticsSettings.Default.LastName = ExtractSetting(AnalyticsSettings.Default.LastName, doc, "LastName");
AnalyticsSettings.Default.LastVersionLaunched = ExtractSetting(AnalyticsSettings.Default.LastVersionLaunched, doc, "LastVersionLaunched");
AnalyticsSettings.Default.Email = ExtractSetting(AnalyticsSettings.Default.Email, doc, "Email");
AnalyticsSettings.Default.Save();
TrySaveSettings();
return;
}
catch (Exception)
Expand Down
Loading