Skip to content

[Bug]: Files Plugin Register does not work in stable28 #43265

@quaverous2

Description

@quaverous2

⚠️ This issue respects the following points: ⚠️

Bug description

This is similar to #19080

(I have reproduced the code in this issue and obtained the same result)

With the following js code in my app:

function registerSignPdfAction() {
  OCA.DiscretePdfSigner = _.extend({}, OCA.DiscretePdfSigner);
  if (!OCA.DiscretePdfSigner) {
    OCA.DiscretePdfSigner = {};
  }

  OCA.DiscretePdfSigner.FilesPlugin = {
    attach: function (fileList) {
      fileList.fileActions.registerAction({
        name: "SignPdf",
        displayName: t("files", "Sign Pdf"),
        mime: "application/pdf",
        order: 1500,
        permissions: OC.PERMISSION_UPDATE,
        iconClass: "icon-rename",
        actionHandler: function (filename, context) {
          signPdfActionHandler(filename, context);
        },
      });
    },
  };
}

registerSignPdfAction();
OC.Plugins.register("OCA.Files.FileList", OCA.DiscretePdfSigner.FilesPlugin);

I expect a new menu entry in this context menu:

image

But unfortunately nothing shows up.

The same code works fine in NextCloud Stable 19 and 22.

Did something change between versions? I could not find anything on the topic in the documentation and all other forum posts I found on the topics seem to have straightforward solutions that do nothing in this version.

Steps to reproduce

  1. Create a NextCloud App
  2. Register a new File Plugin
  3. Launch NextCloud, enable the app
  4. New option is not available

Expected behavior

The new context menu option is available and clickable.

Installation method

Community Manual installation with Archive

Nextcloud Server version

28

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.3

Web server

None

Database engine version

SQlite

Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

php occ config:list system
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost:8080"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "sqlite3",
        "version": "28.0.2.4",
        "overwrite.cli.url": "http:\/\/localhost:8080",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "updater.release.channel": "git",
        "installed": true,
        "app_install_overwrite": [
            "discretepdfsigner"
        ]
    }
}

./occ config:list system
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "localhost:8080"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "sqlite3",
        "version": "28.0.2.4",
        "overwrite.cli.url": "http:\/\/localhost:8080",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "updater.release.channel": "git",
        "installed": true,
        "app_install_overwrite": [
            "discretepdfsigner"
        ]
    }
}

List of activated Apps

php occ app:list
Enabled:
  - cloud_federation_api: 1.11.0
  - comments: 1.18.0
  - contactsinteraction: 1.9.0
  - dashboard: 7.8.0
  - dav: 1.29.1
  - discretepdfsigner: 0.0.5
  - federatedfilesharing: 1.18.0
  - federation: 1.18.0
  - files: 2.0.0
  - files_reminders: 1.1.0
  - files_sharing: 1.20.0
  - files_trashbin: 1.18.0
  - files_versions: 1.21.0
  - lookup_server_connector: 1.16.0
  - oauth2: 1.16.3
  - provisioning_api: 1.18.0
  - settings: 1.10.1
  - sharebymail: 1.18.0
  - systemtags: 1.18.0
  - theming: 2.3.0
  - twofactor_backupcodes: 1.17.0
  - updatenotification: 1.18.0
  - user_status: 1.8.1
  - weather_status: 1.8.0
  - workflowengine: 2.10.0
Disabled:
  - admin_audit: 1.18.0
  - encryption: 2.16.0
  - files_external: 1.20.0
  - testing: 1.18.0
  - user_ldap: 1.19.0

./occ app:list
Enabled:
  - cloud_federation_api: 1.11.0
  - comments: 1.18.0
  - contactsinteraction: 1.9.0
  - dashboard: 7.8.0
  - dav: 1.29.1
  - discretepdfsigner: 0.0.5
  - federatedfilesharing: 1.18.0
  - federation: 1.18.0
  - files: 2.0.0
  - files_reminders: 1.1.0
  - files_sharing: 1.20.0
  - files_trashbin: 1.18.0
  - files_versions: 1.21.0
  - lookup_server_connector: 1.16.0
  - oauth2: 1.16.3
  - provisioning_api: 1.18.0
  - settings: 1.10.1
  - sharebymail: 1.18.0
  - systemtags: 1.18.0
  - theming: 2.3.0
  - twofactor_backupcodes: 1.17.0
  - updatenotification: 1.18.0
  - user_status: 1.8.1
  - weather_status: 1.8.0
  - workflowengine: 2.10.0
Disabled:
  - admin_audit: 1.18.0
  - encryption: 2.16.0
  - files_external: 1.20.0
  - testing: 1.18.0
  - user_ldap: 1.19.0

Nextcloud Signing status

Integrity checker has been disabled. Integrity cannot be verified.

Nextcloud Logs

empty

Additional info

You need to fill either the text or the ariaLabel props in the button component.
Object { text: undefined, ariaLabel: "" }

Object { _uid: 99, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:145:37

You need to fill either the text or the ariaLabel props in the button component.
Object { text: undefined, ariaLabel: "" }

Object { _uid: 117, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": [], … }
NcButton.mjs:145:37

You need to fill either the text or the ariaLabel props in the button component.
Object { text: undefined, ariaLabel: "" }

Object { _uid: 99, _isVue: true, __v_skip: true, _scope: {…}, "$options": {…}, _renderProxy: {…}, _self: {…}, "$parent": {…}, "$root": {…}, "$children": (1) […], … }
NcButton.mjs:145:37

All of these also happen when the app is disabled

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions