nextcloud / nextcloud/deck

All cards have adding attachments disabled

Open
#8,397 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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
In the menu / navigation of card details view, the button for adding attachments is grayed out.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a deck
  2. Click on a card
  3. Make sure you are on "Details" view
  4. Look at the attachment button
  5. See it is grayed.
  6. Hover of it and see an error message like: "Attachments cannot be created or uploaded, as this file has been shared from another cloud." (my translation from "anhänge können nicht erstellt oder hochgeladen werden, da diese datei aus einer anderen cloud freigegeben wurde")

Expected behavior
Button should be active and attachments should be addable

Screenshots

Image

Client details:

  • OS: Windows 11
  • Browser Microsoft Edge
  • Version 153.0.4234.32 (Offizielles Build) (64-Bit)
  • Device: Desktp
Server details

Operating system: Debian Linux

Web server: Apache

Database: MariaDB

PHP version: 8.4

Nextcloud version: 34.0.4

Where did you install Nextcloud from: Ages ago from Owncloud

Signing status:

No errors have been found.

List of activated apps:

  • Activity
  • AppAPI
  • Auditing / Logging
  • Brute-force settings
  • Calendar
  • Collaborative tags
  • Collectives
  • Comments
  • Contacts
  • Contacts Interaction
  • Dashboard
  • Deck
  • Deleted files
  • Diagramming
  • External storage support
  • Federation
  • File reminders
  • File sharing
  • Files download limit
  • First run wizard
  • Forms
  • GPodder Sync
  • GeoBlocker
  • Log Reader
  • Memories
  • Monitoring
  • NextPod
  • Nextcloud Office (Collabora)
  • Nextcloud Webhook Support
  • Nextcloud announcements
  • Notifications
  • Office
  • PDF viewer
  • Paperless
  • Password policy
  • Photos
  • Preview Generator
  • Privacy
  • Recommendations
  • Related Resources
  • Share by mail
  • Support
  • Talk
  • Tasks
  • Teams
  • Text
  • Two-Factor Authentication via Nextcloud notification
  • Two-Factor TOTP Provider
  • Update notification
  • Usage survey
  • User status
  • Versions
  • Weather status

Nextcloud configuration:
I can add later if needed.

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

Logs
Nextcloud log (data/nextcloud.log)

Can add later if needed

Browser log

