Skip to content

[codex] Show skill detail API errors - #2253

Merged
1 commit merged into
nesquena:masterfrom
franksong2702:franksong2702/guard-skill-detail-errors
May 14, 2026
Merged

1 commit merged into
nesquena:masterfrom
franksong2702:franksong2702/guard-skill-detail-errors

Conversation

@franksong2702

Copy link
Copy Markdown
Contributor

Thinking Path

A small quality pass found the Skills detail pane could silently render (no content) when the API returned HTTP 200 with an error payload such as success: false. The backend fix is covered separately by #2250; this PR adds a UI guard so this class of failure is visible instead of looking like empty skill content.

What Changed

  • Added an error renderer for Skills detail panes.
  • Treat /api/skills/content responses with success: false or error as failures before rendering markdown content.
  • Treat linked skill-file content responses with error as failures as well.
  • Added a regression test that verifies the error guard runs before the empty-content fallback.
  • Updated the changelog.

Why It Matters

This does not replace the backend root-cause fix. It prevents future regressions where a successful HTTP response contains an application-level error and the UI hides that error behind an empty detail pane.

Before / After

Before: API error payload is hidden and the skill looks empty.

Before

After: the same API error is visible in the Skills detail pane.

After

Verification

  • node --check static/panels.js
  • /Users/xuefusong/hermes-webui/.venv/bin/pytest tests/test_skill_detail_error_guard.py -q
  • Browser before/after validation with isolated HERMES_HOME and HERMES_WEBUI_STATE_DIR:
    • before on origin/master: selected skill rendered (no content) and no visible backend error
    • after on this branch: selected skill rendered Non-relative patterns are unsupported in the detail pane

Risks / Follow-ups

  • This only improves UI behavior for error payloads; it does not change the backend Skills content path. The backend root cause remains covered by [codex] Fix blank skill detail views #2250.
  • The error message is intentionally direct because it is already what the API returns.

Model Used

GPT-5 Codex. AI assistance was used to inspect, modify, test, and prepare this pull request.

@nesquena-hermes nesquena-hermes closed this pull request by merging all changes into nesquena:master in 18297f3 May 14, 2026
eleboucher pushed a commit to eleboucher/homelab that referenced this pull request May 14, 2026
… 0.51.62) (#470)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/nesquena/hermes-webui](https://github.com/nesquena/hermes-webui) | patch | `0.51.61` → `0.51.62` |

---

### Release Notes

<details>
<summary>nesquena/hermes-webui (ghcr.io/nesquena/hermes-webui)</summary>

### [`v0.51.62`](https://github.com/nesquena/hermes-webui/releases/tag/v0.51.62)

[Compare Source](nesquena/hermes-webui@v0.51.61...v0.51.62)

##### What's Changed

- stage-355: 11-PR full sweep batch — metadata-only cache hit fixes + skill detail fix + phone UX + escaping + display-title projection + RFC update + test fixture hardening by [@&#8203;nesquena-hermes](https://github.com/nesquena-hermes) in [#&#8203;2263](nesquena/hermes-webui#2263)
- Improve phone sidebar panel navigation by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2238](nesquena/hermes-webui#2238)
- fix: reconcile stale sidebar display titles by [@&#8203;dso2ng](https://github.com/dso2ng) in [#&#8203;2241](nesquena/hermes-webui#2241)
- Fix Archive Session for metadata-only cache hits by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2244](nesquena/hermes-webui#2244)
- Fix metadata-only cache hits in session mutation routes by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2249](nesquena/hermes-webui#2249)
- \[codex] Fix blank skill detail views by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2250](nesquena/hermes-webui#2250)
- docs(runtime): codify [#&#8203;1925](nesquena/hermes-webui#1925) adapter contract and migration gates by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2251](nesquena/hermes-webui#2251)
- \[codex] Show skill detail API errors by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2253](nesquena/hermes-webui#2253)
- \[codex] Escape model picker display text by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2255](nesquena/hermes-webui#2255)
- \[codex] Fix start.sh dotenv filtering load by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2257](nesquena/hermes-webui#2257)
- \[codex] Harden update-link git fixture by [@&#8203;franksong2702](https://github.com/franksong2702) in [#&#8203;2259](nesquena/hermes-webui#2259)

**Full Changelog**: <nesquena/hermes-webui@v0.51.61...v0.51.62>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/470
SysAdminDoc pushed a commit to SysAdminDoc/hermes-webui that referenced this pull request Jun 26, 2026
[codex] Show skill detail API errors (franksong2702)

# Conflicts:
#	CHANGELOG.md
bernyforce pushed a commit to bernyforce/hermes-webui that referenced this pull request Jul 29, 2026
[codex] Show skill detail API errors (franksong2702)

# Conflicts:
#	CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants