Estive experimentando para conseguir uma aparência diferente em relação a outros sites e construí um modal de tópico estilo Facebook. Parece carregar mais rápido para mim e parece ser mais fluido no desktop.
Muito legal! Você testou em tópicos com 20+ respostas? É quando carregamos mais “páginas” de posts ao rolar a tela e, na minha experiência, é uma das maiores complicações com esse tipo de visual alternativo
É, essa é a próxima coisa que preciso investigar, mas tenho pensado nisso: faz diferença? É o mesmo comportamento do Facebook: o link direto leva à publicação real, e se clicado enquanto navega, abre o modal.
Sim, porque o modal carrega a aplicação normal de tópicos do Discourse dentro de um iframe, em vez de renderizar uma cópia personalizada do tópico. O iframe estabelece sua própria conexão com o MessageBus e o Discourse continua a gerenciar o fluxo de publicações normalmente, incluindo o carregamento de publicações mais antigas e o recebimento de novas publicações.
A página principal também permanece ativa ao fundo, então, tecnicamente, há duas instâncias do Discourse e duas conexões com o MessageBus enquanto o modal está aberto. Isso funciona, embora seja um pouco mais pesado do que uma implementação totalmente nativa. Fechar o modal remove o iframe e sua conexão.
Fiquei apenas surpreso porque clicar no seu link não exibiu o tópico em uma janela modal, já que você o postou justamente para mostrar que funcionava em uma janela modal.
A minha publicação original era um link para a página inicial. Você clicou na minha resposta ao Kris testando os tópicos, hahaha? Como estão as coisas, aliás? Já faz um tempo que não te vejo.
Acabei de terminar a versão móvel e estou satisfeito com o funcionamento geral. O próximo passo é encontrar uma maneira melhor de fazer isso e reduzir o tempo de carregamento. Alguém tem alguma sugestão?
Após mais testes, utilizei a versão sem JavaScript que o Google visualiza, e ela carrega instantaneamente no modal. Se eu puder de alguma forma usar o conteúdo dessa versão, isso tornaria o processo muito mais rápido.
No entanto, a velocidade de carregamento no dispositivo móvel está um pouco lenta. Após clicar, é possível ver apenas uma página sem conteúdo e o botão de fechar no canto superior direito, o que parece exigir que se espere muito tempo diante de uma página em branco.
Isso é o que estou trabalhando agora No momento, é apenas um conceito que quero tornar realidade. No entanto, no meu dispositivo, ele carrega em 2 segundos no celular com o ícone de carregamento do Discourse, então não tenho certeza do que está acontecendo. Provavelmente porque o servidor está em Londres, Reino Unido, sem CDN até o momento.
Agora os tópicos carregam instantaneamente no modal, agora preciso encontrar uma maneira de usar a primeira instância do Discourse carregada para as respostas, etc. (isso está no servidor de teste)
Desativei isso no site principal, pois agora está recebendo tráfego com pessoas se registrando, então foi movido para um servidor de teste. Espero ter isso concluído até meados de agosto, caso alguém tenha interesse em um modal.