[channels] Return ApiError from Discord interaction failures
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend-api-design
Research direction
Read docs/core/communication.md and docs/core/protocol.md for the required error shape, then inspect apps/nanocore/src/discord-interaction-routes.ts. Update the route to return the existing ApiError schema with protocolVersion, preserving signature verification and interaction dispatch. Done when failures from this route match the documented top-level protocol error record.
Written by the indexing model from the issue text.
Description
Doc rule. docs/core/communication.md:289 says HTTP-style commands normalize user-visible failures into the protocol error shape. docs/core/protocol.md:637-639 defines that shape as a top-level record with protocolVersion and code.
Current code. apps/nanocore/src/discord-interaction-routes.ts:22-24 returns { error: { code, message } } with no protocolVersion.
Impact. One channel's failures do not match the error record other HTTP clients parse. Discord behavior otherwise stays on this route.
Smallest fix. Return the existing ApiError schema from this route, including protocolVersion. Do not change Discord signature verification or interaction dispatch.
Source finding IDs. DOC-C-08
Filed from the 2026-11-07 core-doc audit (base 27fb8a0013ec86729475617609e9acc3fcb376f3); deferred past v0.1.0 by coordinator + Astra adjudication.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 5h 57m
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lingkaix/openkit
-
after-v0.1.0 bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
after-v0.1.0 bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
after-v0.1.0 bug
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
Maintainers usually reply within 1 day
-
after-v0.1.0 bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverOpendoc-audit enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
All issues in lingkaix/openkit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
documentation easy good first issue help wanted
Difficulty 1/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
Billion-context documentation addendum: nudge is independent of window occupancy. | billion-context 文档补充:nudge 与窗口占用无关Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
ranxianglei/billion-context#5893 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
microsoft/monaco-editor#5575 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100