nextcloud / nextcloud/deck

400 Error when trying to assign circle to card

Open
#7,026 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug
Dominant language
JavaScript
Stars
1.4k
Forks
354
Avg merge
1d 10h
Merged PRs (30d)
43

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Describe the bug
Trying to assign a circle to a card returns 400

To Reproduce

  1. Open any card in deck
  2. Open assignment menu and select the circle that is the owner of the Deck
  3. Press return or just click
  4. -> 400 Error

Expected behavior
As of https://github.com/nextcloud/deck/pull/1629, I believe it should be possible to assign a circle to a card.

Server details

Operating system: Debian 12

Web server: Apache2

Database: 15.1

PHP version: 8.2.28

Nextcloud version: 30.0.11

Where did you install Nextcloud from:

Logs
Nextcloud log (data/nextcloud.log)
{
  "Exception": "OCA\\\\Deck\\\\BadRequestException",
  "Message": "userId must be provided and must be not empty",
  "Code": 0,
  "Trace": [
    {
      "file": "/var/www/nc/nextcloud-30.0.11/apps/deck/lib/Validators/BaseValidator.php",
      "line": 66,
      "function": "validate",
      "class": "OCA\\\\Deck\\\\Validators\\\\BaseValidator",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/apps/deck/lib/Service/AssignmentService.php",
      "line": 91,
      "function": "check",
      "class": "OCA\\\\Deck\\\\Validators\\\\BaseValidator",
      "type": "->"
    },
    {
      "function": "__construct",
      "class": "OCA\\\\Deck\\\\Service\\\\AssignmentService",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 61,
      "function": "newInstanceArgs",
      "class": "ReflectionClass",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 106,
      "function": "buildClass",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 124,
      "function": "resolve",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/DependencyInjection/DIContainer.php",
      "line": 453,
      "function": "query",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/DependencyInjection/DIContainer.php",
      "line": 425,
      "function": "queryNoFallback",
      "class": "OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 74,
      "function": "query",
      "class": "OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer",
      "type": "->"
    },
    {
      "function": "OC\\\\AppFramework\\\\Utility\\\\{closure}",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->",
      "args": [
        "*** sensitive parameters replaced ***"
      ]
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 61,
      "function": "array_map"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 106,
      "function": "buildClass",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/Utility/SimpleContainer.php",
      "line": 124,
      "function": "resolve",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/DependencyInjection/DIContainer.php",
      "line": 453,
      "function": "query",
      "class": "OC\\\\AppFramework\\\\Utility\\\\SimpleContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/DependencyInjection/DIContainer.php",
      "line": 425,
      "function": "queryNoFallback",
      "class": "OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/AppFramework/App.php",
      "line": 140,
      "function": "query",
      "class": "OC\\\\AppFramework\\\\DependencyInjection\\\\DIContainer",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/private/Route/Router.php",
      "line": 303,
      "function": "main",
      "class": "OC\\\\AppFramework\\\\App",
      "type": "0:0:0:0:0:0:0:0"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/lib/base.php",
      "line": 1010,
      "function": "match",
      "class": "OC\\\\Route\\\\Router",
      "type": "->"
    },
    {
      "file": "/var/www/nc/nextcloud-30.0.11/index.php",
      "line": 24,
      "function": "handleRequest",
      "class": "OC",
      "type": "0:0:0:0:0:0:0:0"
    }
  ],
  "File": "/var/www/nc/nextcloud-30.0.11/apps/deck/lib/Validators/BaseValidator.php",
  "Line": 47,
  "message": "userId must be provided and must be not empty",
  "exception": {},
  "CustomMessage": "userId must be provided and must be not empty"
}
Browser log
{"userId":"REDACTED","type":7}

Response:

{"status":400,"message":"Invalid type provided for assignemnt"}

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

Reproduce assigning the Deck owner circle to a card and inspect the request containing userId and type 7. Start with apps/deck/lib/Validators/BaseValidator.php and apps/deck/lib/Service/AssignmentService.php, following the validation path shown in the trace. Done means circle assignment succeeds without a 400 response and the existing invalid-assignment validation remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 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.