Skip to content

Commit 15ebfd1

Browse files
committed
drop log parser support for very old SMAPI versions
1 parent 22caaf0 commit 15ebfd1

File tree

4 files changed

+6
-47
lines changed

4 files changed

+6
-47
lines changed

docs/release-notes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
# Release notes
44
## Upcoming release
5+
* For the web UI:
6+
* Removed support for very old SMAPI logs.
7+
8+
## 4.2.1
59
Released 25 March 2025 for Stardew Valley 1.6.14 or later.
610

711
* For players:

src/SMAPI.Web/Framework/LogParsing/LogParser.cs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,6 @@ public ParsedLog Parse(string? logText)
234234
log.GameVersion = match.Groups["gameVersion"].Value;
235235
log.OperatingSystem = match.Groups["os"].Value;
236236

237-
const string strictModeSuffix = " (strict mode)";
238-
if (log.ApiVersion.EndsWith(strictModeSuffix))
239-
{
240-
log.IsStrictMode = true;
241-
log.ApiVersion = log.ApiVersion[..^strictModeSuffix.Length];
242-
}
243-
244237
smapiMod.OverrideVersion(log.ApiVersion);
245238
log.ApiVersionParsed = smapiMod.GetParsedVersion();
246239
}

src/SMAPI.Web/Framework/LogParsing/Models/ParsedLog.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ public class ParsedLog
2828
/****
2929
** Log data
3030
****/
31-
/// <summary>Whether SMAPI is running in strict mode, which disables all deprecated APIs.</summary>
32-
public bool IsStrictMode { get; set; }
33-
3431
/// <summary>The SMAPI version.</summary>
3532
public string? ApiVersion { get; set; }
3633

src/SMAPI.Web/Views/LogParser/Index.cshtml

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@
1515

1616
// detect suggested fixes
1717
LogModInfo[] outdatedMods = log?.Mods.Where(mod => mod.HasUpdate).ToArray() ?? [];
18-
bool isPyTkCompatibilityMode = log?.ApiVersionParsed?.IsBetween("3.15.0", "3.19.0") is true && log.Mods.Any(p => p is { IsCodeMod: true, Name: "PyTK" } && p.GetParsedVersion()?.IsOlderThan("1.24.0") is true);
19-
20-
LogModInfo? errorHandler = log?.Mods.FirstOrDefault(p => p is { IsCodeMod: true, Name: "Error Handler" });
21-
bool errorHandlerNeeded = log?.ApiVersionParsed?.IsOlderThan("4.0.0-alpha") == true && log.OperatingSystem?.Contains("Android Unix", StringComparison.OrdinalIgnoreCase) != true;
22-
bool missingErrorHandler = errorHandlerNeeded && errorHandler is null;
23-
bool hasOlderErrorHandler = errorHandlerNeeded && errorHandler?.GetParsedVersion() is not null && log?.ApiVersionParsed is not null && log.ApiVersionParsed.IsNewerThan(errorHandler.GetParsedVersion());
2418

2519
// get filters
2620
IDictionary<string, bool> defaultFilters = Enum
@@ -259,29 +253,10 @@ else if (log?.IsValid == true)
259253
@if (log?.IsValid == true)
260254
{
261255
<div id="output">
262-
@if (outdatedMods.Any() || missingErrorHandler || hasOlderErrorHandler || isPyTkCompatibilityMode || log.IsStrictMode)
256+
@if (outdatedMods.Any())
263257
{
264258
<h2>Suggested fixes</h2>
265259
<ul id="fix-list">
266-
@if (missingErrorHandler)
267-
{
268-
<li class="important">You don't have the <strong>Error Handler</strong> mod installed. This automatically prevents many game or mod errors. You can <a href="https://stardewvalleywiki.com/Modding:Player_Guide#Install_SMAPI">reinstall SMAPI</a> to re-add it.</li>
269-
}
270-
@if (hasOlderErrorHandler)
271-
{
272-
<li>Your <strong>Error Handler</strong> mod is older than SMAPI. You may be missing some game/mod error fixes. You can <a href="https://stardewvalleywiki.com/Modding:Player_Guide#Install_SMAPI">reinstall SMAPI</a> to update it.</li>
273-
}
274-
@if (isPyTkCompatibilityMode)
275-
{
276-
if (log.IsStrictMode)
277-
{
278-
<li>PyTK's image scaling isn't compatible with SMAPI strict mode.</li>
279-
}
280-
else
281-
{
282-
<li>PyTK 1.23.* or earlier isn't compatible with newer SMAPI performance optimizations. This may increase loading times or in-game lag.</li>
283-
}
284-
}
285260
@if (outdatedMods.Any())
286261
{
287262
<li>
@@ -330,10 +305,6 @@ else if (log?.IsValid == true)
330305
</table>
331306
</li>
332307
}
333-
@if (log.IsStrictMode)
334-
{
335-
<li class="notice">SMAPI is running in 'strict mode', which removes all deprecated APIs. This can significantly improve performance, but some mods may not work. You can <a href="https://stardewvalleywiki.com/Modding:Player_Guide#Install_SMAPI">reinstall SMAPI</a> to disable it if you run into problems.</li>
336-
}
337308
</ul>
338309
}
339310
@@ -356,13 +327,7 @@ else if (log?.IsValid == true)
356327
</tr>
357328
<tr>
358329
<th>SMAPI:</th>
359-
<td v-pre>
360-
@log.ApiVersion
361-
@if (log.IsStrictMode)
362-
{
363-
<strong>(strict mode)</strong>
364-
}
365-
</td>
330+
<td v-pre>@log.ApiVersion</td>
366331
</tr>
367332
<tr>
368333
<th>Folder:</th>

0 commit comments

Comments
 (0)