Ótima funcionalidade! No entanto
estou mais curioso sobre a ordenação Top / Novo / Antigo do que sobre o próprio layout aninhado. Já implementei controles de ordenação semelhantes no meu aplicativo móvel (um cliente Discourse) e adoraria dar suporte a isso nativamente, em vez do meu método atual, embora funcione, como mostrarei abaixo.
Analisando o código-fonte, vejo que GET /n/{slug}/{topic_id}.json?sort={top|new|old}&page={n} retorna o tópico na visão aninhada, ordenado pelo modo escolhido. Minha pergunta: há interesse em expor apenas a ordenação através do endpoint existente /t/{slug}/{topic_id}.json (por exemplo, ?sort=top), para que clientes em visão plana também se beneficiem?
Se a ordenação estivesse disponível na visão plana, clientes de terceiros poderiam optar por usá-la sem adotar o modelo de renderização de visão aninhada.
Entendo que a estrutura de dados da visão aninhada (postagens raiz + filhos preguiçosos) é o que torna a ordenação no lado do servidor viável, e que a visão plana usa paginação diferente. Se uma ordenação completa na visão plana não for realista por motivos de desempenho, até mesmo um ?sort=top&limit=N opcional seria suficiente para impulsionar uma visão de “destaques”.

