[Parse Server 7.3.0]: Error: Adapter prototype don't match expected prototype

I recently upgraded my Parse server to 7.3.0 and was getting the following error when deploying it to Heroku:

2024-12-12T18:40:44.934570+00:00 app[web.1]: Error: Adapter prototype don't match expected prototype
2024-12-12T18:40:44.934585+00:00 app[web.1]:     at AdaptableController.validateAdapter (/app/node_modules/parse-server/lib/Controllers/AdaptableController.js:61:13)
2024-12-12T18:40:44.934587+00:00 app[web.1]:     at new PushWorker (/app/node_modules/parse-server/lib/Push/PushWorker.js:32:34)
2024-12-12T18:40:44.934588+00:00 app[web.1]:     at Object.getPushController (/app/node_modules/parse-server/lib/Controllers/index.js:209:18)
2024-12-12T18:40:44.934588+00:00 app[web.1]:     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2024-12-12T18:40:44.934588+00:00 app[web.1]:     at async ParseServer.start (/app/node_modules/parse-server/lib/ParseServer.js:172:30)
2024-12-12T18:40:44.934733+00:00 app[web.1]: An uncaught exception occurred: Adapter prototype don't match expected prototypeStack Trace:
2024-12-12T18:40:44.934734+00:00 app[web.1]: Error: Adapter prototype don't match expected prototype
2024-12-12T18:40:44.934734+00:00 app[web.1]:     at AdaptableController.validateAdapter (/app/node_modules/parse-server/lib/Controllers/AdaptableController.js:61:13)
2024-12-12T18:40:44.934734+00:00 app[web.1]:     at new PushWorker (/app/node_modules/parse-server/lib/Push/PushWorker.js:32:34)
2024-12-12T18:40:44.934734+00:00 app[web.1]:     at Object.getPushController (/app/node_modules/parse-server/lib/Controllers/index.js:209:18)
2024-12-12T18:40:44.934735+00:00 app[web.1]:     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2024-12-12T18:40:44.952740+00:00 app[web.1]:     at async ParseServer.start (/app/node_modules/parse-server/lib/ParseServer.js:172:30)npm notice

My server configuration is standard and the one that was working on an earlier version:

const parseServer = new ParseServer({
  databaseURI: config.DATABASE_URI,
  cloud: config.CLOUD_PATH,
  serverURL: config.SERVER_URL,
  publicServerURL: config.SERVER_URL,
  allowClientClassCreation: false,
  appId: config.APPLICATION_ID,
  masterKey: config.MASTER_KEY,
});

parseServer.start();

app.use(`/server`, parseServer.app);
app.use(`/dashboard`, parseDashboard);

Downgrading it to 6.5.11 fixes the issue, but I’d like to upgrade to the latest!

1 Like

I have the exact same issue, did you find a solution?

@Coriolan-Bataille is this also on Heroku? If so, did you try to clear the node cache and redeploy the app? There’s an env var for that. Please post your Parse Server init code + logs as well.

Issue observed in CI for parse-server-example:

This seems to occur only in Node 22. Could anyone affected by this please confirm their Node version?

Same issue here with Node 22.12.0

No local install on macOS (two difference one, same issue) Problem fix when downgrade node. @Manuel

Ok, so likely a Node 22 issue then. If you remove all adapters in the config and start Parse Server with a minimal config, does the issue still occur? Could you please post the minimal config (redact any sensitive info)?

Same issue with Node 20.18.1. Downgrading to 18.20.5 fixes the error

Please open an issue in the Parse Server repository on GitHub so we can track this. We’d also need someone to open a PR with a test that demonstrates the issue, as currently the Parse Server CI passes for all current Node versions.