venom: WAPI Injection throwing an error on recent update. Fix suggestion...

The code below is raising an error in recent update, preventing the code to inject the parasite and leading all Store dependencies to failures.

https://github.com/orkestral/venom/blob/962d539ad2e348a4e56e6be8235fda5b05525ed1/src/lib/wapi/wapi.js#L182

Based on a recent code update in waconnect-team/wajs, instead of forcing the setting of chunk key on window object, we should first check if it exists and, if not, set as an empty array, as shown below:

https://github.com/wppconnect-team/wa-js/commit/53396183f624e5afc0388c2d4374d683dcc43fba

So the proposed fix would be to override that line with:

if (typeof window[injectConfig.webpack] === 'undefined') { window[injectConfig.webpack] = []; }

Already tested locally and it works.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 8
  • Comments: 67

Most upvoted comments

Eu também não estava conseguindo, eu estava com uma versão antiga do venom, eu atualizei pra versão mais recente e alterei o seguinte arquivo --> node_modules/venom-bot/dist/lib/wapi/wapi.js

Na linha 9312, você substitui o código: window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] = window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] || [];

Por: if (typeof window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] === 'undefined') { window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] = []; }

Fiquei tentando o dia todo, e isso aí funcionou pra mim. Qualquer coisa avisa aqui que vamos tentando ver o que funciona pra vc.

Muitíssimo obrigado à todos que fizeram parte desta solução. já estava ficando deprimido sem o bot funcionar hahaha

OBRIGADO, de coração I LOVE YOU!!! hahaha

aeeeeeeeeeeeeeeeeeeeeeee vcs. são feeeeeeeeeeeeeeerasss… funcionou muitíssimo obrigado… manos

Valeu pessoal, obrigado! Aqui também funcionou certinho com:

if (typeof window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] === 'undefined') { window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] = []; }

ficou assim. o arquivo wapi.js

image

A linha que você adicionou está errada, no arquivo compilado tem que colocar _helper__WEBPACK_IMPORTED_MODULE_1__ igual fiz no comentário ali de cima.

Thans, with this change, QR code Work, and register functions getHostDevice, onMessages, etc…

na linha 9313 tem esses codigo com while… esta correta essa linha para alteração do codigo?

no caminho node_modules/venom-bot/dist/lib/wapi.js

image

você tem que alterar aquele arquivo e manter o mesmo padrão do arquivo compilado:

if (typeof window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] === 'undefined') { window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] = []; }

Bem estranho, eu criei um index.js, versão ^5.0.7 com o seu código e funcionou Captura de tela 2023-06-29 152313 Seu browser está atualizado? Ou tentou fechar e abrir sua IDE (isso é meio besta mas, as vezes acontece ¯(o_o)/¯ )

Como faço para atualizar o browser? Não estou acostumado a programar assim

Teria só como me mandar o arquivo browser.js e o initializer.js desse por favor? Acredito que esses que estão dando o problema.

eu criei um repositório que tem a pasta venom do node modules e alguns exemplos de funções que funcionam quando executo https://github.com/karein/teste-venom.git

Ah ta, sendo assim eles está sim. Já não sei mais o que tentar, mas muito obrigado pela ajuda.

Olá prezados, alguém poderia por favor compartilhar com nós que ainda não obtivemos êxito onde fica o arquivo a ser alterado?

Este arquivo está dentro de qual lib?? venom-bot?

Ficarei muito muito grato por qualquer informação que me ajude a trazer o bot de volta

Então, o que resolveu para mim foi fazer um clone do git atual numa pasta a parte do meu projeto:

git clone https://github.com/orkestral/venom.git

entrar na pasta venom que foi criada e compilar:

npm install --save

depois de terminado o processo eu copiei os arquivos venom/dist//lib/wapi/* para o meu projeto em: node_modules/venom-bot/dist/lib/wapi/

Rodei e funcionou. Espero que ajude!

Valeu pessoal, obrigado! Aqui também funcionou certinho com:

if (typeof window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] === 'undefined') { window[_helper__WEBPACK_IMPORTED_MODULE_1__.injectConfig.webpack] = []; }

Aqui funcionou também, muito obrigado.

ficou assim. o arquivo wapi.js

image

continua a luta rs… aqui não sai disso…

image

What version do you use?, see package.json i use “puppeteer”: “^20.7.1”,

continua a luta rs… aqui não sai disso…

image

The code below is raising an error in recent update, preventing the code to inject the parasite and leading all Store dependencies to failures.

https://github.com/orkestral/venom/blob/962d539ad2e348a4e56e6be8235fda5b05525ed1/src/lib/wapi/wapi.js#L182

Based on a recent code update in waconnect-team/wajs, instead of forcing the setting of chunk key on window object, we should first check if it exists and, if not, set as an empty array, as shown below:

wppconnect-team/wa-js@5339618

So the proposed fix would be to override that line with:

if (typeof window[injectConfig.webpack] === 'undefined') { window[injectConfig.webpack] = []; }

Already tested locally and it works.

I was getting the error: Cannot read properties of undefined (reading 'createWid')

So, I’ve changed manually on node_modules put the code that you left and it’s working!