Problems with upgrade to 3.6.3

Good morning everyone i’m seeking a bit help.
Trying to upgrade our project from 3.5.4 to 3.6.3, it installs fine with yarn. But it seems to throw an error I’m a bit new to this so trying to debug it is a bit harder.

System Information
  • Strapi Version: 3.5.4 => 3.6.3
  • Operating System: MacOS
  • Database: Postgres
  • Node Version: 14.17.0
  • NPM Version: 6.14.13
  • Yarn Version: 1.22.10

Here is the error

(node:37364) UnhandledPromiseRejectionWarning: ValidationError: [0] must be a `object` type, but the final value was: `[
  {
    "section": "\"plugins\"",
    "displayName": "\"Create\"",
    "uid": "\"roles.create\"",
    "subCategory": "\"roles\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Read\"",
    "uid": "\"roles.read\"",
    "subCategory": "\"roles\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Update\"",
    "uid": "\"roles.update\"",
    "subCategory": "\"roles\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Delete\"",
    "uid": "\"roles.delete\"",
    "subCategory": "\"roles\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Read\"",
    "uid": "\"providers.read\"",
    "subCategory": "\"providers\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Edit\"",
    "uid": "\"providers.update\"",
    "subCategory": "\"providers\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Read\"",
    "uid": "\"email-templates.read\"",
    "subCategory": "\"emailTemplates\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Edit\"",
    "uid": "\"email-templates.update\"",
    "subCategory": "\"emailTemplates\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Read\"",
    "uid": "\"advanced-settings.read\"",
    "subCategory": "\"advancedSettings\"",
    "pluginName": "\"users-permissions\""
  },
  {
    "section": "\"plugins\"",
    "displayName": "\"Edit\"",
    "uid": "\"advanced-settings.update\"",
    "subCategory": "\"advancedSettings\"",
    "pluginName": "\"users-permissions\""
  }
]`.
    at validateRegisterProviderAction (/Users/eventyret/Development/SeasonalJobs/sj-strapi/node_modules/strapi-admin/validation/action-provider.js:77:13)
    at Object.register (/Users/eventyret/Development/SeasonalJobs/sj-strapi/node_modules/strapi-admin/domain/action/provider.js:36:7)
    at module.exports (/Users/eventyret/Development/SeasonalJobs/sj-strapi/extensions/users-permissions/config/functions/bootstrap.js:190:17)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Promise.all (index 5)
    at async Strapi.runLifecyclesFunctions (/Users/eventyret/Development/SeasonalJobs/sj-strapi/node_modules/strapi/lib/Strapi.js:443:5)
    at async Strapi.load (/Users/eventyret/Development/SeasonalJobs/sj-strapi/node_modules/strapi/lib/Strapi.js:379:5)
    at async Strapi.start (/Users/eventyret/Development/SeasonalJobs/sj-strapi/node_modules/strapi/lib/Strapi.js:196:9)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:37364) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 62)
(node:37364) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Any help is much appreciated!
EDIT:
We did have some plugins but I have removed all these and I still get the same error.

Hi @Eventyret
What does your package.json look like?
Gwyn

Hi @Gwyn_Hockridge
Here is my package.json

{
  "name": "app",
  "private": true,
  "version": "2.0.0",
  "description": "A Strapi application",
  "scripts": {
    "develop": "strapi develop",
    "start": "strapi start",
    "build": "strapi build",
    "strapi": "strapi",
    "bump:patch": "node ./bumpversion.js patch server",
    "bump:minor": "node ./bumpversion.js minor server",
    "bump:major": "node ./bumpversion.js major server"
  },
  "devDependencies": {
    "semver": "^7.3.5"
  },
  "dependencies": {
    "axios": "^0.21.1",
    "faker": "^5.5.3",
    "firebase-admin": "^9.9.0",
    "knex": "<0.21.16",
    "pg": "latest",
    "strapi": "3.6.3",
    "strapi-admin": "3.6.3",
    "strapi-connector-bookshelf": "3.6.3",
    "strapi-plugin-content-manager": "3.6.3",
    "strapi-plugin-content-type-builder": "3.6.3",
    "strapi-plugin-documentation": "3.6.3",
    "strapi-plugin-email": "3.6.3",
    "strapi-plugin-upload": "3.6.3",
    "strapi-plugin-users-permissions": "3.6.3",
    "strapi-provider-email-sendgrid": "^33.6.3",
    "strapi-utils": "3.6.3"
  },
  "author": {
    "name": "Cropdesk"
  },
  "strapi": {
    "uuid": "216df544-5f9e-4b05-93ec-c9478ace66a7"
  },
  "engines": {
    "node": ">= 12.x ||  <= 14.17.x",
    "npm": "6.x",
    "yarn": "1.22.x"
  },
  "license": "MIT"
}

Hi @Eventyret,

Were you able to solve it?
We’re having the same issue with strapi 3.6.5

@ajo - Sadly not still running 3.5.4 but would love to try upgrade past 3.6 at one time.

Well I found the issue on our end.

We were extending the users-permissions plugin and there is a small change in the /config/functions/bootstrap.js file, which we needed to copy from the original file, as the permissions have been reworked (I18n/ permissions rework by Convly · Pull Request #9535 · strapi/strapi · GitHub).

-       const { actionProvider } = strapi.admin.services.permission
-       actionProvider.register(usersPermissionsActions.actions)
+       await strapi.admin.services.permission.actionProvider.registerMany(usersPermissionsActions.acti
ons)

I hope this helps a little.

2 Likes

Thank you @ajo will try this later :slight_smile:

@ajo it’s been a while but i solved it. I found out the issue was I had extended the extensions/user-permissions/config/bootstrap.js with things that was not needed removed it and it worked.