mimshins / figma-backup

FigmaBackup is a Node.js CLI to backup Figma files and store them as local .fig files.
MIT License
79 stars 17 forks source link

BackupError: Backup failed | Protocol error (Input.dispatchKeyEvent) #23

Closed MisterIC3 closed 5 months ago

MisterIC3 commented 1 year ago

Hi. Try on Ubuntu 22.04. Node.js version: v20.2.0 I have some errors:

BackupError: Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed. at Bot._backupProjects (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:144:19) at async Bot.start (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:166:9) at async Object.handler (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/index.js:75:5) { _error: Error: Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed. at CDPSession.send (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:285:35) at Keyboard.down (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/common/Input.js:119:67) at Keyboard.press (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/common/Input.js:235:20) at Keyboard.type (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/common/Input.js:201:28) at saveLocalCopy (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/utils/saveLocalCopy.js:30:25) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Bot._backupFile (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:113:9) at async Bot._backupProject (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:130:13) at async Bot._backupProjects (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:140:17) at async Bot.start (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/lib/Bot.js:166:9) }

IgorLeSouverain commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Mister-Ice commented 1 year ago

Да вот странно Вроде все включено Error: Failed to launch the browser process! Authorization required, but no authorization protocol specified [20190:20190:0526/134336.438034:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY [20190:20190:0526/134336.438308:ERROR:env.cc(255)] The platform failed to initialize. Exiting.

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

at onClose (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:290:20)
at ChildProcess.<anonymous> (/root/.nvm/versions/node/v20.2.0/lib/node_modules/figma-backup/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:281:24)
at ChildProcess.emit (node:events:523:35)
at ChildProcess._handle.onexit (node:internal/child_process:293:12)

echo $DISPLAY выдает

:99

Mister-Ice commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

IgorLeSouverain commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

у аккаунта который ты используешь для скачивания файлов есть доступ к этому проекту?

Mister-Ice commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

у аккаунта который ты используешь для скачивания файлов есть доступ к этому проекту?

Да. Полные права. В вебке открывается. И когда debug запускаю, открывается chromium и показывает все действия , доходит до открытия файла, открывает его и закрывается окно браузера и ошибка

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

Mister-Ice commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

у аккаунта который ты используешь для скачивания файлов есть доступ к этому проекту?

А какие у вас версии nodejs, figma-backup и версия ОС ?

IgorLeSouverain commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

у аккаунта который ты используешь для скачивания файлов есть доступ к этому проекту?

А какие у вас версии nodejs, figma-backup и версия ОС ?

image

Версия бекапа 2.0.1

poooldo commented 1 year ago

figma-backup --debug сделай, посмотри в чем у тебя проблема

Самое забавное, что даже попробовал запустить на windows. Он открывает браузер и начинает идти последовательно. Но останавливается при открытии проекта с ошибкой

. Opening up the figma command palette... ERR. Couldn't open the figma command palette. . Typing down the download command... ERR. Backup failed | Protocol error (Input.dispatchKeyEvent): Session closed. Most likely the page has been closed.

Stopping the bot...

Hello, I had the same exact issue during the command palette call. After analysis, I seems that page is not correctly focused, so when calling CTRL + P. this panel does not open. I'm not a javascript nor a typescript expert but I made a quick fix that works to get the focus before opening the command palette :

await page.focus("#toggle-menu-button");

at line 29 in bin/utils/saveLocalCopy.ts. Just before calling

  await page.keyboard.down(MainKeyInput);
  await page.keyboard.press("KeyP");
  await page.keyboard.up(MainKeyInput);

Hope this helps.

Note: a dirty fix can also be done in the Dockerfile by adding the instruction directly before pressing down the control key by running after RUN npm install -g figma-backup :

RUN sed -i '/await page.keyboard.down(MainKeyInput);/iawait page.focus("#toggle-menu-button");' /usr/local/lib/node_modules/figma-backup/lib/utils/saveLocalCopy.js

mimshins commented 1 year ago

@poooldo Thanks for your efforts and investigations. I couldn't reproduce the bug, So I didn't know the problem is with the window not being focused. I'll fix it on the next release.

mimshins commented 5 months ago

Closing the issue due to the project being archived.