Viewer.js:89 [ERROR] viewer: Could not register handler {app: 'viewer', uid: 'xxx', level: 2, error: 'The handler is already registered', handler: {…}}
ConsoleLogger.log @ index.mjs:47
ConsoleLogger.error @ index.mjs:65
registerHandler @ Viewer.js:89
(anonymous) @ Viewer.vue:526
(anonymous) @ Viewer.vue:525
content.js:2 [Violation] Permissions policy violation: unload is not allowed in this document.
(anonymous) @ content.js:2
Bo @ content.js:2
Do @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
Mo @ content.js:2
(anonymous) @ content.js:2
qo @ content.js:2
(anonymous) @ content.js:2
Ii @ content.js:2
e.initialize @ content.js:2
n @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
Ai @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
initialize @ content.js:2
Q @ content.js:2
e. @ content.js:2
(anonymous) @ content.js:2
e. @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
Ii @ content.js:2
e.initialize @ content.js:2
n @ content.js:2
t.initialize @ content.js:2
As @ content.js:2
t @ content.js:2
e @ content.js:2
W @ content.js:2
V @ content.js:2
(anonymous) @ content.js:2
Y @ content.js:2
(anonymous) @ content.js:2
ee @ content.js:2
te @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
V @ content.js:2
(anonymous) @ content.js:2
Y @ content.js:2
(anonymous) @ content.js:2
ee @ content.js:2
te @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
e._get @ content.js:2
e._getButThrowIfAsync @ content.js:2
e.get @ content.js:2
get @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
Ca @ content.js:2
a @ content.js:2
Promise.then
Ca @ content.js:2
a @ content.js:2
(anonymous) @ content.js:2
Oa @ content.js:2
Oa @ content.js:2
Sa @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
_a @ content.js:2
i @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
o @ content.js:2
(anonymous) @ content.js:2
o @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
content.js:2 [Violation] Permissions policy violation: unload is not allowed in this document.
(anonymous) @ content.js:2
Bo @ content.js:2
Do @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
Mo @ content.js:2
(anonymous) @ content.js:2
qo @ content.js:2
(anonymous) @ content.js:2
Ii @ content.js:2
e.initialize @ content.js:2
n @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
Ai @ content.js:2
(anonymous) @ content.js:2
nn @ content.js:2
initialize @ content.js:2
Q @ content.js:2
e. @ content.js:2
(anonymous) @ content.js:2
e. @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
Ii @ content.js:2
e.initialize @ content.js:2
n @ content.js:2
t.initialize @ content.js:2
As @ content.js:2
t @ content.js:2
e @ content.js:2
W @ content.js:2
V @ content.js:2
(anonymous) @ content.js:2
Y @ content.js:2
(anonymous) @ content.js:2
ee @ content.js:2
te @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
V @ content.js:2
(anonymous) @ content.js:2
Y @ content.js:2
(anonymous) @ content.js:2
ee @ content.js:2
te @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
e._get @ content.js:2
e._getButThrowIfAsync @ content.js:2
e.get @ content.js:2
get @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
Ca @ content.js:2
a @ content.js:2
Promise.then
Ca @ content.js:2
a @ content.js:2
(anonymous) @ content.js:2
Oa @ content.js:2
Oa @ content.js:2
Sa @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
_a @ content.js:2
i @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
o @ content.js:2
(anonymous) @ content.js:2
o @ content.js:2
(anonymous) @ content.js:2
(anonymous) @ content.js:2
main.js:43 TypeError: Cannot read properties of undefined (reading 'id')
at o.currentCard (CardSidebar.vue:208:1)
at un (vue.runtime.esm.js:3033:30)
at e.run (vue.runtime.esm.js:3550:21)
at ra (vue.runtime.esm.js:4141:17)
at Array. (vue.runtime.esm.js:3159:20)
at An (vue.runtime.esm.js:3081:16)
(anonymous) @ main.js:43
globalHandleError @ vue.runtime.esm.js:3047
handleError @ vue.runtime.esm.js:3024
invokeWithErrorHandling @ vue.runtime.esm.js:3040
(anonymous) @ vue.runtime.esm.js:3550
flushSchedulerQueue @ vue.runtime.esm.js:4141
(anonymous) @ vue.runtime.esm.js:3159
flushCallbacks @ vue.runtime.esm.js:3081
Promise.then
(anonymous) @ vue.runtime.esm.js:3106
nextTick @ vue.runtime.esm.js:3171
queueWatcher @ vue.runtime.esm.js:4227
(anonymous) @ vue.runtime.esm.js:3529
(anonymous) @ vue.runtime.esm.js:732
(anonymous) @ vue.runtime.esm.js:800
addStack @ stack.js:35
(anonymous) @ vuex.esm.js:844
(anonymous) @ vuex.esm.js:466
(anonymous) @ vuex.esm.js:465
(anonymous) @ vuex.esm.js:624
(anonymous) @ vuex.esm.js:464
(anonymous) @ vuex.esm.js:409
loadStacks @ stack.js:81
await in loadStacks
(anonymous) @ vuex.esm.js:851
(anonymous) @ vuex.esm.js:516
(anonymous) @ vuex.esm.js:406
fetchData @ Board.vue:187
await in fetchData
created @ Board.vue:174
invokeWithErrorHandling @ vue.runtime.esm.js:3033
callHook$1 @ vue.runtime.esm.js:4048
(anonymous) @ vue.runtime.esm.js:5716
(anonymous) @ vue.runtime.esm.js:5849
(anonymous) @ vue.runtime.esm.js:4564
init @ vue.runtime.esm.js:4426
(anonymous) @ vue.runtime.esm.js:4581
(anonymous) @ vue.runtime.esm.js:6591
createElm @ vue.runtime.esm.js:6545
createChildren @ vue.runtime.esm.js:6664
createElm @ vue.runtime.esm.js:6568
(anonymous) @ vue.runtime.esm.js:7095
(anonymous) @ vue.runtime.esm.js:3781
(anonymous) @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
Watcher @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
init @ vue.runtime.esm.js:4427
(anonymous) @ vue.runtime.esm.js:6591
createElm @ vue.runtime.esm.js:6545
createChildren @ vue.runtime.esm.js:6664
createElm @ vue.runtime.esm.js:6568
(anonymous) @ vue.runtime.esm.js:7095
(anonymous) @ vue.runtime.esm.js:3781
(anonymous) @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
Watcher @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
init @ vue.runtime.esm.js:4427
(anonymous) @ vue.runtime.esm.js:6591
createElm @ vue.runtime.esm.js:6545
(anonymous) @ vue.runtime.esm.js:7095
(anonymous) @ vue.runtime.esm.js:3781
(anonymous) @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
Watcher @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
init @ vue.runtime.esm.js:4427
(anonymous) @ vue.runtime.esm.js:6591
createElm @ vue.runtime.esm.js:6545
createKeyToOldIdx @ vue.runtime.esm.js:7133
(anonymous) @ vue.runtime.esm.js:3781
(anonymous) @ vue.runtime.esm.js:3891
(anonymous) @ vue.runtime.esm.js:3462
Watcher @ vue.runtime.esm.js:3452
(anonymous) @ vue.runtime.esm.js:3908
(anonymous) @ vue.runtime.esm.js:8797
(anonymous) @ vue.runtime.esm.js:5724
Vue @ vue.runtime.esm.js:5785
(anonymous) @ main.js:50
(anonymous) @ deck-main.js?v=6fe330d9-4:2
(anonymous) @ deck-main.js?v=6fe330d9-4:2

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 the issue by opening a deck card in Details view and checking the attachment control. Start with CardSidebar.vue around line 208, where currentCard reads an undefined id, and trace the card-loading path from Board.vue around line 187. Done means the attachment button is enabled and attachments can be added without the reported error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.