nextcloud / nextcloud/server

[Bug]: All search fields for sharing in Nextcloud applications should not be accent-sensitive (for greater flexibility when searching)

Open
#56,819 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 31-feedback enhancement feature: search feature: sharing feature: users and groups
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
Bug description

I have conducted several user search tests for the purpose of sharing, and I have noticed that accents are not always taken into account in the share search field.

Sometimes accents are taken into account, and sometimes they are ignored (insensitive).

When I noticed this, I realized that, particularly in French, where many first names and last names have accents, sensitivity to accents reduces the ease of user search.

I suggest that the share search field everywhere in Nextcloud (at least those in apps developed by Nextcloud) be insensitive to accents: this makes searching easier and more fluid, and takes into account that we do not always know if there is an accent on certain letters in last names (and even first names, whose spelling varies slightly depending on trends and generations).

My tests (other tests may also be performed in some other apps, but this is a good starting point.) :

  • Files: not accent sensitive
  • Calendar: accent sensitive
  • Forms: accent sensitive
  • Deck: accent sensitive
  • Contacts: accent sensitive for sharing address books
  • Contacts: accent sensitive for adding a contact to a group
  • Contacts: not accent sensitive for adding a contact to a team
Steps to reproduce
  1. Go to mentioned Nextcloud apps and search for users in the share field
  2. Notice that the behavior is not the same, across all apps (first problem)
  3. Notice that an accent sensitive field is too restrictive (second problem)
Expected behavior

IMO :

  • all share fields must have the same behavior
  • all share fields must not be accent sensitive (to give more flexibility)
Nextcloud Server version

31

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

