Erro no bloco de Carrossel de Itens de Coleções do Tainacan

Olá.

Estamos tentando utilizar o bloco Carrossel de Itens de Coleções do Tainacan, porém se um usuário adiciona esse bloco, a página retorna o erro JS abaixo e o bloco não carrega. Esse usuário está com os perfis de Administrador e Administrador Tainacan.

TypeError: this.searchURL is undefined
    fetchItems https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan-chunks-2.js:1
    created https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan-chunks-2.js:1
    Ve https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    Yt https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    _init https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    a https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    componentInstance https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    init https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    f https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    f https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    Uo https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    _update https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    r https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    get https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    pn https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    exports https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    $mount https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    $mount https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    _init https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    xn https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1
    d https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan-chunks-2.js:1
    i https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan-chunks-2.js:1
    default https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan-chunks-2.js:1
    e https://memoria.ifrs.edu.br/wp-content/plugins/tainacan/assets/js/tainacan_blocks_common_scripts.js:1
vendors~tainacan-chunks-0~tainacan-chunks-10~tainacan-chunks-12~tainacan-chunks-16~tainacan-chunks-2~cbc78b93.js:1:13908

Ao editar a página como super admin, aparece a seguinte informação:

Ao restaurar o bloco e salvar, ainda como super admin, tudo funciona.

Se um usuário edita a página e salva, volta a ocorrer o problema.

Oi @ricardomoro!

Eu tenho um palpite do que pode ter causado isso. Vou gerar uma build pra vocês testarem mais tarde e passo para vocês. Por hora, se houver urgência, eu acho que usar o bloco no modo de seleção manual (ao invés de busca de itens) pode resolver.

Olá @mateus.m.luna

Não é urgente, já que o super admin consegue corrigir o bloco.
Fico no aguardo para testar.

Valeu!

1 curtida

Tenta com esta daqui então @ricardomoro

Duas coisas importantes neste teste:
1 - Lembrar de recarregar tanto a tela do editor quanto a da página pública do site. Use CTRL+SHIFT+R para limpar o cache do navegador e se tiver como limpar cache do servidor também é uma boa.
2 - Lembrar de excluir o bloco para começar a configuração do zero.

Diga se fez alguma diferença.

Olá @mateus.m.luna

Testei no meu ambiente local e funcionou normalmente.
Editei a página e o bloco com um usuário Administrador Tainacan e carregou normal no site.

Precisa que eu faça mais algum teste específico?

Acho que não cara é isso… se estiver resolvido mesmo já estou jogando este ajuste pra próxima versão :slight_smile:

1 curtida

Show então.

Quando sair a próxima versão vou testar no ambiente de produção, mas acho que é isso mesmo.

Qualquer coisa eu posto aqui novamente.

Obrigado.

Obrigado vc! :fist_right:t3: :eight_pointed_black_star: :fist_left:t3:

1 curtida

Olá @mateus.m.luna

Estou voltando para esse tópico pois ainda temos esse problema no site em produção. Em uma instalação limpa de testes que fiz, aparentemente, tudo funciona.
Porém, no site publicado o erro persiste.

Vou anexar logs do console do navegador quando acontecem os problemas. O primeiro arquivo é ao carregar o editor do WP após atualizar algo na página e o bloco dar erro. O segundo arquivo é ao tentar restarurar o bloco. Por fim, o último arquivo é na página pública em que o bloco apresenta erro.

erros-tainacan-memoria-ifrs.zip (4,6,KB)

Se precisar de mais informações fico à disposição.

Salve @ricardomoro!

Mas este teste que você fez foi com a versão beta?

Fiz os testes, tanto local como em produção, com a última versão pública do plugin.

Por favor teste com esta versão aqui: tainacan.zip - Google Drive (provavelmente vai precisar clicar naquela “restaurar o bloco” pelo menos na primeira vez).

É seguro usar em produção?
Peço pois em ambiente de testes os erros não ocorrem, somente no ambiente de produção…

Não tenho como garantir… Mas de vdd, como além daquilo que identifiquei naquela correção que mandei anteriormente eu não consegui reproduzir este erro, não tenho nem como saber se resolveu sem botar a mão no fogo um pouco :expressionless:

Tranquilo.

Vou arriscar e depois posto o resultado.

Valeu.

Olá.

Mesmo com a versão de testes não deu certo. Sem ser o Super Admin, o bloco apresenta erro.

A novidade é que agora ao salvar a página com o bloco recém criado, aparece no site “No items found.” no local que o carrossel deveria carregar. E, curiosamente, nenhum erro no console.

Ao recarregar o editor do WP onde o bloco foi inserido, o erro abaixo aparece no console:

Block validation: Block validation failed for `tainacan/carousel-items-list` ( 
Object { name: "tainacan/carousel-items-list", icon: {…}, keywords: (3) […], attributes: {…}, providesContext: {}, usesContext: [], supports: {…}, styles: [], variations: [], save: save(e), … }
​
apiVersion: 2
​
attributes: Object { content: {…}, collectionId: {…}, items: {…}, … }
​
category: "tainacan-blocks"
​
deprecated: Array(5) [ {…}, {…}, {…}, … ]
​
description: "Listar itens em um carrossel, usando um critério de busca ou uma seleção manual."
​
edit: function edit(e)
​
example: Object { attributes: {…} }
​
getEditWrapperProps: function getEditWrapperProps(n)
​
icon: Object { src: {…}, foreground: "#298596" }
​
keywords: Array(3) [ "itens", "carrossel", "slider" ]
​
name: "tainacan/carousel-items-list"
​
providesContext: Object {  }
​
save: function save(e)
​
styles: Array []
​
supports: Object { align: (2) […], html: false, multiple: true, … }
​
title: "Carrossel de Itens de Coleções do Tainacan"
​
transforms: Object { to: (1) […] }
​
usesContext: Array []
​
variations: Array []
​
<prototype>: Object { … }
 ).

Content generated by `save` function:

<div class="wp-block-tainacan-carousel-items-list" data-module="carousel-items-list" search-url="" selected-items="[&quot;16594&quot;,&quot;16596&quot;,&quot;11413&quot;,&quot;28663&quot;,&quot;28662&quot;,&quot;16592&quot;,&quot;13764&quot;]" arrows-position="around" load-strategy="selection" collection-id="4916" auto-play="false" auto-play-speed="3" loop-slides="false" hide-title="true" large-arrows="false" arrows-style="type-1" image-size="tainacan-medium" show-collection-header="false" show-collection-label="false" collection-background-color="#454647" collection-text-color="#ffffff" max-items-number="12" max-items-per-screen="7" space-between-items="32" space-around-carousel="50" tainacan-api-root="https://memoria.ifrs.edu.br/wp-json/tainacan/v2" tainacan-base-url="https://memoria.ifrs.edu.br/wp-content/plugins/tainacan" id="wp-block-tainacan-carousel-items-list_99d4035a-7c0f-4a87-a516-d058a68108f9"><div></div></div>

Content retrieved from post body:

<div class="wp-block-tainacan-carousel-items-list" data-module="carousel-items-list" id="wp-block-tainacan-carousel-items-list_99d4035a-7c0f-4a87-a516-d058a68108f9"><div></div></div>

Rapaz mistério isso daí viu :thinking:. Eu atualizei a versão que tá no drive agora com a que eu acabei de compilar corrigindo um outro erro (não relacionado) no carrossel:

Mas é muito estranho, como a própria mensagem mostra, ele tá limando o conteúdo que é salvo no banco. A única maneira que eu consigo pensar de se conseguir isso seria usando um dos filtros que alteram o conteúdo salvo dos blocos. Por exemplo:

Você não tem nenhum plugin instalado que poderia estar chamando uma dessas funções? Quais estão ativos?

De qualquer maneira, eu vou tentar reproduzir aqui do jeito que você está fazendo. O roteiro de testes é:

  1. Insere carrossel como Admin e salva post;
  2. Acessa como qualquer user na página, deve funcionar;
  3. Edita a página com uma permissão menor (Editor, por exemplo); Deve quebrar e aparecer o erro abaixo né;
  4. Se aparecer a opção de recuperar bloco, recuperar;
  5. Salvar post e tentar acessar. É pra não aparecer.

É isso?

Sim, muito estranho.
Posso fazer uma inspeção nos plugins e ver qual poderia estar interferindo, qualquer coisa aviso se achar algo.

Isso, seria esse o roteiro.

P.S.: vou estar em período de férias até dia 25/07, então não tem pressa para isso, podemos retomar na minha volta. Valeu.

Beleza. Manda a listinha de plugins aí, se vc quiser eu posso testar tbm. Acabei de repetir o roteiro aqui e não conseguir reproduzir nenhum erro :expressionless:

Plugin ativos: