nextcloud / nextcloud/mail

Error changing the order of actions in a Quick Action

Open
#13,308 1 comment 0 reactions 1 assignee View on GitHub

@hamza221 is already working on this.

Since Jul 21, 2026.

1. to develop bug
Dominant language
JavaScript
Stars
1k
Forks
348
Avg merge
12h 28m
Merged PRs (30d)
91

Description

Steps to reproduce
  • create a new Quick Action
  • add an action of type "Move Thread" selecting any folder as destination
  • save the Quick Action
  • go to edit the previously created Quick Action
  • add an action of type "Tag" selecting any tag
  • save again the Quick Action
Expected behavior

The Quick Action is saved, and configured to perform the addition of a tag and the move to a different folder.

Actual behavior

At the second save, nothing happens in frontend.

Server returns the following payload:

{
    "status": "error",
    "message": "Cant perform actions after moveThread",
    "data": {
        "debug": true,
        "type": "OCA\\Mail\\Exception\\ServiceException",
        "message": "Cant perform actions after moveThread",
        "code": 0,
        "trace": [
            {
                "file": "\/path\/of\/nextcloud\/apps\/mail\/lib\/Service\/QuickActionsService.php",
                "line": 102,
                "function": "validateActionStep",
                "class": "OCA\\Mail\\Service\\QuickActionsService"
            },
            {
                "file": "\/path\/of\/nextcloud\/apps\/mail\/lib\/Controller\/ActionStepController.php",
                "line": 57,
                "function": "createActionStep",
                "class": "OCA\\Mail\\Service\\QuickActionsService"
            },
            {
                "file": "\/path\/of\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php",
                "line": 165,
                "function": "create",
                "class": "OCA\\Mail\\Controller\\ActionStepController"
            },
            {
                "file": "\/path\/of\/nextcloud\/lib\/private\/AppFramework\/Http\/Dispatcher.php",
                "line": 78,
                "function": "executeController",
                "class": "OC\\AppFramework\\Http\\Dispatcher"
            },
            {
                "file": "\/path\/of\/nextcloud\/lib\/private\/AppFramework\/App.php",
                "line": 137,
                "function": "dispatch",
                "class": "OC\\AppFramework\\Http\\Dispatcher"
            },
            {
                "file": "\/path\/of\/nextcloud\/lib\/private\/Route\/Router.php",
                "line": 324,
                "function": "main",
                "class": "OC\\AppFramework\\App"
            },
            {
                "file": "\/path\/of\/nextcloud\/lib\/base.php",
                "line": 1159,
                "function": "match",
                "class": "OC\\Route\\Router"
            },
            {
                "file": "\/path\/of\/nextcloud\/index.php",
                "line": 25,
                "function": "handleRequest",
                "class": "OC"
            }
        ],
        "previous": null
    },
    "code": 0
}

Reloading the web page and opening again the edited Quick Action, actions list is empty: previously configured actions are lost.

Mail app version

5.10

Nextcloud version

No response

Mailserver or service

No response

Operating system

No response

PHP engine version

No response

Nextcloud memory caching

No response

Web server

No response

Database

No response

Additional info

My guess is that Quick Action contents should be saved in a single step, as calling "/apps/mail/api/action-step" individually for all single actions do not provide context and do not permits proper server-side validation.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.