- Apple Pages Firefox / Safari macOS 10.13 / Safari iOS11 inserts invalid character
"Soft line<?>break" - Dropbox Paper Safari iOS 11
"Soft ","line break" - Google Docs Safari iOS 11, Word Safari iOS 11
"Soft","Line break" - Apple Pages Chrome 62 macOS 10.13
"Soft line\n break" - Word Online Firefox 57, Safari 11, macOS 10.13
"Soft \nline break " - Word 2010 IE11
"Soft ","line break". - Word 2010 Chrome 62, Firefox 57 – Word 2016 Chrome 63, Firefox 57, Edge 16
"Soft \n line break". - Dropbox Paper all browsers
"Soft ","line break". - Dropbox Paper Safari 11 - contains different whitespace character than for other browsers.
- Dropbox Paper IE11
stripPastedStyles:"Soft ","","line break". - Google Docs all browsers
"Soft\nLine break". - Google Docs IE11
stripPastedStyles:"Soft","Line break"
Depth 0:
// Word 2010 / Word 2016
"· "
// Word 2010, IE11 (plain text)
"•\t"
// Dropbox Paper, IE11 (plain text)
"•"
// Word Safari iOS11
"\t"
// Image list, Word 2010 / Word 2016
"📷 "
// Image list, Word 2010, IE11 (plain text)
" \t"Depth 1:
// Word 2010 / Word 2016
"o "
// Word 2010, IE11 (plain text)
"o\t"
// Dropbox Paper / Google Docs, IE11 (plain text)
"◦"
// Word Safari iOS11
"\t"Depth 2:
// Word 2010 / Word 2016
"§ "
// Word 2010, IE11 (plain text)
"\t"
// Dropbox Paper / Google Docs, IE11 (plain text)
"◾"
// Word Safari iOS11
"\t"Depth 0:
// Word 2010 / Word 2016
"1. "
// Word 2010, IE11 (plain text)
"1.\t"
// Dropbox Paper / Google Docs, IE11 (plain text)
"1."Depth 1:
// Word 2010 / Word 2016
"a. "
// Word 2010, IE11 (plain text)
"a.\t"
// Dropbox Paper / Google Docs, IE11 (plain text)
"a."Depth 2:
// Word 2010 / Word 2016
"i. "
// Word 2010, IE11 (plain text)
"i.\t"
// Dropbox Paper / Google Docs, IE11 (plain text)
"i."Pasting from Draft.js to Draft.js
- All formatting is preserved as-is.
- Entity ranges refer to the same entities multiple times.
- Successive
unstyledblocks are concatenated into a single block. -
CODEstyle is not preserved. -
LINKentities are not preserved. - List nesting is not preserved.
- Line breaks are not preserved.
-
IMAGEentity is inserted with📷character.
Highly similar between Chrome 62 and Firefox 57.
- Title, Subtitle ->
unstyled. - Bold, Italic, Strikethrough, Underline ->
BOLD,ITALIC,STRIKETHROUGH,UNDERLINE. - Bigger, smaller, superscript, subscript, monospace ->
unstyled. - Text color, background color ->
unstyled. - Small caps -> lowercase
unstyled. - Outline ->
BOLD. - Double strikethrough ->
STRIKETHROUGH. - Emphasis ->
ITALIC. - Light emphasis, intense emphasis, quote, intense quote, light ref, intense ref, book title ->
unstyled. - Left, right, center, justify, indent ->
unstyled. - Page link ->
LINKwithhref,url. - Filter
hrefattribute onLINK. - Email link ->
LINKwithhref,url, eg.mailto:test@example.com. - Link tooltip ->
LINKwithtitleattribute. - Potentially filter out
titleattribute onLINKif unsupported. - Internal link ->
LINKwith"href": "#_Inline_styles","url": "http://localhost/#_Inline_styles". - Firefox 57 - Internal link ->
unstyled, noLINK. - Remove internal links based on
hrefstarting with#. - Frame link ->
LINKwithhref,url. - Comment ->
LINKwith"href": "#_msocom_1","http://localhost/#_msocom_1", and[T.C1]text appended after the commented content. - Comment -> also adding
unstyledblock for comment text at the end of the document, preceded with[T.C1]:"text": "[T.C1]Comment". AndLINKwith"href": "#_msoanchor_1","url": "http://localhost/#_msoanchor_1". - Remove comment
LINKbased onhrefattribute. [ ] Potentially also remove inserted text, if feasible.- Heading 1, Heading 2, Heading 3, Heading 5, Heading 6, Heading 8 -> correct
header-*level. - Heading 7, Heading 8, Heading 9 ->
unstyled. - Bullet list ->
unstyledprefixed with·(depth 0),o,§(depth 1 & 2). - Number list prefixed with
1.(depth 0),a.,i.(depth 1 & 2). - Star list ->
unstyledprefixed with📷, andIMAGEentity with"alt": "*""height": "15","width": "15","src": "file:///C:\\truncated\\msohtmlclip1\\01\\clip_image001.gif". - Remove image entities and their text when
srcusesfile:///protocol. - Unstyled with borders ->
unstyled. - Image ->
unstyledwith entity applied to "📷" camera emoji. - Image ->
IMAGEwithfile:///forsrc,widthandheight. - Image caption ->
unstyledafter image block. - Table cells as separate
unstyledblocks, eg."text": "row 1 col 1",. - Styled code ->
unstyled. - Line break ->
Soft \n line break. - Emojis preserved.
- Equation ->
IMAGEwithfile:///forsrc,widthandheight. - Shape ->
IMAGEwithfile:///forsrc,widthandheight. - SmartArt ->
IMAGEwithfile:///forsrc,widthandheight. - Chart ->
IMAGEwithfile:///forsrc,widthandheight. - WordArt ->
unstyledblock with whitespace text (multiple spaces).
- The equation content makes the browser crash on copy-paste.
- Rich paste is all in a single line
- Advise users to turn on
stripPastedStylesin their implementation with IE11 detection.
stripPastedStylescorrectly separates the content.- Small caps -> uppercase.
- Light ref, intense ref, book title -> uppercase.
- Bullet list prefixed with
•\t(depth 0),o\t,\t(depth 1 & 2). - Number list prefixed with
1.\t(depth 0),a.\t,i.\t(depth 1 & 2). - Star list prefixed with
\t(depth 0),o\t,\t(depth 1 & 2). - Table columns separated with
\t, eg."text": "row 1 col 1\trow 1 col 2",. - Investigate equation block with single tab character
"text": "\t".
- With Word 2010 document, same as Word 2010 results in Chrome 63, Firefox 57, Edge 16. Also identical in IE11, except for the equation crash.
- With Word 2016 (macOS) document, same as Word 2010 results in Chrome 63, Firefox 57, Edge 16. Also identical in IE11, except for the equation crash.
Same behavior in Firefox 57 Win 8.1 & macOS 10.13, Chrome 62 Win 8.1 & macOS 10.13, Safari 11, Edge 16 Win 10 unless specified.
- Title, Subtitle ->
unstyled. - Bold, Italic, Strikethrough, Underline ->
BOLD,ITALIC,STRIKETHROUGH,UNDERLINE. - Bigger, smaller, superscript, subscript, colored text, background text ->
unstyled. - Page link ->
LINKwithhref,url. - Page link ->
UNDERLINEapplied where link is. - Bookmark link ->
LINKwithhref,urlwith reference as URL hash, eg.#heading=h.h40mjmbsff92 - Bookmark link ->
UNDERLINEapplied where link is. - Comment ->
unstyled, no comment text - Left, right, center, justify, indent ->
unstyled. - Heading 1, Heading 2, Heading 3, Heading 5, Heading 6, Heading 8 -> correct
header-*level. - Bullet list ->
unordered-list-item - Nested bullet list ->
unordered-list-itemat correct depth. - Numbered list ->
ordered-list-item - Nested numbered list ->
ordered-list-itemat correct depth. - Star list ->
unordered-list-item - Nested star list ->
unordered-list-itemat correct depth. - Unstyled with borders ->
unstyled. - Image ->
unstyledwith entity applied to "📷" camera emoji. - Image ->
IMAGEwithsrcpointing to Google Docs (CDN,*.googleusercontent.com),height,width. - Potentially filter hotlinked
IMAGEentities? - Image wrap text ->
IMAGEwith camera emoji followed by soft line break (\n). - Safari 11, Chrome 62 - wrap text
IMAGEhasBOLDstyle applied. - Table cell -> one
unstyledblock per cell. - Horizontal line -> nothing.
- Styled code ->
unstyled. - Soft line break ->
"Soft\nLine break" - Emojis preserved
- Drawing ->
IMAGEwithsrcpointing atdocs.google.com/drawings. - Chart ->
IMAGEwithsrcpointing at*.googleusercontent.com. - Bookmark ->
unstyled.
- Rich paste is all in a single line
- Advise users to turn on
stripPastedStylesin their implementation with IE11 detection.
- Soft line break ->
"Soft","Line break"
Same behavior in Firefox 57 Win 8.1 & macOS 10.13, Chrome 62 Win 8.1 & macOS 10.13, Safari 11, Edge 16 Win 10 unless specified.
- Title ->
header-one - Bold, Italic, Strikethrough, Underline ->
BOLD,ITALIC,STRIKETHROUGH,UNDERLINE. - Code ->
unstyled - Comment ->
unstyledwith comment text added after comment position. - Page link ->
LINKwithhref,url,"rel": "noreferrer nofollow noopener",,"target": "_blank",. - Mention ->
LINKwithhref,urlpointing at user profile/ep/profile/iX86truncated. - Safari 11 - Mention link ->
unstyled, no entity - Safari 11, Firefox 57 - Mention link ->
hrefandurlare absolute path/ep/profile/iX86truncated. - Edge 16 - Mention link ->
hrefis full URL,https://paper.dropbox.com/ep/profile/iX86truncated. - Chrome 62 - Mention link ->
hrefis absolute path/ep/profile/iX86truncated,urlis full URL,"url": "http://localhost/ep/profile/iX86truncated". - Dropbox paper link ->
LINKwithhref,url. - Heading one, heading two ->
header-one,header-two - Heading three ->
unstyled - Bullet list ->
unordered-list-item - Nested bullet list ->
unordered-list-itemat correct depth. - Numbered list ->
ordered-list-item - Nested numbered list ->
ordered-list-itemat correct depth. - Action list ->
unordered-list-item - Nested action list ->
unordered-list-itemat correct depth. - Image, table, section break -> all concatenated into a single
unstyledblock. - Table cells separated by nothing.
- Section break -> nothing
- Image ->
unstyledwith entity applied to "📷" camera emoji. - Image ->
IMAGEwithsrcpointing to Dropbox Paper (CDN,https://d2mxuefqeaa7sj.cloudfront.net/). - Potentially filter hotlinked
IMAGEentities? - Code block ->
code-block, one block per line. - Code block ->
CODEstyle applied on each line. - Remove
CODEstyle incode-block? - Soft line break ->
"Soft ","line break". - Safari 11 - Soft line break contains different whitespace character than for other browsers.
- Emojis -> converted to
IMAGEwithsrcpointing to Dropbox Paper (https://paper.dropboxstatic.com/static/img/ace/emoji/),altdescribing the emoji,"height": "16". - Dropbox document link, Trello card, YouTube video, GitHub Gist -> all concatenated into a single
unstyledblock, all with URL in-text andLINKentity pointing at source.
Unsupported, warning message displayed but document still partially renders.
- Rich paste is all in a single line
- Advise users to turn on
stripPastedStylesin their implementation with IE11 detection.
- Bullet list prefixed with
•(depth 0),◦,◾(depth 1 & 2). - Number list prefixed with
1.(depth 0),a.,i.(depth 1 & 2). - Action list prefixed with empty space at all depth levels.
- Section break ->
unstyledwith"text": "--------------------------------------------------------------------------------",. - Soft line break ->
"Soft ","","line break"
- Paste is identical, plain text, in Safari and Firefox
- Bold, italic ->
BOLD,ITALIC - Strikethrough, monospace, underline, outline, bigger, smaller, superscript, subscript ->
unstyled. - Small caps -> lowercase
unstyled. - Red, text background, shadow ->
unstyled - Emphasis ->
BOLD. - Page link ->
LINKwithhref,url. - Filter
hrefattribute onLINK. - Email link ->
LINKwithhref,url, eg.mailto:test@example.com?subject=subject. [ ] Allows setting mail subject. Keep or discard?- Bookmark link ->
unstyled. - Comment ->
unstyled. - Bold + link + comment ->
linkonly. - Title, Heading 1, Heading 2 ->
unstyledwithBOLD. - Heading 3 ->
unstyled - Bullet list ->
unordered-list-item - Nested bullet list -> empty
unstyledat current depth, thenunordered-list-itemat correct depth. - Numbered list ->
ordered-list-item - Nested numbered list -> empty
unstyledat current depth, thenordered-list-itemat correct depth. - Dashed list ->
unordered-list-item - Nested dashed list -> empty
unstyledat current depth, thenunordered-list-itemat correct depth. - Image list ->
unordered-list-item - Nested image list -> empty
unstyledat current depth, thenunordered-list-itemat correct depth. - Remove non-list blocks with depth not
0. - Image -> nothing
- Table ->
unstyledblock per cell, separated by single-spaceunstyledblocks. - Line -> nothing
- Styled code ->
BOLDwhere syntax highlighting matched bold. - Soft line break has invalid character
"Soft line<?>break" [ ] Remove invalid soft line break character inserted by Apple Pages.- Emojis preserved
- MathML equation -> nothing
- LaTeX equation -> formula as
unstyled. - Chart, Shape, Audio media, Video media -> nothing
- Highlight ->
unstyled
Same behavior in Chrome 62, Safari 11, Firefox 57, Edge 16. Win 8.1, Win 10, macOS 10.13.
- All block text ends with one empty space (" ").
- Title, Subtitle ->
unstyled. - Bold, Italic, Strikethrough, Underline ->
BOLD,ITALIC,STRIKETHROUGH,UNDERLINE. - Bigger, smaller, superscript, subscript ->
unstyled. - Text color, background color ->
unstyled. - Intense emphasis, quote, intense quote, subtle reference ->
ITALIC. - Intense reference, book title ->
BOLD. - Page link ->
LINKwithhref,url,rel="noreferrer",target="_blank". - Page link ->
UNDERLINEapplied where link is. - Filter
hrefattribute onLINK. - Filter
relattribute onLINK. - Filter
targetattribute onLINK. - Comment ->
unstyled. - Left, right, center, justify, indent, hanging, first line ->
unstyled. - Heading 1, Heading 2, Heading 3, Heading 5, Heading 6, Heading 8 ->
unstyled. - Heading 4, Heading 7, Heading 9 ->
unstyledwithITALIC - Bullet list ->
unordered-list-item - Nested bullet list -> non-nested
unordered-list-item. - Numbered list ->
ordered-list-item - Nested numbered list -> non-nested
ordered-list-item. - Checkbox list ->
unordered-list-item - Nested checkbox list -> non-nested
unordered-list-item. - Image ->
unstyledwith entity applied to "📷" camera emoji. - Image ->
IMAGEwith data URIsrc, andaltif present. - Filter
IMAGEentities using data URIs. - Image with text next to it ->
unstyledwith entity applied to "📷" and text in the same block. - Make sure blocks with image and more text are either split, or image is removed.
- Styled code ->
unstyled. - Emojis -> preserved but with
BOLDapplied. - Inline styles (
ITALIC,BOLD) are split differently (and may be contiguous) between browsers.
Unsupported, document does not open.
- Paste is plain text only.
- Emojis preserved
- Bullet list prefixed with
\t, eg."text": "\tBullet list",(regardless of depth). - Numbered list prefixed with
\t, eg."text": "\tNumber list",(regardless of depth). - Table columns separated with
\t, eg."text": "row 1 col 1\trow 1 col 2",.