Skip to content

[stable35] fix(workspace): replace XML-invalid characters in rich workspace content - #9592

Open
mejo- wants to merge 1 commit into
backport/9581/stable35from
backport/9590/stable35
Open

mejo- wants to merge 1 commit into
backport/9581/stable35from
backport/9590/stable35

Conversation

@mejo-

@mejo- mejo- commented Nov 11, 2026

Copy link
Copy Markdown
Member

Manual backport of #9590

The rich-workspace DAV properties embed the folder's Readme.md content in the multistatus response as is. Control characters, U+FFFE/U+FFFF or invalid UTF-8 (e.g. a Readme.md left behind encrypted after disabling server-side encryption) make the whole response malformed, so strict clients like the iOS app fail to show the folder listing. NUL bytes also silently truncate the property value.

Decode the content to UTF-8 the same way the editor does and replace characters that cannot be represented in XML 1.0 with U+FFFD.

Fixes: #9511

Assisted-by: ClaudeCode:claude-opus-5-5

🏁 Checklist

  • Code is properly formatted (npm run lint / npm run stylelint / composer run cs:check)
  • Sign-off message is added to all commits
  • Tests (unit, integration and/or end-to-end) passing and the changes are covered with tests

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI tools
  • The AI-generated content was reviewed, comprehended and tested by a human

The rich-workspace DAV properties embed the folder's Readme.md content
in the multistatus response as is. Control characters, U+FFFE/U+FFFF or
invalid UTF-8 (e.g. a Readme.md left behind encrypted after disabling
server-side encryption) make the whole response malformed, so strict
clients like the iOS app fail to show the folder listing. NUL bytes also
silently truncate the property value.

Decode the content to UTF-8 the same way the editor does and replace
characters that cannot be represented in XML 1.0 with U+FFFD.

Fixes: #9511

Signed-off-by: Jonas <jonas@freesources.org>
Assisted-by: ClaudeCode:claude-opus-5-5
@mejo- mejo- self-assigned this Nov 11, 2026
@mejo- mejo- added bug Something isn't working 3. to review labels Nov 11, 2026
@github-project-automation github-project-automation Bot moved this to 🧭 Planning evaluation (don't pick) in 📝 Productivity team Nov 11, 2026
@mejo- mejo- moved this from 🧭 Planning evaluation (don't pick) to 👀 In review in 📝 Productivity team Nov 11, 2026
@mejo- mejo- changed the title fix(workspace): replace XML-invalid characters in rich workspace content [stable35] fix(workspace): replace XML-invalid characters in rich workspace content Nov 11, 2026

@max-nextcloud max-nextcloud left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compared to the original PR. Makes sense to me.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review bug Something isn't working

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

2 participants