nextcloud / nextcloud/server

[Bug]: User group dropdown limited to only 25 groups

Open
#52,773 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 30-feedback enhancement 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

Whenever I try to add a user to a group on the accounts overview page, the output of the dropdown is limited to 25 groups. This is very annoying if you happen to have more than 25 groups that start with the same letters. This seems to have been limited in the request that the frontend sends to the backend (&limit=25). As this seems to be hardcoded, I'm opening a bug report.

Steps to reproduce
  1. Log in to Nextcloud as an admin
  2. Head over to 'Accounts' in the top right corner
  3. Go to any of the shown users and press 'Edit' (Pencil icon)
  4. Go to the 'Groups' dropdown, click on the dropdown and start searching for a group.
Expected behavior

As soon as you start typing, the frontend will send a request with your input to the backend. The request url looks like this:
https://my.nextcloud.instance/ocs/v2.php/cloud/groups/details?search=EXAMPLE&offset=0&limit=25
As you can see, limit=25 gets added as a parameter to the end of the request to the backend.

Nextcloud Server version

30

Operating system

RHEL/CentOS

PHP engine version

PHP 8.2

Web server

Apache (supported)

Database engine version

MariaDB

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

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report
{
    "system": {
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.10.1",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": 3306,
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "default_language": "de",
        "default_locale": "de_CH",
        "default_phone_region": "CH",
        "enable_previews": false,
        "knowledgebaseenabled": false,
        "loglevel": 2,
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauth": true,
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": 587,
        "mail_smtpsecure": "tls",
        "maintenance_window_start": "5",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "overwriteprotocol": "https",
        "overwritewebroot": "\/",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 1111
        },
        "skeletondirectory": "***REMOVED SENSITIVE VALUE***",
        "trashbin_retention_obligation": "90,91",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "updater.release.channel": "daily",
        "updater.server.url": "***REMOVED SENSITIVE VALUE***",
        "versions_retention_obligation": "auto",
        "maintenance": false,
        "enabledPreviewProviders": [
            "OC\\Preview\\BMP",
            "OC\\Preview\\GIF",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\PNG",
            "OC\\Preview\\XBitmap"
        ],
        "forbidden_filenames": [
            ".htaccess",
            ".DS_Store",
            "._.DS_Store"
        ]
    }
}
List of activated Apps
Enabled:
  - activity: 3.0.0
  - admin_audit: 1.20.0
  - app_api: 4.0.6
  - audioplayer: 3.4.1
  - bruteforcesettings: 3.0.0
  - circles: 30.0.0
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contacts: 7.0.6
  - contactsinteraction: 1.11.0
  - dav: 1.31.1
  - external: 5.5.2
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_accesscontrol: 1.20.1
  - files_downloadlimit: 3.0.0
  - files_linkeditor: 1.1.22
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - groupfolders: 18.1.2
  - impersonate: 1.17.1
  - login_notes: 1.6.1
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - onlyoffice: 9.8.0
  - password_policy: 2.0.0
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - quota_warning: 1.21.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - terms_of_service: 4.4.0
  - text: 4.1.0
  - theming: 2.6.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - twofactor_webauthn: 2.1.0
  - updatenotification: 1.20.0
  - viewer: 3.0.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Disabled:
  - dashboard: 7.10.0 (installed 7.9.0)
  - encryption: 2.18.0
  - files_external: 1.22.0
  - firstrunwizard: 3.0.0 (installed 2.18.0)
  - nextcloud_announcements: 2.0.0 (installed 1.18.0)
  - photos: 3.0.2 (installed 2.5.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - user_ldap: 1.21.0
  - user_status: 1.10.0 (installed 1.9.0)
  - weather_status: 1.10.0 (installed 1.9.0)
Nextcloud Signing status
No errors have been found.
Nextcloud Logs

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 tracing the Accounts page Groups dropdown request to the frontend entry point and the backend groups/details endpoint shown in the report. Verify the search and pagination behavior, then run the relevant existing tests or reproduce the request; done means matching groups are not incorrectly capped at 25.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
api, backend, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.