Updated from a MINOR version (ex. 32.0.1 to 32.0.2)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        ""
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "31.0.11.2",
    "overwrite.cli.url": "https:\/\/",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "updater.release.channel": "beta",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "log_type": "file",
    "logfile": "\/var\/log\/nextcloud\/\/nextcloud.log",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "password": "***REMOVED SENSITIVE VALUE***",
        "port": 6379,
        "dbindex": 3,
        "timeout": 0
    },
    "skeletondirectory": "\/data\/nextcloud\/skeletondirectory",
    "logtimezone": "Europe\/Paris",
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "ssl",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "PLAIN",
    "default_language": "fr",
    "default_locale": "fr_FR",
    "default_phone_region": "FR",
    "defaultapp": "files",
    "trashbin_retention_obligation": "20,40",
    "versions_retention_obligation": "auto,40",
    "check_for_working_wellknown_setup": false,
    "quota_include_external_storage": false,
    "cron_log": true,
    "has_internet_connection": true,
    "updatechecker": true,
    "appstoreenabled": true,
    "filelocking.enabled": true,
    "session_keepalive": true,
    "knowledgebaseenabled": true,
    "allow_user_to_change_display_name": true,
    "enable_previews": true,
    "enable_avatars": true,
    "auth.bruteforce.protection.enabled": true,
    "loglevel": 2,
    "log_rotate_size": 104857600,
    "mail_smtpauth": 1,
    "mail_smtpport": 465,
    "session_lifetime": 86400,
    "remember_login_cookie_lifetime": 1296000,
    "preview_max_filesize_image": 50,
    "activity_expire_days": 120,
    "maintenance_window_start": 1,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "app_install_overwrite": {
        "0": "admin_audit",
        "1": "user_ldap",
        "2": "mailnotifier",
        "3": "onlyoffice",
        "5": "music",
        "6": "customproperties",
        "7": "webhooks",
        "9": "office_switcher",
        "10": "upload_terms"
    },
    "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
    "maintenance": false,
    "twofactor_enforced": "true",
    "twofactor_enforced_groups": [
        "guest_app",
        "SPACE-U-17"
    ],
    "twofactor_enforced_excluded_groups": [],
    "groupfolders.quota.default": "20000000",
    "forbidden_filename_basenames": [
        "con",
        "prn",
        "aux",
        "nul",
        "com0",
        "com1",
        "com2",
        "com3",
        "com4",
        "com5",
        "com6",
        "com7",
        "com8",
        "com9",
        "com\u00b9",
        "com\u00b2",
        "com\u00b3",
        "lpt0",
        "lpt1",
        "lpt2",
        "lpt3",
        "lpt4",
        "lpt5",
        "lpt6",
        "lpt7",
        "lpt8",
        "lpt9",
        "lpt\u00b9",
        "lpt\u00b2",
        "lpt\u00b3"
    ],
    "forbidden_filename_characters": [
        "<",
        ">",
        ":",
        "\"",
        "|",
        "?",
        "*",
        "\\",
        "\/"
    ],
    "forbidden_filename_extensions": [
        " ",
        ".",
        ".filepart",
        ".part"
    ],
    "trusted_proxies": "***REMOVED SENSITIVE VALUE***"
}
List of activated Apps
Enabled:
 - activity: 4.0.0
 - admin_audit: 1.21.0
 - announcementbanner: 1.0.1
 - announcementcenter: 7.2.2
 - app_api: 5.0.2
 - approval: 2.6.0
 - approve_links: 1.3.0
 - assistant: 2.9.0
 - bbb: 2.8.0
 - bruteforcesettings: 4.0.0
 - calendar: 5.5.9
 - call_summary_bot: 3.1.0
 - circles: 31.0.0
 - collectives: 3.3.0
 - comments: 1.21.0
 - contacts: 7.3.7
 - contactsinteraction: 1.12.1
 - context_chat: 4.5.0
 - dashboard: 7.11.0
 - deck: 1.15.5
 - drawio: 3.1.2
 - end_to_end_encryption: 1.17.0
 - epubviewer: 1.8.1
 - external: 6.0.2
 - federation: 1.21.0
 - files_accesscontrol: 2.0.3
 - files_downloadlimit: 4.0.0
 - files_external: 1.23.0
 - files_lock: 31.0.3
 - files_pdfviewer: 4.0.0
 - files_reminders: 1.4.0
 - files_sharing: 1.23.2
 - files_trashbin: 1.21.0
 - files_versions: 1.24.0
 - files_zip: 2.2.0
 - firstrunwizard: 4.0.0
 - flow_notifications: 2.0.1
 - forms: 5.2.3
 - group_default_quota: 0.1.11
 - groupfolders: 19.1.10
 - guests: 4.6.0
 - impersonate: 2.0.0
 - integration_deepl: 2.0.0
 - integration_excalidraw: 3.0.0
 - integration_openai: 3.9.1
 - integration_openproject: 2.10.1
 - integration_replicate: 4.2.0
 - intros: 1.2.1
 - introvox: 1.0.2
 - libresign: 11.6.0
 - logreader: 4.0.0
 - mail: 5.6.0
 - nextcloud_announcements: 3.0.0
 - notes: 4.12.4
 - notifications: 4.0.0
 - notify_push: 1.2.1
 - occweb: 0.2.3
 - ocs_api_viewer: 1.0.11
 - office_switcher: 0.1.1
 - onlyoffice: 9.11.0
 - openincryptpad: 0.4.2
 - ownershiptransfer: 1.3.0
 - password_policy: 3.0.0
 - photos: 4.0.0
 - polls: 8.5.0
 - privacy: 3.0.0
 - recommendations: 4.0.0
 - related_resources: 2.0.0
 - richdocuments: 8.7.6
 - secrets: 2.1.4
 - serverinfo: 3.0.0
 - sharebymail: 1.21.0
 - sharereview: 2.0.0
 - spreed: 21.1.5
 - support: 3.0.0
 - systemtags: 1.21.1
 - tables: 1.0.1
 - tasks: 0.17.1
 - terms_of_service: 4.7.0-rc.1
 - text: 5.0.2
 - text_templates: 1.2.1
 - twofactor_email: 2.8.2
 - twofactor_totp: 13.0.0-dev.0
 - updatenotification: 1.21.0
 - user_ldap: 1.22.0
 - user_oidc: 8.1.0
 - user_status: 1.11.0
 - users_picker: 1.2.1
 - weather_status: 1.11.0
 - webhook_listeners: 1.2.0
 - whiteboard: 1.4.1
 - workflow_script: 2.0.0
 - workspace: 4.1.1-rc3
 - xwiki: 1.0.0
Disabled:
 - encryption: 2.19.0
 - mailnotifier: 0.0.3
 - music: 2.2.0
 - side_menu: 5.1.3
 - survey_client: 3.0.0
 - suspicious_login
 - theming_customcss: 1.19.0
 - twofactor_nextcloud_notification: 5.0.0
 - twofactor_webauthn: 2.4.1
 - upload_terms: 1.0.0
 - webhooks: 0.4.3
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
Can be provided if necessary
Additional info

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the accent-sensitive and accent-insensitive sharing searches listed for Files, Calendar, Forms, Deck, and Contacts, then compare their implementations across the affected applications. Done means the share search fields have consistent accent-insensitive behavior across the reported cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, search
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.