Skip to content

Keep reactions on sticky notes from Microsoft Whiteboard (1.7.4) - #180

Merged
marcosqlbi merged 1 commit into
mainfrom
feature/ms-whiteboard-note-reactions
Sep 30, 2026
Merged

marcosqlbi merged 1 commit into
mainfrom
feature/ms-whiteboard-note-reactions

Conversation

@marcosqlbi

Copy link
Copy Markdown
Collaborator

Reactions on sticky notes were counted and left out. They were the last thing any of the 19 sample boards reported as left out: one Heart on a note in the test board's note grid.

A note's reactions are pills in div.ReactionTagContainer: one div.ReactionPillContainer per reaction, whose id is the reaction's name, with the count in span.reactionPillText. The web client offers four: Like, Heart, Laugh, and Think. The board has no reactions, so the note reader now adds them as a last line of the note's text, each as its symbol and count (for example 👍 3 ♥ 1). They stay with the note when it moves, in a note grid and in a template as well. Who reacted is left out, as authors' names are. The heart is the suit symbol ♥, because WPF draws the emoji heart hatched; the other three have no text form.

Reactions on anything other than a note are still counted, now as Reactions.

Checked on the test board: the note reads second grid note / ♥ 1 when drawn through the application's renderer, and all 19 samples now import with nothing reported as left out. The existing Core smoke test's note now carries a Heart and a Like reaction. The solution builds clean and both harnesses pass.

1.7.4 is not released yet, so this adds an entry to its notes and the version stays 1.7.4. The import doc and the site's export page describe it.

🤖 Generated with Claude Code

A note's reactions become a last line of its text, with each reaction's symbol and
count, so they stay with the note. Reactions on anything other than a note are still
counted. The heart is the suit symbol, because WPF draws the emoji heart hatched.

Checked on the test board, whose one reaction was the last thing any sample reported
as left out. It joins the 1.7.4 notes, which is not released yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@marcosqlbi
marcosqlbi merged commit 55efc32 into main Sep 30, 2026
5 checks passed
@marcosqlbi
marcosqlbi deleted the feature/ms-whiteboard-note-reactions branch September 30, 2026 17:41
marcosqlbi added a commit that referenced this pull request Sep 30, 2026
Tables and templates that the web client drew as placeholders were
reported as left out, and so were work items and other kinds drawn the
same way. No sample holds one, so the markup was read from the Microsoft
Whiteboard web client's public code, as for #174 to #180.

When a feature flag is off for whoever exports the board
(`EnableTables`, `EnableTemplates`, `EnableWorkItems`, and others), the
web client draws its placeholder component instead of the content: a
`div.unknownObject` holding a title and a description in the board's
language in `div.unknownObjectText`, and nothing of the content. The
exported stylesheet makes it at least 448 × 170 pixels, white, with a
shadow and no border.

The importer now checks every object for a placeholder before reading it
by type. A placeholder becomes a white rectangle of the placeholder's
size with its two lines as its text, and a light outline, because the
shadow that marks it on the page does not carry over. A template whose
children were drawn is still read child by child, and a child that is a
placeholder becomes the same box at its place. Placeholders are no
longer reported as left out, because the box and its message are what
the page shows and they stay on the board.

The export holds no more than that, so a placeholder stays a
placeholder. The import doc lists this among what is lost, and the
site's export page says so.

A new Core smoke test covers a table drawn as a placeholder, a centered
template drawn as one, and a template whose children were drawn with one
child drawn as a placeholder. All 19 samples still import unchanged. The
solution builds clean and both harnesses pass.

1.7.4 is not released yet, so this adds an entry to its notes and the
version stays 1.7.4.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant