Uploaded image for project: 'RAML Module Builder'
  1. RAML Module Builder
  2. RMB-605

Combining characters (diacritics, umlauts) not found

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      CP: sprint 87
    • Story Points:
      1
    • Development Team:
      Core: Platform

      Description

      Accent insensitive search doesn't remove unicode combining characters.

      Go to users app and create three users with this name, or go to inventory app and create three instances with this title (use copy & paste):

      • Bar
      • Bär
      • Bär

      Expected: When entering any of the three into the search box all three are found.
      Actual: When entering the first or the second then only the first and the second are found. When entering the third only the third is found.

      The first contains a plain a.
      The second contains the character a with diaeresis, Unicode U+00E4
      The third contains a plain a followed by the combining character Combining Diaeresis, Unicode U+0308 ̈

      The second and the third form are the same after applying Unicode normalization.

      RMB uses Postgres' unaccent function.
      For Postgres versions up to 11 unaccent does not remove combining characters resulting in this bug.
      From Postgres versions 12 and later unaccent removes combining characters and we no longer have this bug (Postgres unaccent patch).

      If we don't want to wait for Postgres 12 we may fix this by removing combining characters in our f_unaccent function: general_functions.ftl

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                julianladisch Julian Ladisch
                Reporter:
                julianladisch Julian Ladisch
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases