Atualização recente quebrou minha barra de navegação superior

Uma atualização recente quebrou minha barra de navegação superior — mais especificamente, a barra carrega (ela fica visível por um instante), mas depois o cabeçalho padrão do Discourse se sobrepõe a ela e a esconde.

Estou tentando descobrir exatamente o que aconteceu e/ou como corrigir. Alguém poderia me dar uma direção?

Ao inspecionar a página no navegador, percebi que definir

.d-header-wrap {
    margin-top: 48px;
}

move o cabeçalho para baixo, revelando a barra de navegação (que tem 48px de altura), e isso parece ter resolvido o problema.

Mas não tenho certeza se essa é uma solução sustentável e também ainda estou curioso para saber exatamente o que aconteceu.

Também precisei remover

#main-outlet { margin-top: 48px; padding-top: 75px;}

do meu componente para eliminar o espaço em branco adicional que apareceu sob o cabeçalho. Esse código funcionou perfeitamente por anos, então estou curioso sobre o que causou essa quebra…

Também removi outra coisa, como

#main-outlet.docked {
    margin-top: 0px;
    padding-top: 123px
}

porque não parecia fazer diferença.

Edição: O acima descrito é válido para o CSS de desktop. No mobile, não precisei aumentar o valor Z da barra de navegação.

O cabeçalho mudou de position: fixed para position: sticky (REFACTOR: Remove position fixed from the header and use sticky instea… · discourse/discourse@da5841d · GitHub) — esta é uma das atualizações que conseguimos fazer ao abandonar o suporte ao IE11.

A mudança corrige alguns pequenos problemas que tínhamos com o cabeçalho desde a existência do Discourse… funcionalmente, isso significa que, em vez de estar em uma posição fixa (e sem relação com a posição de outros elementos na página), o cabeçalho agora faz parte do fluxo natural dos elementos na página… é por isso que o preenchimento e a margem do main outlet não são mais necessários.

Quando a mudança foi feita inicialmente, havia um preenchimento extra no mobile no CSS padrão, mas isso foi corrigido um ou dois dias depois… Acredito que você atualizou no dia entre a mudança inicial e a correção; se atualizar novamente, o problema deve desaparecer (alternativamente, você pode adicionar .mobile-view #main-outlet { padding-top: 0.25em; } se não quiser atualizar novamente).

Sua correção com .d-header-wrap parece sustentável para mim.

Veja também Header Submenus - #103 by Mark_Schmucker. Não tenho certeza se a solução sustentável proposta se aplica a isso, mas acredito que estejam relacionados à mesma alteração.

Acabei de atualizar para a versão mais recente (2.8.0.beta4) após muitos meses de negligência e parece que minha correção não foi tão sustentável (ou talvez o problema atual não esteja relacionado a essa correção). Estou trabalhando agora para descobrir o que aconteceu e atualizarei aqui assim que souber, mas se o seguinte soar familiar para alguém, por favor, me avise.

Basicamente, o que aconteceu foi o mesmo descrito no OP, exceto que, desta vez, não é o cabeçalho do Discourse cobrindo a barra de navegação superior mas a barra de navegação superior cobrindo o cabeçalho do Discourse . (edição: agora acredito que o cabeçalho não está coberto, mas simplesmente não está sendo renderizado). Quando desativo o tema padrão no modo seguro, ele exibe corretamente.

Estranhamente, porém, quando navego para /admin/customize/themes/11/desktop/scss/edit, tanto o cabeçalho do Discourse quanto a barra de navegação superior são exibidos corretamente (tanto no modo seguro quanto no modo normal). Acredito que a razão pela qual não há diferença entre o modo seguro e o modo normal na página do tema é que o modo seguro não se aplica a algumas páginas de administração. Mas o que não entendo é por que tudo é exibido corretamente nas páginas de administração, mas não em outros lugares.

Outra coisa que não entendo: quando acesso o site no meu celular, ele também é exibido corretamente, mesmo quando solicito explicitamente a versão para desktop…

Vou investigar mais, mas apreciaria qualquer dica aqui.

Edição: Aqui está o que vejo ao inspecionar uma página pública (no modo normal):

E aqui está o que vejo ao inspecionar uma página de administração (no modo normal):

Como você pode ver, minha correção de CSS está presente em ambos os casos, mas apenas a segunda renderiza a página corretamente…

OK, acredito que consertei. O cabeçalho que desaparecia não estava relacionado à minha correção, mas foi causado por este componente do tema:

Removê-lo resolveu o problema. Talvez @Johani entenda o que está causando isso? Talvez esteja relacionado ao

Controle adicional de iframes em oneboxes

introduzido em Discourse Version 2.6 - #2 by neil?