Em versões do Discourse anteriores à 2.8.0.beta5, se você editar um tópico e clicar no menu suspenso de seleção de Categoria, a categoria atual é selecionada e rolada na lista de categorias, de modo que fique imediatamente visível no topo, e suas subcategorias (se houver) fiquem visíveis. O tópico pode então ser facilmente movido para uma subcategoria mais apropriada.
Funcionando em 2.8.0.beta4 e anteriores:
A partir da 2.8.0.beta5, a categoria atual não é mais rolada ao abrir o menu suspenso de seleção de Categoria:
Espero que estas curtas demonstrações em vídeo sejam úteis para mostrar rapidamente o que estou tentando descrever.
Nota: nos meus exemplos, tenho as opções “posições fixas de categoria” e “posições fixas de categoria na criação” ativadas, no entanto, a rolagem para o comportamento atual está faltando com essas opções ativadas ou desativadas.
Confirmei isso em desenvolvimento local instalando a 2.8.0.beta4 e observando o comportamento desejado, e depois atualizando para a 2.8.0.beta5 e observando que o comportamento não funcionava mais.
Vasculhei o código até encontrar o seguinte grande commit envolvendo select-kit.js onde a mudança ocorreu (espere um momento e ele deve pular para as linhas de código em questão):
O seguinte código foi removido do método _scrollToRow(), que é chamado pelo método _scrollToCurrent():
if (rowContainer) {
const collectionContainer = rowContainer.parentNode;
collectionContainer.scrollTop =
rowContainer.offsetTop - collectionContainer.offsetTop;
}
Confirmei que adicionar este código de volta ao select-kit.js na 2.8.0.beta5 corrige o problema, embora como não está claro para mim por que foi removido, estou incerto sobre outros possíveis efeitos colaterais de adicioná-lo de volta.
Obrigado por dar uma olhada nisso, e espero que possamos fazer esse comportamento funcionar novamente em uma versão futura.