Skip to content

[stable33] fix(files): normalize Unicode in node paths - #65564

Merged
mejo- merged 1 commit into
stable33from
backport/65514/stable33
Oct 15, 2026
Merged

mejo- merged 1 commit into
stable33from
backport/65514/stable33

Conversation

@backportbot

@backportbot backportbot Bot commented Oct 15, 2026

Copy link
Copy Markdown

Backport of PR #65514

Filesystem::normalizePath() converts paths to Unicode NFC, so the
filecache and storage always use NFC names. The Node API uses
PathHelper::normalizePath() instead, which didn't normalize Unicode.
Nodes returned by Folder::newFile(), Folder::newFolder(), Node::copy()
and Node::move() therefore kept the name exactly as passed in.

Files uploaded from macOS in Chrome or Firefox have NFD names. Apps that
return $node->getName() after creating such a file sent back an NFD name
for a file that is stored as NFC. Other clients then couldn't match the
name against file listings, which broke attachments in Collectives and
Text.

Normalize to NFC in PathHelper::normalizePath(), like
Filesystem::normalizePath() does. Hooks and events emitted by the Node
API now get NFC paths as well.

Refs: nextcloud/collectives#2327
Refs: nextcloud/text#7873

Signed-off-by: Jonas <jonas@freesources.org>
Assisted-by: ClaudeCode:claude-opus-5-5
@backportbot
backportbot Bot requested a review from a team as a code owner October 15, 2026 16:39
@backportbot
backportbot Bot requested review from Altahrim, CarlSchwan, icewind1991, mejo-, provokateurin, salmart-dev and skjnldsv and removed request for a team October 15, 2026 16:39
@backportbot backportbot Bot added this to the Nextcloud 33.0.11 milestone Oct 15, 2026
@mejo-
mejo- merged commit d84b4e2 into stable33 Oct 15, 2026
241 of 246 checks passed
@mejo-
mejo- deleted the backport/65514/stable33 branch October 15, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants