This evidence pack documents the user-facing impact of the channel-health diagnostics
work for issue #628 and the follow-up UI hardening that landed during review.
The screenshots show the same seeded scenarios before the PR and after the current draft
head, so the deltas are attributable to this branch rather than a different test setup.
The screenshots validate the visible remediation experience. The code changes go a bit further than the screenshots alone, so the report separates visual proof from the additional hardening that prevents misleading UI states.
The dashboard summary is the first place a user looks. It now leads toward the richer diagnostics instead of leaving the channel state effectively opaque.
This is where the PR most clearly replaces vague channel status with named failures and next-step copy.
This captures the original class of incident from #628: a channel is enabled but blocked by
auth/runtime reality. The page now explains that state instead of flattening it.
Missing or incomplete channel configuration now gets the same structured treatment as auth failures.
Review surfaced a few cases where the visible diagnostics could still be misleading. Those are fixed in code even when they do not have a dedicated screenshot in this pack.
Checking.zalo_personal now points to re-auth instead of generic credentials repair.?tab= values now fall back to general.groups tab.These structured checks back up the screenshots by recording the UI markers that were present before and after.
{
"overview": {
"needsAttention": true,
"authChannelVisible": true,
"missingChannelVisible": false
},
"channelsList": {
"authSummary": false,
"missingSummary": true,
"nextStepVisible": true,
"credentialsActionVisible": false
},
"authDetail": {
"whatHappened": true,
"recommendedAction": true,
"reviewCredentials": false,
"technicalDetail": false
},
"missingCredentialsDetail": {
"missingCredentials": true,
"completeRequiredCredentials": false,
"openCredentials": false
}
}
{
"overview": {
"needsAttention": true,
"authVisible": false,
"missingVisible": false
},
"channelsList": {
"authSummary": true,
"missingSummary": false,
"reviewCredentials": true,
"completeCredentials": true
},
"authDetail": {
"whatHappened": true,
"authFailed": true,
"recommendedAction": true,
"openCredentials": true,
"technicalDetail": true
},
"missingDetail": {
"whatHappened": true,
"configInvalid": true,
"completeCredentials": true,
"openCredentials": true,
"technicalDetail": true
}
}
#628
is better described as diagnosable and actionable, not automatically healed.