extract Text from gmail import, darkmode updates, auto update app versions etc

This commit is contained in:
cesnimda
2026-03-21 20:44:02 +01:00
parent 5e50a8fed7
commit aa804aebe8
6 changed files with 44 additions and 3 deletions
@@ -33,6 +33,8 @@ public sealed class AdminSystemController : ControllerBase
string Environment,
string ContentRoot,
string Version,
string? CommitSha,
string? BuildStamp,
StorageStatusDto Storage,
EmailStatusDto Email,
SummarizerMetrics Summarizer
@@ -48,12 +50,20 @@ public sealed class AdminSystemController : ControllerBase
var companies = await _db.Companies.AsNoTracking().CountAsync(cancellationToken);
var summarizer = await _summarizer.GetMetricsAsync(cancellationToken);
var version = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? "unknown";
var version = (_cfg["App:Version"] ?? "").Trim();
if (string.IsNullOrWhiteSpace(version))
{
version = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? "unknown";
}
var commitSha = (_cfg["App:CommitSha"] ?? "").Trim();
var buildStamp = (_cfg["App:BuildStamp"] ?? "").Trim();
return Ok(new SystemStatusDto(
Environment: _env.EnvironmentName,
ContentRoot: _env.ContentRootPath,
Version: version,
CommitSha: string.IsNullOrWhiteSpace(commitSha) ? null : commitSha,
BuildStamp: string.IsNullOrWhiteSpace(buildStamp) ? null : buildStamp,
Storage: new StorageStatusDto(
DataRoot: _paths.DataRoot,
DbPath: dbPath,
@@ -204,6 +204,10 @@ public sealed class GmailOAuthService : IGmailOAuthService
{
bodyText = StripHtml(bodyHtml);
}
else if (LooksLikeHtml(bodyText))
{
bodyText = StripHtml(bodyText);
}
return new GmailMessageDetail(
messageId,
@@ -423,6 +427,17 @@ public sealed class GmailOAuthService : IGmailOAuthService
}
}
private static bool LooksLikeHtml(string? value)
{
if (string.IsNullOrWhiteSpace(value)) return false;
return value.Contains("<html", StringComparison.OrdinalIgnoreCase)
|| value.Contains("<body", StringComparison.OrdinalIgnoreCase)
|| value.Contains("<div", StringComparison.OrdinalIgnoreCase)
|| value.Contains("<p", StringComparison.OrdinalIgnoreCase)
|| value.Contains("<br", StringComparison.OrdinalIgnoreCase)
|| value.Contains("<span", StringComparison.OrdinalIgnoreCase);
}
private static string StripHtml(string html)
{
if (string.IsNullOrWhiteSpace(html)) return "";