Etherpad-lite: UnhandledPromiseRejectionWarning beim Importieren einer Datei mit unbekannter (oder keiner) Erweiterung

Erstellt am 14. März 2020  ·  5Kommentare  ·  Quelle: ether/etherpad-lite

Dies geschieht in 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)

Dies geschieht beim Importieren einer Datei ohne bekannte Erweiterung im Dateinamen (zB keine Erweiterung). Als Workaround müssen Sie den Dateinamen setzen und mit einer Endung enden lassen, zB .txt .


Edit by @muxator : Dies geschieht nicht nur, wenn keine Erweiterung angegeben ist, sondern für jede unbekannte Erweiterung (einschließlich keiner), wenn allowUnknownFileEnds in settings.json true . Titel entsprechend geändert.

ExporImport Minor Bug async-migration

Hilfreichster Kommentar

Das Einziehen von #3722 von @tudorconstantin wurde behoben.
Danke an alle.

Alle 5 Kommentare

Ah okay, das lag also an der asynchronen Arbeit cc @raybellis

https://github.com/ether/etherpad-lite/blob/develop/src/node/handler/ImportHandler.js#L104

Dies ist die beleidigende Zeile. Wenn Sie eine what.md usw. auf Etherpad hochladen, wird dieser Fehler angezeigt.

Hast du Zeit, einen Blick darauf zu werfen

Für mich für die Plugin-Entwicklung hacke ich einfach herum.

https://github.com/ether/etherpad-lite/pull/3718/files ist mein hackiger Workaround. @raybellis

Die nicht-hackige Lösung besteht darin, den Aufruf von fs.rename(src, dst, cb) durch await fsp_rename(src, dst) zu ersetzen

Ah, ich sehe, @tudorconstantin hat mich schon geschlagen :)

Das Einziehen von #3722 von @tudorconstantin wurde behoben.
Danke an alle.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen