The push handlers set the button to 'skipped' then immediately ran search(), which
re-rendered the inspector and wiped the text — so a skipped publish flashed and
vanished (looked like nothing happened). Replace with persistent toasts that state the
outcome explicitly: Published / already up-to-date / Push failed / and for a skip,
'<model> isn't renderable yet, so nothing was sent.' Only refresh the row on an actual
publish so the message isn't clobbered. Same for the multi-select Re-push summary.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>