MCPJam / MCPJam/inspector

agent/slack polish: announcement ordering for cancel-with-resource, UTF-16-safe label cap, stale spend list in base prompt

Open
#3,705 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.2k
Forks
283
Avg merge
11h 47m
Merged PRs (30d)
737

Description

Low-severity residuals from the #3696 review, batched:

- `announcementFor` (slack-app/listeners/actions/proposal-button.js) checks the resource URL before `kind`, so a future cancel-kind op that also returns a resource would announce "Approved — follow it here" instead of "Cancelled". Latent today (cancel has no resource builder).
- `proposal-builder.js` caps the server-sent button label with `.slice(0, 75)` on UTF-16 units; an emoji at the boundary yields an unpaired surrogate that can make Slack reject the whole message. The file's own `capChars` is code-point-safe.
- The frozen base prompt's spend enumeration ("running a suite or a case, generating cases, cancelling a run") predates the two new gated ops. Fixing it is a deliberate cache-invalidating edit to the snapshot-pinned literal.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contributor guide

Open the contributing guide

Research direction

Read slack-app/listeners/actions/proposal-button.js and proposal-builder.js first, then locate the frozen base-prompt snapshot containing the spend enumeration. Verify the announcement decision is kind-aware, label truncation remains UTF-16-safe, and the snapshot lists the two newer gated operations without breaking its pinned wording.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.