jonatasrs / sei

SEI++: Adiciona novas funcionalidades ao Sistema Eletrônico de Informações - SEI
https://jonatasrs.github.io/sei/
GNU General Public License v3.0
70 stars 59 forks source link

Extensão é executada no eproc e exibe erro no console #147

Open mstrey opened 3 years ago

mstrey commented 3 years ago

A extensão tenta executar quando o eproc é acessado e isso ocorre devido aos matches genericos demais.

Não sou usuário diário do SEI e portanto não tenho certeza sobre qual seria a melhor correção mas identifiquei que os seguintes matches acabam ativando a extensão no eproc:

{
      "all_frames": true,
      "js": [ "lib/jquery-3.2.1.min.js", "cs_modules/core.d_idle.PontoControleCores.js", "cs_modules/core.d_idle.AdicionarIdentificadorSeipp.js", "cs_modules/core.d_idle.MenuSuspenso.js", "cs_modules/core.d_idle.VerificarBlocoAssinatura.js", "cs_modules/core.d_idle.IndicarConfiguracao.js", "cs_modules/core.d_idle.AtalhoPublicacoesEletronicas.js", "cs_modules/core.d_idle.MostrarEspecificacao.js", "cs_modules/core.d_idle.NoButtons.js", "cs_modules/core.d_idle.js" ],
      "matches": [ "*://*.br/*controlador.php?acao=*", "*://*.br/*controlador_externo.php?acao=*" ],
      "run_at": "document_idle"
   }

O perigo de utilizar este match é que essa combinação existe em qualquer aplicação desenvolvida com o framework infra_php (e talvez até outras feitas por brasileiros) criado pelo TRF4. SEI e Eproc são os dois sistemas mais difundidos mas existe mais de uma dezena de sistemas desenvolvidos nesse framework rodando dentro do TRF4.

Sugiro mapear quais ações realmente precisam desse comportamento ou expandir os matches desse item. Identifiquei em outro item alguns matches que combinados com esse que apresenta o erro podem resolver. Abaixo o item que eu achei:

{
      "all_frames": true,
      "css": [ "cs_modules/core.css" ],
      "js": [ "cs_modules/core.d_start.lib.js", "cs_modules/core.d_start.RedirecionarPagina.js", "cs_modules/core.d_start.Theme.js", "cs_modules/core.d_start.js" ],
      "matches": [ "*://*.br/sei/*", "*://*.br/sip/*", "*://*.ancine.gov.br/*", "*://*.ans.gov.br/*" ],
      "run_at": "document_start"
   }

A combinação vai ficar um pouco maior, mas deve ficar assim:

{
      "all_frames": true,
      "js": [ "lib/jquery-3.2.1.min.js", "cs_modules/core.d_idle.PontoControleCores.js", "cs_modules/core.d_idle.AdicionarIdentificadorSeipp.js", "cs_modules/core.d_idle.MenuSuspenso.js", "cs_modules/core.d_idle.VerificarBlocoAssinatura.js", "cs_modules/core.d_idle.IndicarConfiguracao.js", "cs_modules/core.d_idle.AtalhoPublicacoesEletronicas.js", "cs_modules/core.d_idle.MostrarEspecificacao.js", "cs_modules/core.d_idle.NoButtons.js", "cs_modules/core.d_idle.js" ],
      "matches": [ "*://*.br/sei/*controlador*.php?acao=*", "*://*.br/sip/*controlador*.php?acao=*", "*://*.ancine.gov.br/*controlador*.php?acao=*", "*://*.ans.gov.br/*controlador*.php?acao=*"],
      "run_at": "document_idle"
   }

Para efetuar testes podem fazer acessando qualquer aproc: https://eproc1g.tjrs.jus.br/eproc/externo_controlador.php?acao=principal

Faço parte da equipe de desenvolvimento do eproc do TJRS. se eu puder ajudar em algo podem me chamar. Só não fiz o PR pois não sou usuário do SEI e fiquei com receio de acabar quebrando algo.

valeu.