Releases: Jin-HoMLee/marginalia
Release list
v2.1.0 — Freeze page on Done
Freeze page on Done, with timed-grace Undo (#6)
When you click Done, the page freezes into a live → closing → closed flow with a ~6 s grace banner offering Undo / Close now. /done fires exactly once, on commit. Frontend-only (annotate.js + theme.css); the server is unchanged.
Robustness (post-review hardening on PR #9)
- No silent comment loss while frozen — the answer-option (
mg-opt) handler now carries the live-only guard, so keyboard-Enter and programmatic activation can't POST a comment during the grace/closed window (CSS only blocked the mouse). - No stranded thread on tab-close — a
pagehide→sendBeacon("/done")delivers/doneif you close the tab mid-grace, soawait_commentnever hangs. - No stray cards under the closed banner — a late
/repliespoll is ignored once closed.
44 tests pass. Verified by running: live edge-case dogfood (frozen keyboard activation blocked, tab-close beacon delivered, live answer-options still post).
Install: uvx --from git+https://github.com/Jin-HoMLee/marginalia@v2.1.0 marginalia
v2.0.0 — cross-client uvx package
First neutral, cross-client release. marginalia turns any Markdown into a browser-based, click-to-comment thread over MCP — comments record as clean anchored tool_results, replies render as re-annotatable in-page cards.
Highlights
- One portable FastMCP-over-stdio server, launched with
uvx— installs identically across Claude Code, Cline, and opencode. No clone, no PyPI needed. - Dropped all Claude-Code-specific packaging (plugin manifest,
.mcp.json,SKILL.md,register.sh) → a plainsrc/marginalia/package (hatchling, console entrymarginalia). - Env knobs:
MARGINALIA_POLL_S(long-poll bound; default 540, opencode 20 for its ~30s exec cap) andMARGINALIA_THREADS_DIR(export dir; default~/.marginalia/threads/). - Neutral
USAGE.md+ 3-client install matrix in the README.
Verified
Cross-client acceptance passed on all three targets, each driving the full start_thread → await_comment → post_reply → end_thread loop including the threaded comment-on-reply path:
| Client | Model |
|---|---|
| Claude Code | Opus 4.8 |
| Cline | — |
| opencode | DeepSeek V4 Flash (no skill — driven from USAGE.md alone) |
Install
claude mcp add --scope user marginalia -- uvx --from git+https://github.com/Jin-HoMLee/marginalia@v2.0.0 marginaliaSee the README for Cline and opencode.