Mudanças drásticas no Lemmy 1.0

As principais mudanças de ruptura para a versão 1.0 já foram implementadas. No entanto, ainda será necessário muito trabalho para implementar os novos recursos no lemmy-ui e publicar a versão final. Então, este é um bom momento para os desenvolvedores de clientes Lemmy começarem a adaptar a nova API e sugerir mudanças antes que ela seja finalizada.

Se você usa algum aplicativo, frontend ou bot para o Lemmy, ajude-nos notificando os desenvolvedores sobre esta publicação.

Com a nova versão, há toda uma nova documentação baseada em OpenAPI , graças a @dessalines e @MV-GH. Você também pode testar a nova API em voyager.lemmy.ml e com a versão Lemmy 1.0.0-alpha.0. Observe que este servidor ainda usa lemmy-ui 0.19.8 com API v3, porque lemmy-ui ainda não foi atualizado para a nova versão de backend.

Infelizmente, não há uma boa maneira de ver todas as alterações da API entre 0.19 e 1.0, mas você pode tentar visualizar a diferença em lemmy-js-client ou ver as solicitações de pull listadas abaixo.

Se você tiver alguma dúvida sobre essas mudanças, sinta-se à vontade para postar em !lemmy_support@lemmy.ml ou no Development Chat no Matrix . Se você tiver sugestões para quebrar as mudanças da API antes que a nova versão seja finalizada, abra um issue .

Aqui estão as principais mudanças de API em detalhes. Como esta é uma versão alfa, pode haver mais mudanças drásticas antes do lançamento final, mas nada importante.

Renomear pontos de extremidade da conta

Vários endpoints foram renomeados, especialmente aqueles em /api/v3/userforam movidos para /api/v4/account/auth. Essas mudanças são totalmente compatíveis, pois os endpoints ainda podem ser chamados em /api/v3.

  • /api/v3/user/registerpara/api/v4/account/auth/register
  • /api/v3/user/loginpara/api/v4/account/auth/login
  • /api/v3/user/logoutpara/api/v4/account/auth/logout
  • /api/v4/sitenão tem my_usermais, agora está disponível emGET /api/v4/account

https://github.com/LemmyNet/lemmy/pull/5216

Pontos finais combinados

Há vários lugares na UI onde diferentes tipos de dados são mostrados juntos, por exemplo, posts e comentários no perfil do usuário. Até que 0.19estes fossem consultados separadamente, para exibir os (últimos 20 posts) e (últimos 20 comentários). Para 1.0Dessalines implementou consultas combinadas, para que o novo endpoint /api/v4/person/contentretorne os últimos 20 (posts e comentários). Veja o problema e os pull requests vinculados para mais detalhes.

Os pontos finais combinados são:

Observe que os endpoints para modlog, lista de relatórios e pesquisa também retornam dados combinados na API v3 no Lemmy 0.19, porque torná-los compatíveis com versões anteriores exigiria uma quantidade excessiva de trabalho.

Pontos finais de imagem

O upload ou a exclusão de avatares, ícones e banners agora é feito por endpoints separados. Com essa mudança, é possível desabilitar uploads de imagens, mas ainda permitir alterações em avatares, etc.

Os pontos de extremidade para upload e proxy de imagens foram movidos para GET /api/v4/image/{filename}e GET /api/v4/image/proxyrespectivamente.

https://github.com/LemmyNet/lemmy/pull/5260

Outras mudanças de última hora

Esta lista provavelmente está incompleta.

Novos recursos (não quebrando)

Esta lista está definitivamente incompleta e mais recursos serão adicionados antes do lançamento final.