Esto sucede 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)
Esto sucede al importar un archivo sin extensión conocida en el nombre del archivo (por ejemplo, sin extensión). Como solución alternativa, debe establecer el nombre del archivo y dejar que termine con una extensión, por ejemplo, .txt
.
Editar por @muxator : esto sucede no solo cuando no se proporciona ninguna extensión, sino para cada extensión desconocida (incluida ninguna) cuando allowUnknownFileEnds
en settings.json
es true
. Cambió el título en consecuencia.
Ah, está bien, esto se debió al trabajo asíncrono cc @raybellis
https://github.com/ether/etherpad-lite/blob/develop/src/node/handler/ImportHandler.js#L104
Esta es la línea ofensiva, si carga un archivo .md, etc.a Etherpad, verá este error.
¿Tienes tiempo para echarle un vistazo a @raybellis?
Para mí, para el desarrollo de complementos, simplemente lo esquivo.
https://github.com/ether/etherpad-lite/pull/3718/files es mi solución hacky. @raybellis
La solución no pirateada es reemplazar la llamada a fs.rename(src, dst, cb)
con await fsp_rename(src, dst)
Ah, veo que @tudorconstantin ya me ganó :)
Arreglado tirando en # 3722 por @tudorconstantin.
Gracias a todos.
Comentario más útil
Arreglado tirando en # 3722 por @tudorconstantin.
Gracias a todos.