Skip to content

fix(ui): show ignored skill line on user command turns#1370

Open
h30s wants to merge 1 commit intodifferent-ai:devfrom
h30s:fix/user-skill-indicator-1213
Open

fix(ui): show ignored skill line on user command turns#1370
h30s wants to merge 1 commit intodifferent-ai:devfrom
h30s:fix/user-skill-indicator-1213

Conversation

@h30s
Copy link
Copy Markdown

@h30s h30s commented Apr 6, 2026

Summary

  • Surface ignored: true user text parts (non-synthetic) so slash-command / skill turns show a short line (e.g. “Running skill: …”) instead of an empty user bubble.
  • Keep synthetic template text hidden; style the line subtly in the user bubble; include it in session search.

Why

  • Users had no feedback when the only visible intent lived on an ignored companion part; the message could disappear entirely once synthetic template parts were hidden.

Issue

Scope

  • apps/app/src/app/utils/index.tsisUserSkillIndicatorTextPart, isUserTranscriptTextPart, groupMessageParts(..., isUserMessage) for user-only ignored companion text.
  • apps/app/src/app/components/session/message-list.tsx — visibility filter + pass isUser into grouping.
  • apps/app/src/app/components/part-view.tsx — muted italic styling for those text parts.
  • apps/app/src/app/pages/session.tsx — search indexing for the same text.

Out of scope

Testing

Ran

  • pnpm typecheck

Result

  • pass/fail: pass (when pretypecheck / UI package build completes; on Windows rerun if tsup exits with a transient crash)
  • if fail, exact files/errors: n/a

CI status

  • pass: not run here
  • code-related failures: n/a
  • external/env/auth blockers: n/a

Manual verification

  1. Use an OpenCode build that sends a user message with synthetic template + ignored companion text (after upstream supports it).
  2. Trigger via slash command / skill; confirm template text does not appear as normal user content.
  3. Confirm the short italic-style line appears in the user message area and is findable via in-session search.

Evidence

  • N/A (pending real OpenCode payload or local mock)

Risk

  • Low: scoped to user messages and ignored + non-synthetic text parts; could show unexpected lines if the server mis-tags user text as ignored.

Rollback

  • Revert the commit; restores prior filtering and grouping behavior.

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openwork-landing Ready Ready Preview, Comment, Open in v0 Apr 6, 2026 8:05pm

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 6, 2026

@h30s is attempting to deploy a commit to the Different AI Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 6, 2026

The following comment was made by an LLM, it may be inaccurate:

@src-opn
Copy link
Copy Markdown
Collaborator

src-opn commented Apr 6, 2026

screenshots plz

@h30s
Copy link
Copy Markdown
Author

h30s commented Apr 7, 2026

I don’t have UI screenshots to attach yet because this path only shows up when OpenCode sends a user message that includes non-synthetic ignored: true text (e.g. the short skill line) alongside the hidden synthetic template. I haven’t been able to reproduce that payload locally with my current OpenCode build, so there’s nothing faithful to screenshot without staging fake data.

Verified so far: pnpm typecheck passes on this branch.

Next step: I’ll add 2–3 screenshots here as soon as I can trigger a real slash-command / skill turn that emits those parts (user bubble with the muted italic line + in-session search hitting that text). If anyone has a known OpenCode version or repro that already produces that shape, I’m happy to match it.

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.

[Feature]: Show skill indicator for command-invoked messages with ignored parts

2 participants