Skip to content

Commit

Permalink
Merge pull request #22 from OpenSpartan/release-1.0.4
Browse files Browse the repository at this point in the history
1.0.4 release
  • Loading branch information
dend authored Jun 8, 2024
2 parents c7d0222 + 2f10b97 commit 61caea9
Show file tree
Hide file tree
Showing 80 changed files with 3,512 additions and 721 deletions.
32 changes: 22 additions & 10 deletions CURRENTRELEASE.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
# OpenSpartan Workshop 1.0.3 (`ESCHARUM-03052024`)
# OpenSpartan Workshop 1.0.4 (`URDIDACT-03112024`)

- [#2] Fixed a bug where the battle pass navigation was not correctly done on smaller window sizes.
- [#3] Medal name ID is now shown in medal details, so that a user can note it for SQL queries.
- [#5] Medals are now shown for each of the matches.
- User can navigate to matches where they earned medals from the match view.
- [#10] Ranked information displayed in match view and match details.
- [#12] **Battle Pass** is now listed as **Operations** in the navigation view.
- Fixed a bug where the service record might not correctly load.
- [#14] Title now correctly displays the tier and tier type.
- Onyx Cadet Grade 3 now correctly renders the large icon in the service record. Caused by Halo Infinite API game CMS misconfiguration.
- [#4] Battle pass item metadata is now shown whenever the user taps on an item.
- [#16] Tier counterfactuals are now displayed for all ranked matches.
- [#18] Ranked data now displayed in its own tab.
- [#21] Added an experimental loose search setting, that speeds up match updates. It's disabled by default but can significantly improve match update performance after matches are already populated in the database.
- [#23] Fixes missing medals not rendered in match stats.
- [#24] For matches where there are no expected kills or deaths, the performance arrow indicators are not shown.
- [#25] Fixed the issue where medals are not refreshed on application launch.
- [#27] Unnecessary medal label not rendered in match overview when no medals are earned.
- [#28] Add support for authenticating without using the authentication broker.
- [#31] Data from [The Exchange](https://www.halowaypoint.com/news/welcome-to-the-exchange) is now rendered in a separate tab, allowing convenient tracking of what's currently on the market.
- [#35] Event progress is now shown the same way you would see it for operations.
- Improvements to logging for match acquisition, enabling faster diagnostics for failed calls.
- Improvements to re-trying match acquisition for failed matches.
- Logging out now shows a dialog that matches the design of everything else in the window.
- Events are now listed alongside typical operations (battle pass progression).
- Minigame modes (e.g., [Survive The Undead](https://www.halowaypoint.com/news/combat-workshop-survive-the-undead)) now correctly render in the match list and don't show an integer representation.
- Improved logging - it's now easier to trace where exactly an issue surfaced.
- All currency now displays titles in the battle pass view.
- Fixed the bug where the nameplate was not being rendered even though the image is available.
- Matches in the matches list are now ordered by their end time, making it easier to parse the last games.
- Fixed an issue where Bronze ranks were not displayed in match metadata.

Refer to [**getting started guide**](https://openspartan.com/docs/workshop/guides/get-started/) to start using OpenSpartan Workshop.
Binary file not shown.
13 changes: 13 additions & 0 deletions src/OpenSpartan.Workshop/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,19 @@
<converters:OutcomeToForegroundConverter x:Key="OutcomeToForegroundConverter"/>
<converters:PerformanceToGlyphConverter x:Key="PerformanceToGlyphConverter"/>
<converters:PerformanceToColorConverter x:Key="PerformanceToColorConverter"/>
<converters:RewardTypeToStringConverter x:Key="RewardTypeToStringConverter"/>
<converters:RewardTypeToVisibilityConverter x:Key="RewardTypeToVisibilityConverter" />
<converters:ISO8601ToLocalDateStringConverter x:Key="ISO8601ToLocalDateStringConverter" />
<converters:SingleValueAvailabilityToVisibilityConverter x:Key="SingleValueAvailabilityToVisibilityConverter"/>
<converters:ListCountToVisibilityConverter x:Key="ListCountToVisibilityConverter"/>
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
<converters:RankIdentifierToPathConverter x:Key="RankIdentifierToPathConverter"/>
<converters:StringAvailabilityToVisibilityConverter x:Key="StringAvailabilityToVisibilityConverter"/>
<converters:CsrProgressStateConverter x:Key="CsrProgressStateConverter"/>
<converters:CsrToPathConverter x:Key="CsrToPathConverter"/>
<converters:CsrToTextRankConverter x:Key="CsrToTextRankConverter" />
<converters:CsrToProgressConverter x:Key="CsrToProgressConverter" />
<converters:CsrToTooltipValueConverter x:Key="CsrToTooltipValueConverter" />
</ResourceDictionary>
</Application.Resources>
</Application>
27 changes: 18 additions & 9 deletions src/OpenSpartan.Workshop/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Microsoft.UI.Xaml;
using NLog;
using OpenSpartan.Workshop.Core;
using OpenSpartan.Workshop.Models;
using OpenSpartan.Workshop.ViewModels;
using System;
using System.IO;
Expand All @@ -9,8 +10,6 @@ namespace OpenSpartan.Workshop
{
public partial class App : Application
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

public Window MainWindow { get => m_window; }

/// <summary>
Expand All @@ -35,44 +34,54 @@ protected override async void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventA
LogManager.Setup().LoadConfigurationFromFile("NLog.config");

LoadSettings();

var authResult = await UserContextManager.InitializeAllDataOnLaunch();
_ = await UserContextManager.InitializeAllDataOnLaunch();
}

private async static void LoadSettings()
{
var settingsPath = Path.Combine(Configuration.AppDataDirectory, Configuration.SettingsFileName);
if (File.Exists(settingsPath))
{
// Make sure that we default logging to true prior to settings
// being loaded so that we can capture any errors that might be
// happening with settings initialization.
SettingsViewModel.Instance.Settings = SettingsManager.LoadSettings();
if (SettingsViewModel.Instance.Settings.SyncSettings)

if ((bool)SettingsViewModel.Instance.Settings.SyncSettings)
{
try
{
var settings = await UserContextManager.GetWorkshopSettings();

if (settings != null)
{
// For now, we only have two settings that are returned by the API, so
// no need to overwrite the entire object.
SettingsViewModel.Instance.Settings.Release = settings.Release;
SettingsViewModel.Instance.Settings.HeaderImagePath = settings.HeaderImagePath;
SettingsViewModel.Instance.Settings.Build = settings.Build;
SettingsViewModel.Instance.Settings.Sandbox = settings.Sandbox;
SettingsViewModel.Instance.Settings.UseObanClearance = settings.UseObanClearance;
}
}
catch (Exception ex)
{
if (SettingsViewModel.Instance.EnableLogging) Logger.Error($"Could not load settings remotely. {ex.Message}\nWill use previously-configured settings..");
LogEngine.Log($"Could not load settings remotely. {ex.Message}\nWill use previously-configured settings..", LogSeverity.Error);
}
}
}
else
{
SettingsViewModel.Instance.Settings = new Models.WorkshopSettings
SettingsViewModel.Instance.Settings = new WorkshopSettings
{
APIVersion = Configuration.DefaultAPIVersion,
HeaderImagePath = Configuration.DefaultHeaderImage,
Release = Configuration.DefaultRelease,
Sandbox = Configuration.DefaultSandbox,
Build = Configuration.DefaultBuild,
SyncSettings = true,
EnableLogging = false,
UseBroker = true,
UseObanClearance = false,
EnableLooseMatchSearch = false,
};
}
}
Expand Down
Loading

0 comments on commit 61caea9

Please sign in to comment.