feat: improve reminders summarizer output and system metadata handling

This commit is contained in:
cesnimda
2026-03-22 14:58:56 +01:00
parent 2ae27433e8
commit f1c7c38a19
9 changed files with 177 additions and 110 deletions
@@ -40,6 +40,21 @@ public sealed class AdminSystemController : ControllerBase
SummarizerMetrics Summarizer
);
private static string? NormalizeBuildMetadata(string? value)
{
var trimmed = (value ?? string.Empty).Trim();
if (string.IsNullOrWhiteSpace(trimmed)) return null;
// Ignore unresolved shell/compose placeholders that would otherwise leak
// directly into the admin UI, e.g. $(git rev-parse --short HEAD) or ${APP_COMMIT_SHA}.
if ((trimmed.StartsWith("$(") && trimmed.EndsWith(")")) || (trimmed.StartsWith("${") && trimmed.EndsWith("}")))
{
return null;
}
return trimmed;
}
[HttpPost("summarizer/probe")]
public async Task<IActionResult> RunSummarizerProbe(CancellationToken cancellationToken)
{
@@ -57,13 +72,14 @@ public sealed class AdminSystemController : ControllerBase
var companies = await _db.Companies.AsNoTracking().CountAsync(cancellationToken);
var summarizer = await _summarizer.GetMetricsAsync(cancellationToken);
var version = (_cfg["App:Version"] ?? "").Trim();
var version = NormalizeBuildMetadata(_cfg["App:Version"]);
if (string.IsNullOrWhiteSpace(version))
{
version = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? "unknown";
}
var commitSha = (_cfg["App:CommitSha"] ?? "").Trim();
var buildStamp = (_cfg["App:BuildStamp"] ?? "").Trim();
var commitSha = NormalizeBuildMetadata(_cfg["App:CommitSha"]);
var buildStamp = NormalizeBuildMetadata(_cfg["App:BuildStamp"]);
return Ok(new SystemStatusDto(
Environment: _env.EnvironmentName,
@@ -82,11 +98,11 @@ public sealed class AdminSystemController : ControllerBase
),
Email: new EmailStatusDto(
Enabled: _cfg.GetValue("Email:Enabled", false),
Host: (_cfg["Email:SmtpHost"] ?? "").Trim(),
Host: (_cfg["Email:SmtpHost"] ?? string.Empty).Trim(),
Port: _cfg.GetValue("Email:SmtpPort", 587),
EnableSsl: _cfg.GetValue("Email:SmtpEnableSsl", true),
From: (_cfg["Email:From"] ?? "").Trim(),
FromName: (_cfg["Email:FromName"] ?? "").Trim()
From: (_cfg["Email:From"] ?? string.Empty).Trim(),
FromName: (_cfg["Email:FromName"] ?? string.Empty).Trim()
),
Summarizer: summarizer
));