[MGNLDAM-980] Image with non ASCII characters in its name is not usable in pages app Created: 10/Aug/21  Updated: 18/Oct/21  Resolved: 10/Aug/21

Status: Closed
Project: Magnolia DAM Module
Component/s: DAM App
Affects Version/s: 3.0.9
Fix Version/s: 3.0.10

Type: Bug Priority: Neutral
Reporter: Michael Duerig Assignee: Michael Duerig
Resolution: Fixed Votes: 0
Labels: artt, maintenance
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
relation
is related to MAGNOLIA-8142 Non ASCII characters in URIs interfer... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[X]* Doc/release notes changes? Comment present?
[X]* Downstream builds green?
[X]* Solution information and context easily available?
[X]* Tests
[X]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[X]* Steps to reproduce, expected, and actual results filled
[X]* Affected version filled

 Description   

Steps to reproduce

  1. Enable UTF-8 support by setting magnolia.utf8.enabled = true in magnolia.properties.
  2. Upload an image containing an Umlaut (e.g. ä) in its name to assets. Make sure the Umlaut is non normalised. E.g. ä is encoded as \x61\xCC\x88. (see also info.magnolia.cms.util.UnicodeNormalizer).
  3.  Add the uploaded image to an image component in the pages app.

Expected results

The image displays in the image component.

Actual results

The image is not shown in the image component and a javax.jcr.PathNotFoundException  logged.

Development notes

Magnolia normalises URIs to NFC form internally. The assets app however accepts non NFC forms for asset names, which makes such assets inaccessible. (See info.magnolia.cms.filters.UnicodeNormalizationFilter).

Environment

I was able to reproduce this on OSX with Firefox. Other environments might behave differently depending on how file upload deals with encoding of the filename.


Generated at Mon Feb 12 05:05:11 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.