From 9fd1b18373b495a777edd724c875cd376ee8fb2f Mon Sep 17 00:00:00 2001 From: GeckoEidechse Date: Mon, 6 Feb 2023 01:08:49 +0100 Subject: feat: Check log for Northstar crash --- src-tauri/bindings/ParsedLogResults.ts | 2 +- src-tauri/src/repair_and_verify/log_handling.rs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src-tauri') diff --git a/src-tauri/bindings/ParsedLogResults.ts b/src-tauri/bindings/ParsedLogResults.ts index 7bc3239e..6ae3c0ad 100644 --- a/src-tauri/bindings/ParsedLogResults.ts +++ b/src-tauri/bindings/ParsedLogResults.ts @@ -1,4 +1,4 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. import type { ParsedModFromLog } from "./ParsedModFromLog"; -export interface ParsedLogResults { northstar_launcher_version: string, installed_mods: Array, } \ No newline at end of file +export interface ParsedLogResults { northstar_launcher_version: string, installed_mods: Array, has_northstar_crashed: boolean, } \ No newline at end of file diff --git a/src-tauri/src/repair_and_verify/log_handling.rs b/src-tauri/src/repair_and_verify/log_handling.rs index 33e634cb..2cbc4ae6 100644 --- a/src-tauri/src/repair_and_verify/log_handling.rs +++ b/src-tauri/src/repair_and_verify/log_handling.rs @@ -14,6 +14,7 @@ pub struct ParsedModFromLog { pub struct ParsedLogResults { northstar_launcher_version: String, installed_mods: Vec, + has_northstar_crashed: bool, } /// Parse logs for installed mods @@ -93,15 +94,22 @@ fn parse_for_northstar_launcher_version(log_text: String) -> Result bool { + let pattern = Regex::new(r"(?m)Northstar has crashed!").unwrap(); + pattern.is_match(&log_text) +} + /// Parse logs for installed mods #[tauri::command] pub async fn parse_given_log_text(log_text: String) -> Result { let installed_mods = parse_given_log_text_for_installed_mods(log_text.clone())?; - let northstar_launcher_version = parse_for_northstar_launcher_version(log_text)?; + let northstar_launcher_version = parse_for_northstar_launcher_version(log_text.clone())?; + let has_northstar_crashed = parse_log_for_crash(log_text); let parsed_log_results = ParsedLogResults { northstar_launcher_version, installed_mods, + has_northstar_crashed, }; // Return the parsed results -- cgit v1.2.3