Skip to content

TUI: update-batch warnings from successful updates are still unreadable when the ResultLines overlay wins #259

Description

@dyoung522

Summary

Residual gap deliberately left out of #253 (PR #258), recorded so it isn't rediscovered.

#253 auto-opens a "warnings" overlay when a buildAction-routed outcome carries 2+ warnings. But when an outcome carries both ResultLines and 2+ Warnings — today only the apply-updates batch (applyUpdatesSequentially, internal/tui/mutations.go) can — the pre-existing "update results" overlay keeps priority (via the m.overlay == nil guard in app.go's actionDoneMsg handler, pinned by TestActionDoneResultLinesKeepPriorityOverWarningsOverlay), and the warnings overlay defers to it.

The batch's ResultLines carry per-update ✗ failure lines, so failures are readable. What is not: warnings emitted by successful updates — applyUpdatesSequentially folds each successful ApplyUpdate's outcome.Warnings into the aggregate Warnings slice, but the update's ResultLines entry is just ✓ <name> <from> → <to>. On a merged-pak game (Icarus), applying an update that triggers a recompile can emit ≥2 merge-time asset-conflict warnings: the status line reads Applied 1 update(s) (2 warnings), the "update results" overlay shows only the ✓ line, and the warning text is unreachable — exactly #253's failure mode, surviving in the one flow whose outcome shape predates it.

Possible directions (not settled)

  • Append the aggregate warnings to the update-results overlay's lines (e.g. a blank separator + one line per warning), keeping a single overlay.
  • Or interleave each update's warnings under its own ✓ line in ResultLines at batch time.

Either touches the update-results overlay's designed content, which is why it was split out of #253's rendering fix rather than bundled in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions