fix(app-model): separate status channels — update messages no longer hide capture summary
Root cause: updateStatusMessage was an alias to statusLine, so update feedback appeared both in the header (where capture summary belongs) and footer (intended). Both MenuBarView header and footer rendered the same value, creating duplication and information loss. Fix: introduce updateStatus property separate from statusLine. Route UpdateChecker.statusMessage into setUpdateStatus(), not setStatus(). Header now shows capture summary uninterrupted; footer-only shows update feedback. Both channels now independent. - Add public updateStatus property to AppModel - Add setUpdateStatus() mutator - Change updateStatusMessage property to return updateStatus instead of statusLine - Route onChecked callback to setUpdateStatus, not setStatus - Update PanelSnapshot helper to use setUpdateStatus - Add test asserting channel independence Panel-12 and panel-13 now render correctly: capture summary in header, update status only in footer; no duplication or information loss. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ZiTXPbPCSjzPVsfoweAbp
This commit is contained in:
@@ -400,9 +400,9 @@ extension AppModel {
|
||||
self[keyPath: writable] = checking
|
||||
}
|
||||
|
||||
/// Snapshot-only: set updateStatusMessage (statusLine alias) for panel display.
|
||||
/// Snapshot-only: set updateStatusMessage for panel display.
|
||||
func snapshotSetUpdateStatusMessage(_ message: String?) {
|
||||
setStatus(message)
|
||||
setUpdateStatus(message)
|
||||
}
|
||||
|
||||
/// Snapshot-only: set updateAvailable without triggering a real download.
|
||||
|
||||
Reference in New Issue
Block a user