Unable to remove tags from cards after moving to new board
Creating a card on board 1 and adding a tag Move card to board 2 Attempts to delete tag fail. Tag will not be removed unless moved back to board 1
I'm unable to reproduce this. What versions of Server and the Deck app?
What appears in the browser console when attempting this? What appears in the server log?
Nextcloud Hub 10 (31.0.4) Snap installed Deck 1.15.1 No Errors in log
OBS output of issue: https://youtu.be/OMFFG6LBRRU
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 Cannot deselect tags if the tags where entered from a different board. if move that card to the orginating board you can then remove those tags.
To Reproduce Steps to reproduce the behavior:
- Go to 'board 1 create a card add a few tags'
- click on move card and move it to board 2'
- Go to board 2 open card and you cannot remove the tags entred from board 1
- you can move the card back to board 1 to remove old tags then move it back to board 2 but this is a obvious bug.
Expected behavior Should just be able to remove tags even if it was moved to board 2
Client details:
- OS: Ubuntu 21.04
- Browser [e.g. chrome, safari] Firefox
- Version [e.g. 22] 138.0b9 snap
- Device: [e.g. iPhone6, desktop] Desktop
Server details
Operating system: Ubuntu 21.04
**Nextcloud version:**Nextcloud Hub 10 (31.0.4) Snap installed
Where did you install Nextcloud from: Snap
Signing status:
No errors have been found.
List of activated apps:
Enabled:
- activity: 4.0.0
- admin_audit: 1.21.0
- announcementcenter: 7.1.2
- bruteforcesettings: 4.0.0
- calendar: 5.2.2
- cloud_federation_api: 1.14.0
- comments: 1.21.0
- contacts: 7.0.6
- contactsinteraction: 1.12.0
- dashboard: 7.11.0
- dav: 1.33.0
- deck: 1.15.1
- encryption: 2.19.0
- external: 6.0.2
- federatedfilesharing: 1.21.0
- federation: 1.21.0
- files: 2.3.1
- files_downloadlimit: 4.0.0
- files_external: 1.23.0
- files_pdfviewer: 4.0.0
- files_reminders: 1.4.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- firstrunwizard: 4.0.0
- forms: 5.1.0
- groupfolders: 19.0.4
- guests: 4.2.0
- integration_giphy: 2.0.1
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- mail: 5.0.3
- metadata: 0.22.0
- nextcloud_announcements: 3.0.0
- notes: 4.12.0
- notifications: 4.0.0
- oauth2: 1.19.1
- password_policy: 3.0.0
- passwords: 2025.4.20
- photos: 4.0.0-dev.1
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- quota_warning: 1.21.0
- recommendations: 4.0.0
- related_resources: 2.0.0
- richdocuments: 8.6.4
- richdocumentscode: 24.4.1303
- serverinfo: 3.0.0
- settings: 1.14.0
- sharebymail: 1.21.0
- spreed: 21.0.4
- support: 3.0.0
- survey_client: 3.0.0
- systemtags: 1.21.1
- tasks: 0.16.1
- text: 5.0.0
- theming: 2.6.1
- theming_customcss: 1.18.0
- twofactor_backupcodes: 1.20.0
- user_status: 1.11.0
- viewer: 4.0.0
- weather_status: 1.11.0
- webhook_listeners: 1.2.0
- workflowengine: 2.13.0
Disabled:
- app_api: 5.0.2 (installed 3.1.0)
- circles: 31.0.0 (installed 29.0.0-dev)
- suspicious_login: 9.0.1 (installed 5.0.0)
- twofactor_nextcloud_notification: 5.0.0
- twofactor_totp: 13.0.0-dev.0
- user_ldap: 1.22.0
Nextcloud configuration:
{
"system": {
"apps_paths": [
{
"path": "\/snap\/nextcloud\/current\/htdocs\/apps",
"url": "\/apps",
"writable": false
},
{
"path": "\/var\/snap\/nextcloud\/current\/nextcloud\/extra-apps",
"url": "\/extra-apps",
"writable": true
}
],
"supportedDatabases": [
"mysql"
],
"memcache.locking": "\\OC\\Memcache\\Redis",
"memcache.local": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 0,
"timeout": "1.5",
"dbindex": "0"
},
"log_type": "file",
"logfile": "\/var\/snap\/nextcloud\/current\/logs\/nextcloud.log",
"logfilemode": 416,
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.genericoep.com",
"localhost",
"10.1.2.188",
"23.24.83.25"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "31.0.4.1",
"overwrite.cli.url": "http:\/\/cloud.genericoep.com",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"mail_smtpmode": "smtp",
"mail_smtpsecure": "ssl",
"mail_sendmailmode": "smtp",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "465",
"mail_smtpauthtype": "LOGIN",
"mail_smtpauth": 1,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"default_language": "en",
"force_language": "en",
"default_locale": "en_US",
"default_phone_region": "US",
"force_locale": "en_US",
"skeletondirectory": "\/mnt\/Storage1\/skel",
"loglevel": 2,
"theme": "",
"maintenance_window_start": "1",
"debug": false,
"data-fingerprint": "5b1c645516f58c6225233eb961eedc78",
"share_folder": "\/Share",
"overwriteprotocol": "https",
"overwritehost": "cloud.genericoep.com",
"defaultapp": "dashboard,files,deck,spreed,calendar,contacts,mail,notes,tasks,forms,passwords,photos"
}
}
Logs
Nextcloud log (data/nextcloud.log)
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":0,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"OCA\\QuotaWarning\\Notification\\Notifier::prepare() threw \\InvalidArgumentException which is deprecated. Throw \\OCP\\Notification\\UnknownNotificationException when the notification is not known to your notifier and otherwise handle all \\InvalidArgumentException yourself.","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":1,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"Notification was claimed to be parsed, but was not fully parsed by OCA\\Deck\\Notification\\Notifier [app: deck, subject: card_update_description]","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":1,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"Notification was claimed to be parsed, but was not fully parsed by OCA\\Deck\\Notification\\Notifier [app: deck, subject: card_user_assign]","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":1,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"Notification was claimed to be parsed, but was not fully parsed by OCA\\Deck\\Notification\\Notifier [app: deck, subject: card_user_assign]","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":1,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"Notification was claimed to be parsed, but was not fully parsed by OCA\\Deck\\Notification\\Notifier [app: deck, subject: card_user_assign]","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"Lu8hpOsD1wtcBjIAdJYr","level":0,"time":"2025-05-05T17:58:12+00:00","remoteAddr":"10.1.1.250","user":"mikediaz","app":"no app in context","method":"GET","url":"/ocs/v2.php/apps/notifications/api/v2/notifications","message":"OCA\\QuotaWarning\\Notification\\Notifier::prepare() threw \\InvalidArgumentException which is deprecated. Throw \\OCP\\Notification\\UnknownNotificationException when the notification is not known to your notifier and otherwise handle all \\InvalidArgumentException yourself.","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":[]}
{"reqId":"hapmEDj59PUVod9Awgak","level":0,"time":"2025-05-05T17:58:16+00:00","remoteAddr":"10.1.1.250","user":"adam","app":"logreader","method":"PUT","url":"/index.php/apps/logreader/api/settings","message":"Updating AppConfig: logLevel => 2","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":{"app":"logreader"}}
{"reqId":"K0Xq2jzR25gA9soTQuDj","level":2,"time":"2025-05-05T17:58:29+00:00","remoteAddr":"10.1.1.250","user":"adam","app":"mail","method":"GET","url":"/index.php/settings/ajax/checksetup","message":"Error occurred while performing system check on mail account: 8","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":{"app":"mail"}}
{"reqId":"K0Xq2jzR25gA9soTQuDj","level":2,"time":"2025-05-05T17:58:40+00:00","remoteAddr":"10.1.1.250","user":"adam","app":"mail","method":"GET","url":"/index.php/settings/ajax/checksetup","message":"Error occurred while performing system check on mail account: 5","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":{"app":"mail"}}
{"reqId":"K0Xq2jzR25gA9soTQuDj","level":2,"time":"2025-05-05T17:58:50+00:00","remoteAddr":"10.1.1.250","user":"adam","app":"mail","method":"GET","url":"/index.php/settings/ajax/checksetup","message":"Error occurred while performing system check on mail account: 6","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0","version":"31.0.4.1","data":{"app":"mail"}}
I'm unable to reproduce this. What versions of Server and the Deck app?
What appears in the browser console when attempting this? What appears in the server log?
i added all the info for same issue
same exact issue and it will temporarily duplicate the card as seen in the screen shot
I can reproduce this issue on 29, 30, 31 and master. It might be related to PR https://github.com/nextcloud/deck/pull/6933
I've also the same issue on NC31 with Deck 1.15.1. When moving a card with a label to a board without labels, the label will still be visible on the new card, but the label can't be deleted due to the fact that the label is not added to the new board (when going to 'all labels' of the board, there are still no labels). I think that this is the reason why we are unable to delete the label from the card.
When copying the card with a label called 'x' while there is already another label on the new board with exact the same name (also 'x', but was made on the new board instead of being copied to it), the card will be copied without label. I think that Deck is gets confused because of the double label naming.
When deleting the whole label on the new board before copying the card, it still copies the card without label. Maybe because the old label is still somewhere present in the database?
@luka-nextcloud is right it's caused by the PR from julius. When moving cards we first move the card and then check if there are labels that are not on the new board and copy them to the target board. That causes an issue because we remove the old label from the card which is forbidden by the PR. I think we should allow removing labels always. We could also clone the labels then move the card and then reassign the labels but I think that's a less robust solution bc you could have labels created and then the card transfer failing so there'd be unused labels not created by the user on the board. @luka-nextcloud what do you think? go with the first option to allow the removing?
@grnd-alt In my opinion, we should:
- Allow the removal of labels that do not belong to the same board as the card, to prevent breaking the card-moving functionality.
- Create a migration script to correct incorrectly assigned labels on partially moved cards.
I have the same problem!
I accidentally created a new issue, sorry about that.
Sounds good, @luka-nextcloud
When correcting the bug, attention should also be paid to a defined behavior of tags with the same name (from different boards). The Ui can't handle that at the moment ;)
I would also like it if you could define global tags. In the UI, for example, this could be a checkbox in the tag list; if checked, the tag appears on all boards. Or something like that.