Merge branch 'main' into bugfix/font-related-errors

This commit is contained in:
bluepilledgreat 2025-03-11 10:10:50 +00:00
commit d8f29f72e8
8 changed files with 48 additions and 24 deletions

View File

@ -45,6 +45,16 @@ body:
description: Provide a comprehensive description of the problem you're facing. Don't forget to attach any additional resources you may have, such as log files and screenshots. description: Provide a comprehensive description of the problem you're facing. Don't forget to attach any additional resources you may have, such as log files and screenshots.
validations: validations:
required: true required: true
- type: textarea
id: repro-steps
attributes:
label: How do you reproduce the problem?
description: Include the steps to reproduce the problem from start to finish. Include details such as FastFlags you added and settings you changed.
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
- type: textarea - type: textarea
id: log id: log
attributes: attributes:

View File

@ -181,6 +181,22 @@ namespace Bloxstrap
} }
} }
public static void AssertWindowsOSVersion()
{
const string LOG_IDENT = "App::AssertWindowsOSVersion";
int major = Environment.OSVersion.Version.Major;
if (major < 10) // Windows 10 and newer only
{
Logger.WriteLine(LOG_IDENT, $"Detected unsupported Windows version ({Environment.OSVersion.Version}).");
if (!LaunchSettings.QuietFlag.Active)
Frontend.ShowMessageBox(Strings.App_OSDeprecation_Win7_81, MessageBoxImage.Error);
Terminate(ErrorCode.ERROR_INVALID_FUNCTION);
}
}
protected override void OnStartup(StartupEventArgs e) protected override void OnStartup(StartupEventArgs e)
{ {
const string LOG_IDENT = "App::OnStartup"; const string LOG_IDENT = "App::OnStartup";
@ -213,6 +229,8 @@ namespace Bloxstrap
#endif #endif
} }
Logger.WriteLine(LOG_IDENT, $"OSVersion: {Environment.OSVersion}");
Logger.WriteLine(LOG_IDENT, $"Loaded from {Paths.Process}"); Logger.WriteLine(LOG_IDENT, $"Loaded from {Paths.Process}");
Logger.WriteLine(LOG_IDENT, $"Temp path is {Paths.Temp}"); Logger.WriteLine(LOG_IDENT, $"Temp path is {Paths.Temp}");
Logger.WriteLine(LOG_IDENT, $"WindowsStartMenu path is {Paths.WindowsStartMenu}"); Logger.WriteLine(LOG_IDENT, $"WindowsStartMenu path is {Paths.WindowsStartMenu}");
@ -292,6 +310,7 @@ namespace Bloxstrap
{ {
Logger.Initialize(true); Logger.Initialize(true);
Logger.WriteLine(LOG_IDENT, "Not installed, launching the installer"); Logger.WriteLine(LOG_IDENT, "Not installed, launching the installer");
AssertWindowsOSVersion(); // prevent new installs from unsupported operating systems
LaunchHandler.LaunchInstaller(); LaunchHandler.LaunchInstaller();
} }
else else

View File

@ -7,8 +7,8 @@
<UseWPF>true</UseWPF> <UseWPF>true</UseWPF>
<UseWindowsForms>True</UseWindowsForms> <UseWindowsForms>True</UseWindowsForms>
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon> <ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
<Version>2.8.6</Version> <Version>2.9.0</Version>
<FileVersion>2.8.6</FileVersion> <FileVersion>2.9.0</FileVersion>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion> <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
@ -49,10 +49,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /> <PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageReference Include="DiscordRichPresence" Version="1.2.1.24" /> <PackageReference Include="DiscordRichPresence" Version="1.2.1.24" />
<PackageReference Include="Markdig" Version="0.37.0" /> <PackageReference Include="Markdig" Version="0.40.0" />
<PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.106"> <PackageReference Include="Microsoft.Windows.CsWin32" Version="0.3.183">
<!--<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>--> <!--<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>-->
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>

View File

@ -188,6 +188,8 @@ namespace Bloxstrap
} }
#endif #endif
App.AssertWindowsOSVersion();
// ensure only one instance of the bootstrapper is running at the time // ensure only one instance of the bootstrapper is running at the time
// so that we don't have stuff like two updates happening simultaneously // so that we don't have stuff like two updates happening simultaneously
@ -322,14 +324,6 @@ namespace Bloxstrap
clientVersion = await Deployment.GetInfo(); clientVersion = await Deployment.GetInfo();
} }
if (clientVersion.IsBehindDefaultChannel)
{
App.Logger.WriteLine(LOG_IDENT, $"Resetting channel from {Deployment.Channel} because it's behind production");
Deployment.Channel = Deployment.DefaultChannel;
clientVersion = await Deployment.GetInfo();
}
key.SetValueSafe("www.roblox.com", Deployment.IsDefaultChannel ? "" : Deployment.Channel); key.SetValueSafe("www.roblox.com", Deployment.IsDefaultChannel ? "" : Deployment.Channel);
_latestVersionGuid = clientVersion.VersionGuid; _latestVersionGuid = clientVersion.VersionGuid;

View File

@ -12,7 +12,5 @@
public string BootstrapperVersion { get; set; } = null!; public string BootstrapperVersion { get; set; } = null!;
public DateTime? Timestamp { get; set; } public DateTime? Timestamp { get; set; }
public bool IsBehindDefaultChannel { get; set; }
} }
} }

View File

@ -151,6 +151,15 @@ namespace Bloxstrap.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to Roblox no longer supports Windows 7 or 8.1. To continue playing Roblox, please upgrade to Windows 10 or newer..
/// </summary>
public static string App_OSDeprecation_Win7_81 {
get {
return ResourceManager.GetString("App.OSDeprecation.Win7_81", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Bloxstrap was unable to automatically update to version {0}. Please update it manually by downloading and running it from the website.. /// Looks up a localized string similar to Bloxstrap was unable to automatically update to version {0}. Please update it manually by downloading and running it from the website..
/// </summary> /// </summary>

View File

@ -1267,6 +1267,9 @@ Please close any applications that may be using Roblox's files, and relaunch.</v
<value>All Bloxstrap logs</value> <value>All Bloxstrap logs</value>
<comment>Label that appears next to a checkbox</comment> <comment>Label that appears next to a checkbox</comment>
</data> </data>
<data name="App.OSDeprecation.Win7_81" xml:space="preserve">
<value>Roblox no longer supports Windows 7 or 8.1. To continue playing Roblox, please upgrade to Windows 10 or newer.</value>
</data>
<data name="Bootstrapper.ExtractionFailed.Title" xml:space="preserve"> <data name="Bootstrapper.ExtractionFailed.Title" xml:space="preserve">
<value>Failed to extract all files</value> <value>Failed to extract all files</value>
</data> </data>

View File

@ -187,15 +187,6 @@
} }
} }
// check if channel is behind LIVE
if (!isDefaultChannel)
{
var defaultClientVersion = await GetInfo(DefaultChannel);
if (Utilities.CompareVersions(clientVersion.Version, defaultClientVersion.Version) == VersionComparison.LessThan)
clientVersion.IsBehindDefaultChannel = true;
}
ClientVersionCache[cacheKey] = clientVersion; ClientVersionCache[cacheKey] = clientVersion;
} }