Cela se produit en 1.8 :
[ERROR] console - (node:27731) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
at makeCallback (fs.js:136:11)
at Object.rename (fs.js:578:14)
at doImport (/opt/etherpad-lite/src/node/handler/ImportHandler.js:104:16)
at process._tickCallback (internal/process/next_tick.js:68:7)
Cela se produit lors de l'importation d'un fichier sans extension connue dans le nom de fichier (par exemple, aucune extension du tout). Pour contourner le problème, vous devez définir le nom du fichier et le laisser se terminer par une extension, par exemple .txt
.
Edit by @muxator : cela se produit non seulement lorsqu'aucune extension n'est donnée, mais pour chaque extension inconnue (y compris aucune) lorsque allowUnknownFileEnds
dans settings.json
est true
. J'ai changé le titre en conséquence.
Ah d'accord donc c'était dû au travail asynchrone cc @raybellis
https://github.com/ether/etherpad-lite/blob/develop/src/node/handler/ImportHandler.js#L104
C'est la ligne incriminée, si vous téléchargez un fichier what.md etc sur Etherpad, vous verrez cette erreur.
Avez-vous le temps de jeter un oeil @raybellis
Pour moi, pour le développement de plugins, je viens de le contourner.
https://github.com/ether/etherpad-lite/pull/3718/files est ma solution de contournement hacky. @raybellis
Le correctif non piraté consiste à remplacer l'appel à fs.rename(src, dst, cb)
par await fsp_rename(src, dst)
Ah, je vois que @tudorconstantin m'a déjà devancé :)
Correction du tirage #3722 par @tudorconstantin.
Merci tout le monde.
Commentaire le plus utile
Correction du tirage #3722 par @tudorconstantin.
Merci tout le monde.