"Done recently" chip-cloud → compact uniform list (Active-now row style); shows 5 with inline expand to the rest (backend already returns up to 8).
New "Projects" rail card → each active project with N open · M done. Surfaced the done_count the backend already computed.
MCP Access (Connect Claude / Claude Code)
Progressive disclosure → install snippet leads; server name, scope, marketplace URL, and the MCP-only path folded into one "Customize" expander. Desktop tab keeps its own server-name field.
Marketplace URL defaults to this instance's repo via config.PLUGIN_MARKETPLACE_URL (env-overridable); /api/plugin/marketplace-url falls back to it, so the field + install command are pre-filled out of the box.
Design previews approved by operator. CI green on da511fc (run 813). Refs #761.
## Dashboard
- **"Done recently"** chip-cloud → compact uniform list (Active-now row style); shows 5 with inline expand to the rest (backend already returns up to 8).
- **New "Projects" rail card** → each active project with `N open · M done`. Surfaced the `done_count` the backend already computed.
## MCP Access (Connect Claude / Claude Code)
- **Progressive disclosure** → install snippet leads; server name, scope, marketplace URL, and the MCP-only path folded into one "Customize" expander. Desktop tab keeps its own server-name field.
- **Marketplace URL defaults to this instance's repo** via `config.PLUGIN_MARKETPLACE_URL` (env-overridable); `/api/plugin/marketplace-url` falls back to it, so the field + install command are pre-filled out of the box.
Design previews approved by operator. CI green on `da511fc` (run 813). Refs #761.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Dashboard:
- 'Done recently' chip-cloud -> compact uniform list (Active-now row style),
showing 5 with inline expand to the rest (backend already returns up to 8).
- New 'Projects' rail card: each active project with 'N open · M done'.
Backend already computed done_count (dashboard.py) — now surfaced in the
/api/dashboard payload per active project.
MCP Access (Connect Claude / Claude Code):
- Progressive disclosure: lead with the pre-filled plugin-install snippet;
fold server name, scope, marketplace URL, and the MCP-only path into a
single 'Customize' expander. Desktop tab keeps its own server-name field.
- Marketplace URL now defaults to this instance's own repo via
config.PLUGIN_MARKETPLACE_URL (env-overridable); /api/plugin/marketplace-url
falls back to it, so the field + install snippet are pre-filled out of the
box instead of showing a generic placeholder.
Refs #761
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Dashboard
N open · M done. Surfaced thedone_countthe backend already computed.MCP Access (Connect Claude / Claude Code)
config.PLUGIN_MARKETPLACE_URL(env-overridable);/api/plugin/marketplace-urlfalls back to it, so the field + install command are pre-filled out of the box.Design previews approved by operator. CI green on
da511fc(run 813). Refs #761.🤖 Generated with Claude Code