nextcloud / nextcloud/deck

Attachments: extendedData is an Array in some Cases

Open
#2,141 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug feature: api feature: attachments
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
We have a user experiencing a bug, where the server returns the extendedData of an attachment as an array instead of an object:

{
  "title": "Melanie Webseite",
  "description": "http://someDomain.ch",
  "stackId": 6,
  "type": "plain",
  "lastModified": 1583477447,
  "lastEditor": "timo",
  "createdAt": 1583441985,
  "labels": [],
  "assignedUsers": [],
  "attachments": [
    {
      "cardId": 162,
      "type": "deck_file",
      "data": "someDomain-Einladung-feriegeburtstagswuche.jpeg",
      "lastModified": 1583442122,
      "createdAt": 1583442122,
      "createdBy": "timo",
      "deletedAt": 0,
      "extendedData": [/*THIS_ONE*/],
      "id": 13
    }
  ],
  "attachmentCount": 1,
  "owner": {
    "primaryKey": "timo",
    "uid": "timo",
    "displayname": "Timo SomeSurname",
    "type": 0
  },
  "order": 999,
  "archived": false,
  "duedate": null,
  "deletedAt": 0,
  "commentsUnread": 0,
  "id": 162,
  "overdue": 0
}

To Reproduce
Steps to reproduce the behavior:

  1. Sync via Android App with unknown constellation (sorry for that!)

this happened after an NC upgrade from 18 to 19

Expected behavior
extendedData always to be an object

Client details:
(quite irrelevant -> REST!)

Server details

Operating system:

Web server:

Database:

PHP version:

Nextcloud version: (see Nextcloud admin page)
upgraded 18 -> 19

Where did you install Nextcloud from:

Signing status:

Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder

Nextcloud configuration:

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder

or

Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Logs
Nextcloud log (data/nextcloud.log)
Insert your Nextcloud log here
Browser log
Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log
c) ...

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

No source file or test is identified. Start by reproducing the REST response after an Android sync and trace the attachment serialization path responsible for extendedData. Done means the API consistently returns extendedData as an object, with a regression test covering the affected response.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.