nextcloud / nextcloud/whiteboard
Pick up upstream sticky notes (excalidraw#12064) in the next @nextcloud/excalidraw bump
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 215
- Forks
- 39
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 32
Description
Problem
Whiteboard has no sticky note tool. To get the equivalent of a note, a user has to draw a rectangle, assign a background color, enter bound text, and then manually reduce the font size so the text fits. In a teaching session with students that is four steps too many, and it has to be explained before the first exercise can start.
This is already solved upstream
excalidraw/excalidraw#12064 (feat(editor): sticky notes) was merged into master on 2026-09-10 and closes excalidraw/excalidraw#9696, which was filed from the Nextcloud side.
It adds a dedicated stickynote element and tool (N):
- the text field is focused on creation — no extra keypress to start typing
- the font auto-fits:
fontSizeMaxis the user's ceiling, the effectivefontSizeis derived from it, and the note only grows past its base height once the text still overflows at the minimum font - notes are their own color domain, so note colors don't fight the shape palette
- the element skeleton API supports
{ "type": "stickynote", x, y, label: { text, fontSize? } }
What's missing here
package.json pins @nextcloud/excalidraw to 0.18.0-6135eb0 (published 2026-05-12). The newest published fork snapshot, 0.18.0-fe2343d, also predates the merge. So the feature can only arrive with a fork rebase onto a master state that includes #12064.
Request
Please include #12064 in the scope of #1115 (bump and release nextcloud/excalidraw), and treat the stickynote element as something the file format and the collaboration backend need to round-trip. Happy to test on a production instance once a snapshot is available.
Context
We generate course whiteboards from a JSON spec into .whiteboard files. Notes are currently emitted as rectangle + bound text, with a non-empty placeholder text that exists purely to carry our typography — an empty bound text is discarded on load, and the one recreated on first keystroke picks up the tool defaults (20px) instead. We also ship an on-board usage hint telling participants to double-click a field rather than reach for the free text tool. A native stickynote would let all of that go away.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with package.json and the bump and release work in issue #1115, then verify that the fork snapshot includes upstream Excalidraw PR #12064. Review the existing .whiteboard JSON generation and collaboration round-trip paths; done means stickynote elements survive both without the rectangle-plus-bound-text workaround.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100