Blindagem quádrupla erradica o efeito Droste de aninhamento recursivo em iframes

[!NOTE] Resumo Executivo (DEV-2026-062): Ferramentas embutidas em iframes dentro do dashboard causavam loop visual de espelhamento recursivo ao navegar internamente. A injeção sistemática de frame-busting, diretiva base global e guarda de pathname isolou a execução de cada módulo.


🚨 O Desafio Técnico / Contexto

Ao consolidar dezenas de utilitários isolados sob o dashboard central do DevStudio, qualquer link interno de retorno ou navegação relativa recarregava a casca inteira da aplicação dentro do próprio iframe. Esse aninhamento infinito (Efeito Droste) degradava a memória do navegador, poluía o histórico de navegação e quebrava o ciclo de vida do Service Worker em modo standalone PWA.


💡 Principais Lições Aprendidas & Descobertas

  • 💡 Links sem atributo target em páginas dentro de iframes navegam no contexto local do frame; base target=_top no head força toda âncora padrão a quebrar o frame para a janela raiz.
  • 💡 Script com window.top !== window.self no host principal impede que o próprio dashboard seja encapsulado como iframe por sites externos ou por suas próprias ferramentas filhas.
  • 💡 Comparar window.parent.location.pathname com window.location.pathname detecta auto-incorporação recursiva e redireciona imediatamente a janela de topo para a URL atual.
  • 💡 Injetar a proteção via pipeline automatizado em Python garante cobertura contínua sem depender de refatoração manual em dezenas de ferramentas legadas.

🛠️ Especificação Técnica & Código-Chave

<!-- Injeção no head das ferramentas filhas -->
<base target="_top">
<script>
  if (window.self !== window.top) {
    try {
      if (window.parent && window.parent.location.pathname === window.location.pathname) {
        window.top.location.href = window.self.location.href;
      }
    } catch (e) {}
  }
</script>

📈 Impacto no Ecossistema & Valor Prático

O DevStudio opera com navegação fluida sem loops visuais, mantendo o isolamento de cada ferramenta e execução íntegra offline no PWA.

  • Projetos Relacionados: artesdosul, devstudio
  • Registro de Origem: _data/daily.dev-07.yml

Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.