feat: inline comments#8901
Open
mejo- wants to merge 23 commits into
Open
Conversation
mejo-
force-pushed
the
feat/comments
branch
2 times, most recently
from
July 23, 2026 07:41
e27b832 to
0ecbdff
Compare
The plugin post-processes data from footnotes plugin. As we cannot change the label parsing rules of the footnotes plugin, this seemed to be the most sensible thing to do. Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-opus-4-8
The comments container is hidden in UI for now. Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org>
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Makes sure the input field is focussed when the comment bubble opens. Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Also use a fixed width to avoid visible container growth when opening a comment bubble with long comments. Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
* Use NcRichContenteditable as input field * Use ProseMirror DOMSerializer to turn commentItem content into HTML and render it with Vue v-html. Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: OpenCode:claude-fable-5
Signed-off-by: Jonas <jonas@freesources.org>
The command is registered in an own Tiptap extenstion that requires a browser. In the comment node unit tests, we don't have this extension loaded. Signed-off-by: Jonas <jonas@freesources.org>
silverkszlo
reviewed
Jul 23, 2026
| return result | ||
| }) | ||
|
|
||
| const isFirstComment = computed(() => items.value.length === 0 || (items.value.length === 1 && !items.value[0].body)) |
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

📝 Summary
This PR implement inline point-anchor comments as discussed in #185.
[?]or by pressing Ctrl-Alt-MMarkdown representation
Comments are stored using the footnote syntax already supported by Text, with a comment- prefix to distinguish them from regular footnotes:
Existing Markdown editors with footnote support (Obsidian, Ghostwriter) render the comment definitions as footnotes and make them accessible.
🖼️ Screenshots
🖼️ Screencast
Warning
Wait till the end, there's a long pause in between!
🚧 TODO
Regression: Undo is now always disabled in toolbarWould be great if adding/editing/deleting replies could be undoable as welledit: turns out it already is 🎉🏁 Checklist
npm run lint/npm run stylelint/composer run cs:check)🤖 AI (if applicable)