@DownPW I see what you mean, yes. I thought you'd made a typo... 🙂
Import from SMF failing with "callFn.apply is not a function error"
-
It imports the users just fine. But, it looks like it's failing when importing messages:
...
[nodebb-plugin-import] importer.success [2018-07-20T03:24:23.135Z] Importing 2934 messages.
[nodebb-plugin-import-smf] getPaginatedMessages
exporter.log [2018-07-20T03:24:23.137Z] getPaginatedMessages
2018-07-20T03:24:23.392Z [25675] - error: message=callFn.apply is not a function, stack=TypeError: callFn.apply is not a function
at /home/ubuntu/nodebb/node_modules/async/dist/async.js:473:16
at next (/home/ubuntu/nodebb/node_modules/async/dist/async.js:5329:29)
at /home/ubuntu/nodebb/node_modules/async/dist/async.js:969:16
at Object.Messaging.checkContent (/home/ubuntu/nodebb/src/messaging/create.js:31:11)
at /home/ubuntu/nodebb/src/messaging/create.js:49:15
at nextTask (/home/ubuntu/nodebb/node_modules/async/dist/async.js:5324:14)
at Object.waterfall (/home/ubuntu/nodebb/node_modules/async/dist/async.js:5334:5)
at Object.Messaging.addMessage (/home/ubuntu/nodebb/src/messaging/create.js:47:9)
at addMessage (/home/ubuntu/nodebb/node_modules/nodebb-plugin-import/server/importer/index.js:963:31)
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/server/importer/index.js:940:25
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/server/augmented/messages.js:92:11
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/node_modules/async/lib/async.js:251:17
at done (/home/ubuntu/nodebb/node_modules/nodebb-plugin-import/node_modules/async/lib/async.js:132:19)
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/node_modules/async/lib/async.js:32:16
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/node_modules/async/lib/async.js:248:21
at /home/ubuntu/nodebb/node_modules/nodebb-plugin-import/node_modules/async/lib/async.js:572:34
2018-07-20T03:24:23.394Z [25675] - info: [app] Shutdown (SIGTERM/SIGINT) Initialised.
... -
I disabled all plugins using nodebb reset -p. Then I uninstalled the import and import-smf plugin. Restarted nodebb, reinstalled the import plugin, and allowed it to install the import-smf plugin. I ran the import again with the flush option, and I'm still getting the same error.
Note that ALL plugins are disabled except for the import and import-smf plugin.
Any ideas here?
-
This looks like the offending code:
function once(fn) { return function () { if (fn === null) return; var callFn = fn; fn = null; callFn.apply(this, arguments); }; }
-
@signal15 nothing about that code looks wrong to me. If you're pointing to this because an error occurred there, it's most likely because of code somewhere else.
-
@pitaj, after looking more into it, you're right. But, I still have no idea what the problem might be. My SMF database has NOT been converted to UTF-8. Is the importer expecting UTF-8 content?
-
Have you read the readme of the import plugin? Especially that giant section saying:
THIS PLUGIN ONLY SUPPORTS: NodeBB v1.7.5
I don't know if it is that but at least that might be a possibility since you're saying in the opened issue that you're using the latest NodeBB?
-
Doh! I did not see that. I just installed 1.7.5 and everything has been imported just fine. Maybe I should read the manual.
Thanks!
-
Thinking about this further, it seems like the functionality of this plugin should probably be merged/maintained with master since it's such a core component influencing adoption of NodeBB.