Detail: always fetch live summary for open file — voice tag was invisible for library-opened files (the report's own '## Summary' section defeated the fetch heuristic)

This commit is contained in:
avi 2026-09-16 17:12:10 -05:00
commit 25d53cb251

View file

@ -1065,10 +1065,12 @@ class DesktopState(private val appDir: File = defaultAppDir()) {
if (_detail.value?.file != file) return@launch
}
if (remoteId == null) return@launch
// Report written before a summary existed (or lost a race):
// pull finished outputs so the detail view isn't stale.
val report = d.reportText
if (d.transcript == null && !report.isNullOrBlank() && !report.contains("## Summary")) {
// Voice tag + re-summarize state need the live SummaryData,
// not just the rendered report: whenever the open file has no
// summary loaded yet, fetch transcript+summary from the engine
// (the old "report contains ## Summary" shortcut left the
// voice tag invisible for every library-opened file).
if (d.summary == null) {
val t = runCatching { parseTranscript(provider.fetchTranscript(remoteId)) }
.getOrNull()
val s = runCatching { parseSummary(provider.fetchSummary(remoteId)) }