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/user
foram 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/register
para/api/v4/account/auth/register
/api/v3/user/login
para/api/v4/account/auth/login
/api/v3/user/logout
para/api/v4/account/auth/logout
- …
/api/v4/site
não temmy_user
mais, 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.19
estes fossem consultados separadamente, para exibir os (últimos 20 posts) e (últimos 20 comentários). Para 1.0
Dessalines implementou consultas combinadas, para que o novo endpoint /api/v4/person/content
retorne os últimos 20 (posts e comentários). Veja o problema e os pull requests vinculados para mais detalhes.
Os pontos finais combinados são:
GET /api/v4/person/content
GET /api/v4/account/inbox
GET /api/v4/account/saved
GET /api/v4/modlog
GET /api/v4/report/list
GET /api/v4/search
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/proxy
respectivamente.
https://github.com/LemmyNet/lemmy/pull/5260
Outras mudanças de última hora
Esta lista provavelmente está incompleta.
- Adicionando uma coluna default_comment_sort_type para local_site e local_user
- Removendo a coluna local_user.show_scores, pois agora ela está na tabela local_user_vote_display_mode.
- Mova emojis personalizados e visualizações de slogans para pontos de extremidade separados
- Remover block_views inúteis
- Adicionando capacidade de restaurar conteúdo ao desbanir o usuário
- Alterando list_logins para retornar um objeto ListLoginsResponse.
- Remover local_user_id inútil de LocalUserVoteDisplayMode
- Remover habilitar nsfw
- Blocos de instância com entrada e expiração de log de mod
- Renomear colunas actor_id para ap_id
- Incluir data salva nas respostas da API
Novos recursos (não quebrando)
Esta lista está definitivamente incompleta e mais recursos serão adicionados antes do lançamento final.
- Novos parâmetros para GET /api/v4/search
- Novos parâmetros para GET /api/v4/post/list
- Adicionando um endpoint get_random_community. - GET /api/v4/community/random
- Adicionando um campo can_mod ao CommentView, PostView e CommunityView. (ainda não mesclado)
- Comunidades privadas
- Suporte SSO
- Solicitar suporte de idempodência
- Adicionar suporte para diálogo de doação
- Retornar código de status correto para erro de limite de taxa
- Adicionar configuração de filtro de mídia
- Agendamento de postagens
- Visualizações de comentários reduzidas - OBTER
/api/v4/comment/list/slim
Vc é incrível Ademir; abraço!