
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview
After #5897, the TipTap editor silently strips <img> tags from pasted HTML — users have no feedback that content they thought they were pasting was removed. Add a brief, user-visible affordance (toast or inline indicator) shown when one or more images were stripped from a paste, so users understand why their pasted content looks different from the source.
Complexity: Low
Target branch: unstable
Context
#5897 was a hotfix; adding a user-visible string wasn't possible without going through the string-freeze process. This issue captures the affordance for unstable.
The Change
When transformPastedHTML strips one or more <img> tags from a paste, surface a brief notification — single toast per paste batch, not per image. Text along the lines of "N image(s) were removed from your paste." Use Studio's existing notification component.
The transformer needs to surface a count to its callers (both editorProps.transformPastedHTML and the toolbar handlePaste). The notification is triggered from those call sites.
How to Get There
- Open an exercise's TipTap editor.
- Paste HTML containing one or more remote
<img> tags (e.g. from https://wiki.c2.com/?TextFormattingExamples).
- Expect: a toast/notification indicates the images were removed. The pasted text content survives intact.
Out of Scope
- Changing the strip behavior. Images are still removed; only the notification is added.
- Per-image affordances (inline placeholders, retry buttons). Single per-paste toast only.
- Notifying about the Word/Office cleanup the same transformer performs — only the
<img> strip is user-visible enough to warrant notification.
Acceptance Criteria
General
Testing
References
AI usage
Used Claude (Opus 4.7) to draft this issue from the spec written during #5897's brainstorming. I reviewed each section and adjusted scope and phrasing.
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Overview
After #5897, the TipTap editor silently strips
<img>tags from pasted HTML — users have no feedback that content they thought they were pasting was removed. Add a brief, user-visible affordance (toast or inline indicator) shown when one or more images were stripped from a paste, so users understand why their pasted content looks different from the source.Complexity: Low
Target branch: unstable
Context
#5897 was a hotfix; adding a user-visible string wasn't possible without going through the string-freeze process. This issue captures the affordance for
unstable.The Change
When
transformPastedHTMLstrips one or more<img>tags from a paste, surface a brief notification — single toast per paste batch, not per image. Text along the lines of "N image(s) were removed from your paste." Use Studio's existing notification component.The transformer needs to surface a count to its callers (both
editorProps.transformPastedHTMLand the toolbarhandlePaste). The notification is triggered from those call sites.How to Get There
<img>tags (e.g. from https://wiki.c2.com/?TextFormattingExamples).Out of Scope
<img>strip is user-visible enough to warrant notification.Acceptance Criteria
General
transformPastedHTMLsurfaces a count of stripped<img>tags to its callers.{html, strippedImgCount}plus update both call sites, or write the count to a transient storage slot the caller reads.editorProps.transformPastedHTMLinuseEditor.js) triggers a toast when count > 0.handlePasteinuseToolbarActions.js) triggers the same toast when count > 0.{count, plural, ...}).KSnackbarfrom kolibri-design-system or whatever the editor surrounding chrome currently uses).Testing
transformPastedHTMLreturns/surfaces count = N when input has N<img>tags.References
AI usage
Used Claude (Opus 4.7) to draft this issue from the spec written during #5897's brainstorming. I reviewed each section and adjusted scope and phrasing.