これは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)
これは、ファイル名に既知の拡張子がない(たとえば、拡張子がまったくない)ファイルをインポートするときに発生します。 回避策として、ファイル名を設定し、拡張子( .txt
など)で終了させる必要があります。
これは、すべての未知の拡張のために(何も含まない)拡張子が与えられていないだけでなく、場合に発生、しかし:@muxatorによって編集allowUnknownFileEnds
でsettings.json
あるtrue
。 それに応じてタイトルを変更しました。
ああ、これは非同期作業cc @ raybellisによるものでした
https://github.com/ether/etherpad-lite/blob/develop/src/node/handler/ImportHandler.js#L104
これは問題のある行です。whatever.mdなどをEtherpadにアップロードすると、このエラーが表示されます。
@raybellisを見てみる時間はあります
プラグイン開発のための私にとって、私はそれをハックするだけです。
https://github.com/ether/etherpad-lite/pull/3718/filesは私のハッキーな回避策です。 @raybellis
非ハック修正がへの呼び出しを置き換えることですfs.rename(src, dst, cb)
とawait fsp_rename(src, dst)
ああ、 @ tudorconstantinがすでに私を打ち負かしているのが
@tudorconstantinによる#3722のプルを修正しました。
みんな、ありがとう。
最も参考になるコメント
@tudorconstantinによる#3722のプルを修正しました。
みんな、ありがとう。