-
v0.4.0-gitea.3
StableAll checks were successfulTest / bun test (push) Successful in 8sreleased this
2026-05-07 18:02:22 +00:00 | 0 commits to main since this releasev0.4.0-gitea.3 — channel-capability + notify-echo filter + README accuracy
Reno-Stars (airenostars) verified install end-to-end against v0.4.0-gitea.2 ONLY after applying a local patch. This release ships the same patch upstream so fresh self-hosters get a working install out-of-the-box.
P0 (CRITICAL) — declare experimental.claude/channel capability
Without this declaration on the Server constructor, the Claude Code MCP host treats the server as tool-only and silently drops every
notifications/claude/channelevent. Symptom: poll loop runs cleanly, cursor advances, stderr says "delivered", message never reaches the conversation.P1 — filter outbound method=notify rows
The activity feed under
?type=a2a_receiveALSO returns the agent's own outbound /notify calls (recorded with method='notify' and source_id=null on the same workspace_id). Pre-fix, every reply this plugin sent echoed back as a fake user turn one poll later. Now filtered at the per-row layer.P2 — README accuracy
- Removed broken
claude --channels plugin:…one-liner instruction (silently no-ops on Claude Code 2.1.129) - Documented
allowedChannelPluginsschema (array of{plugin, marketplace}OBJECTS, not strings) - Documented
allowedChannelPluginsLOCATION (managed-settings.json — NOT~/.claude/settings.json)
Tests
27 pass / 0 fail (was 18). New file
channel-capabilities-and-filter.test.ts(9 cases) pins both regressions via small exported surfaces (SERVER_CAPABILITIES,shouldEmitActivity).Migration
Drop-in upgrade from v0.4.0-gitea.2. No
.envchanges needed. After upgrading:- Restart Claude Code
- Verify
allowedChannelPluginsis in/Library/Application Support/ClaudeCode/managed-settings.json(macOS) — NOT~/.claude/settings.json - Confirm the entry is an object:
[{ "plugin": "molecule", "marketplace": "molecule-channel" }]
Merge commit:
f92147aDownloads
- Removed broken