Comments as CriticMarkup, with a review sidebar #57

Closed
opened 2026-09-21 18:05:09 +01:00 by cruelacid · 1 comment
Owner

Part of #37.

What Relay does

Relay-Comments, a separate plugin built on their Plugin API, currently beta.
Google-Docs-style threaded comments and suggested edits stored as CriticMarkup
inside the markdown file itself
— {++add++}, {--del--},
{~~old~>new~~} — with a review sidebar, hover accept/reject, colour highlights
and a Finalize for publish sweep. It works without a server.
(github.com/No-Instructions/Relay-Comments, read 21 Sep 2026.)

"Comments" also sits on their main roadmap as Active.

Why this is the E2EE-friendliest feature on the list

Because the comments live in the markdown, they need no server support at all
— and our text sync already carries them today. A comment is just text in the
Y.Text that is already encrypted end to end. Nothing about our architecture
makes this harder than it is for Relay; if anything the in-file design was chosen
for reasons that suit us better than them.

What changes

The plugin's first custom view (registerView appears nowhere in our source
today), a CriticMarkup parser and decorator, and the accept/reject and finalize
flows.

Risk

risk:none.

Verification

Two vaults comment concurrently on the same paragraph; both comments survive and
the file still parses. The finalize sweep must never remove a comment it did not
resolve — under CLAUDE.md, a swept-away comment is lost writing.

Part of #37. ## What Relay does **Relay-Comments**, a separate plugin built on their Plugin API, currently beta. Google-Docs-style threaded comments and suggested edits stored **as CriticMarkup inside the markdown file itself** — `{++add++}`, `{--del--}`, `{~~old~>new~~}` — with a review sidebar, hover accept/reject, colour highlights and a `Finalize for publish` sweep. **It works without a server.** (`github.com/No-Instructions/Relay-Comments`, read 21 Sep 2026.) "Comments" also sits on their main roadmap as Active. ## Why this is the E2EE-friendliest feature on the list Because the comments live in the markdown, they need **no server support at all** — and our text sync already carries them today. A comment is just text in the `Y.Text` that is already encrypted end to end. Nothing about our architecture makes this harder than it is for Relay; if anything the in-file design was chosen for reasons that suit us better than them. ## What changes The plugin's **first custom view** (`registerView` appears nowhere in our source today), a CriticMarkup parser and decorator, and the accept/reject and finalize flows. ## Risk `risk:none`. ## Verification Two vaults comment concurrently on the same paragraph; both comments survive and the file still parses. The finalize sweep must never remove a comment it did not resolve — under `CLAUDE.md`, a swept-away comment is lost writing.
Author
Owner

Moved to the Vikunja board as NEC-34: https://projectron.nerchure.com/tasks/34

Moved to the Vikunja board as **NEC-34**: https://projectron.nerchure.com/tasks/34
Sign in to join this conversation.
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda#57
No description provided.