Etherpad-lite: UnhandledPromiseRejectionWarning lors de l'importation d'un fichier avec une extension inconnue (ou non)

Créé le 14 mars 2020  ·  5Commentaires  ·  Source: ether/etherpad-lite

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.

ExporImport Minor Bug async-migration

Commentaire le plus utile

Correction du tirage #3722 par @tudorconstantin.
Merci tout le monde.

Tous les 5 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes