File tree Expand file tree Collapse file tree 3 files changed +18
-617
lines changed
Expand file tree Collapse file tree 3 files changed +18
-617
lines changed Load Diff This file was deleted.
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -74,6 +74,23 @@ function processMultistatus(result, isDetailed = false) {
7474 const {
7575 propstat : { prop : props } ,
7676 } = item
77- return prepareFileFromProps ( props , props . id . toString ( ) , isDetailed )
77+ // Decode HTML entities
78+ const decodedProps = {
79+ ...props ,
80+ // Decode twice to handle potentially double-encoded entities
81+ // FIXME Remove this once https://github.com/nextcloud/server/issues/29306 is resolved
82+ actorDisplayName : decodeHtmlEntities ( props . actorDisplayName , 2 ) ,
83+ message : decodeHtmlEntities ( props . message , 2 ) ,
84+ }
85+ return prepareFileFromProps ( decodedProps , decodedProps . id . toString ( ) , isDetailed )
7886 } )
7987}
88+
89+ function decodeHtmlEntities ( value , passes = 1 ) {
90+ const parser = new DOMParser ( )
91+ let decoded = value
92+ for ( let i = 0 ; i < passes ; i ++ ) {
93+ decoded = parser . parseFromString ( decoded , 'text/html' ) . documentElement . textContent
94+ }
95+ return decoded
96+ }
You can’t perform that action at this time.
0 commit comments