Fediverse Enhancement Proposals
FEPs com as quais somos compatíveis
As FEPs (Fediverse Enhancement Proposals) são acordos compartilhados sobre como os apps ActivityPub lidam com coisas específicas. Veja aqui cada uma com que somos compatíveis, até onde a implementamos e um link para a proposta completa.
Planejamos lançar o Welley como código aberto no futuro. Ainda não há data de lançamento nem licença anunciadas.
-
FEP-044f
Publicações de citação que respeitam o consentimento
Quem escreve pode decidir se as suas publicações podem ser citadas entre servidores.
O Welley é compatível com pedidos de citação, verificações de autorização, aceitação, recusa e revogação.
- O Welley envia e recebe atividades QuoteRequest e trata a aceitação ou a recusa do pedido.
- Os selos de autorização de citação permitem que os servidores receptores confirmem que o autor consentiu.
- A revogação retira a permissão de uma citação que o autor aprovou antes.
Os outros servidores precisam do protocolo de consentimento para isso funcionar do mesmo jeito. Um link simples ou uma extensão de citação mais antiga não mostra que o autor consentiu.
-
FEP-1311
Anexos de mídia
O Welley envia e recebe anexos de mídia e consegue ler várias versões do mesmo arquivo.
O Welley é compatível com a troca de anexos e com a leitura de variantes. O suporte a algumas recomendações e formas de saída é mais restrito.
- O Welley aceita um único URL de mídia ou uma lista tipada de links de mídia.
- Ele pode usar variantes de tamanho e imagens de prévia de anexos remotos.
- Enviar listas de URLs com várias variantes exige um indicador de configuração, que vem desativado por padrão.
O Welley não implementa a proposta completa. Em especial, ele não trata digestMultibase e, por padrão, envia um único URL principal para manter a compatibilidade.
-
FEP-1b12
Federação de grupos
Canais públicos de grupos podem trocar publicações e comentários com comunidades ActivityPub no estilo de fóruns.
Os canais públicos oferecem suporte a atores Group padrão e a fluxos de anúncio.
- Um canal público usa um ator Group padrão.
- O canal compartilha as publicações aceitas por meio de atividades Announce e mantém o autor original.
- O Welley aceita anúncios de grupos e coloca o conteúdo no canal certo.
As comunidades privadas do Welley usam propriedades extras do Welley. Nem todas as configurações de grupo, regras de participação e ações de moderação passam para outros softwares.
O fórum na visualização por categoria, com o tópico de boas-vindas fixado em primeiro. Os filtros de categoria e de tag e o controle de ordenação ficam acima dele. Ler a propostaFóruns e categoriasCanais públicos no Fediverse
-
FEP-3b86
Activity Intents
Links de interação remota podem guardar o que a pessoa quer fazer.
O Welley oferece suporte a links WebFinger específicos para cada ação e a redirecionamentos de autorização.
- O WebFinger oferece um modelo separado para cada ação compatível, como Follow, Like, Announce e Create.
- A descoberta de grupos também inclui Join.
- O endpoint de interação leva a pessoa à ação certa no Welley.
O app remoto precisa usar esses links de intenção. Os links de intenção de Vote do próprio Welley são extensões, não ações padrão de FEP.
-
FEP-5feb
Consentimento de indexação de busca para atores
Os donos de perfil podem dizer se as publicações públicas deles podem aparecer em índices de busca.
O Welley publica o consentimento de cada conta, importa o consentimento de outros servidores e limita a busca de texto local de acordo.
- O Welley publica a propriedade indexable do ator com base nas configurações de privacidade do perfil.
- Contas em outros servidores precisam permitir a indexação de forma explícita antes que as publicações delas apareçam na busca de texto comum.
- Ao navegar por uma hashtag, ainda é possível encontrar publicações de um autor que não é indexável.
A propriedade pede que outros servidores respeitem o consentimento. Ela não bloqueia o acesso a publicações públicas nem controla mecanismos de busca independentes.
Algumas das configurações de busca, descoberta e de quem pode ver o que está no seu perfil. A navegação e os detalhes da conta foram cortados. -
FEP-7458
Uso da coleção de respostas
Um servidor pode buscar as respostas na publicação original em vez de esperar que elas sejam entregues.
O Welley publica coleções de respostas e busca as remotas.
- O Welley publica uma coleção de respostas paginada para as publicações.
- O Welley busca coleções de respostas remotas e segue as páginas delas.
- Quando alguém encontra uma discussão remota, o Welley pode completar o contexto mais antigo em segundo plano.
Privacidade, moderação, limites de busca e a possibilidade de acessar o outro servidor continuam valendo. Uma coleção não garante uma cópia completa e instantânea de cada discussão.
-
FEP-7628
Mover ator
As contas podem mudar de servidor, e os seguidores passam para a nova conta.
O Welley oferece suporte a mudanças de ator recebidas e enviadas, aliases, redirecionamentos e transferência de seguidores.
- O Welley recebe atividades Move e confere o alias de destino antes de mover os seguidores locais.
- Quando uma conta sai de um servidor, o Welley publica o destino e envia atividades Move para os seguidores em outros servidores.
- O Welley envia Follow para o destino e remove o seguimento antigo.
O Welley define movedTo, e a conta antiga continua acessível. Ele não interrompe toda a entrega para caixas de entrada remotas que mudaram. As publicações precisam de uma exportação ou importação à parte.
A página de migração com suas três etapas e um formulário vazio para o alias de uma conta. Usa conteúdo de comunidade de exemplo. Ler a propostaTraga sua conta para o WelleyMude de servidor e guarde uma cópia
-
FEP-7888
Entendendo a propriedade context
O Welley usa context para conectar discussões de eventos e para buscar algumas coleções de discussão remotas.
O Welley oferece suporte a links de contexto de eventos e a alguns fluxos de coleção de contexto remota.
- As publicações anexadas a um evento podem apontar para o URI do Event como contexto.
- O Welley pode seguir uma coleção de contexto remota, inclusive por meio de um documento intermediário que aponta para a coleção.
O Welley não publica uma coleção de contexto geral para cada conversa. Também não oferece suporte a roteamento completo de público baseado em contexto nem à definição de dono da conversa.
-
FEP-844e
Descoberta de recursos
Outros softwares podem ler, no ator de aplicação do Welley, uma lista estruturada do que ele suporta.
O ator de aplicação publica os recursos do Welley, e isso é testado.
- O ator de aplicação publica um array implements com identificadores e nomes de recursos.
- A resposta inclui o mapeamento JSON-LD dessa propriedade.
- Hoje, o Welley anuncia quinze identificadores de FEP.
O Welley ainda não lê as listas de recursos de outros servidores para negociar funcionalidades.
-
FEP-8a8e
Uma abordagem comum para usar o tipo de objeto Event
Os eventos usam campos comuns do ActivityPub para horários, local, descrição e presença.
O Welley oferece suporte à troca básica de Event e aos fluxos de presença, além de alguns campos de extensão de evento.
- Um Event inclui título, horário de início, horário de término, fuso horário, local e coleção de participantes.
- Create e Update enviam as alterações de eventos.
- Join e Leave levam as mudanças de presença entre servidores Welley.
A versão mais recente da proposta também exige organizadores e traz mais regras para local e capacidade. O Welley não implementa tudo da versão mais recente.
Quem recebe um convite responde Sim, Não ou Talvez. O organizador vê quem vai. -
FEP-8fcf
Sincronização da coleção de seguidores entre servidores
Os servidores podem identificar diferenças nas listas de seguidores e corrigi-las.
O Welley oferece suporte a digests de saída, verificações de entrada, ao endpoint de coleção parcial e a tarefas de correção.
- O Welley adiciona um cabeçalho Collection-Synchronization quando uma entrega pede a sincronização de seguidores.
- O servidor que recebe compara um digest. Se as listas forem diferentes, ele busca a coleção de seguidores daquele servidor.
- O Welley corrige relações de seguidor desatualizadas separadamente da requisição à caixa de entrada.
Os administradores podem desativar a sincronização. O outro servidor precisa implementar o mesmo protocolo.
-
FEP-9098
Emojis personalizados
Emojis personalizados podem acompanhar publicações, perfis e reações.
O Welley oferece suporte a tags de emojis personalizados e à importação deles em conteúdo federado compatível.
- As tags de saída ligam o shortcode de cada emoji à imagem dele.
- O Welley lê tags Emoji de outros servidores e guarda cada shortcode sob o domínio de onde veio.
- As restrições de mídia também valem quando o Welley baixa emojis remotos.
Um bloqueio de mídia pode impedir que a imagem de um emoji seja carregada. Apps de outros servidores podem mostrar o shortcode no lugar.
O editor de emojis personalizados mostra os requisitos do arquivo, um atalho, uma categoria e se o emoji aparece no seletor. -
FEP-9967
Enquetes
As pessoas podem trocar enquetes e votos com servidores compatíveis.
O Welley oferece suporte a enviar e receber enquetes de escolha única e de múltipla escolha, votos e atualizações de resultado.
- As enquetes usam objetos Question com opções oneOf ou anyOf.
- O Welley trata votos vindos de outros servidores e envia os resultados das enquetes.
- Cada enquete federada traz o horário de término, se está encerrada e o número de votantes.
O outro app precisa oferecer suporte a esse formato de enquete. A interface dele pode mostrar controles ou detalhes de resultado diferentes.
O feed mostra texto formatado, um spoiler em linha que o leitor revela com um clique e uma enquete que os leitores podem responder ali mesmo. -
FEP-b2b8
Texto longo
Publicações longas podem usar objetos Article com título, texto completo e uma prévia curta.
O Welley oferece suporte a conteúdo de artigos, prévias, metadados de origem e alguma marcação de texto rico.
- O Welley envia e recebe objetos Article, em vez de tratar toda publicação como uma Note curta.
- Os artigos enviados podem incluir uma imagem de destaque, um resumo e o código-fonte em Markdown.
- O Welley mantém parte da marcação dos artigos, incluindo mídia em linha e anotações ruby.
Se um artigo lista vários autores, o Welley usa o primeiro. Os títulos viram texto em negrito, então parte da estrutura do artigo se perde.
-
FEP-c0e0
Reações com emoji
As reações com emoji funcionam entre servidores.
O Welley oferece suporte a reações com emojis Unicode e personalizados, incluindo remoção e entrega.
- O Welley envia e recebe atividades EmojiReact em publicações compatíveis.
- Undo remove uma reação remota.
- As reações com emojis personalizados levam a tag do emoji e o domínio de origem.
Outros softwares podem oferecer um conjunto diferente de reações. O Welley não oferece a coleção opcional emojiReactions.
Os membros reagem a um tópico do fórum com emoji. Cada emoji tem seu próprio chip e sua própria contagem. -
FEP-c16b
Formatação com funções MFM
Parte da marcação de desfoque do Misskey pode aparecer como um spoiler em linha.
O Welley oferece suporte apenas à formatação de desfoque em publicações recebidas.
- O Welley reconhece trechos de desfoque no código-fonte Markdown do Misskey.
- O Welley transforma classes e atributos de desfoque do MFM compatíveis em um spoiler seguro.
O Welley não implementa o vocabulário completo de funções MFM nem anuncia suporte a htmlMfm. Outros efeitos MFM podem perder a formatação.
O feed mostra texto formatado, um spoiler em linha que o leitor revela com um clique e uma enquete que os leitores podem responder ali mesmo. -
FEP-d556
Descoberta de ator no nível do servidor com WebFinger
Uma consulta WebFinger sobre o servidor pode retornar o ator de aplicação dele.
O Welley oferece suporte à forma de descoberta da proposta por link self, no estilo do Mastodon. Ele não lista um identificador de FEP explícito para isso.
- Uma consulta pelo domínio ou pelo URL configurado do servidor retorna um link self para o ator da instância.
- As duas formas resolvem para o mesmo ator.
A busca exige que o texto corresponda exatamente à origem configurada e não normaliza a barra final. Ela não publica a relação Service recomendada nem oferece suporte a filtro de relações.
-
FEP-e232
Object Links
Publicações de citação incluem links estruturados para as publicações citadas.
O Welley usa Object Links apenas para publicar e importar referências de citação.
- O Welley adiciona uma tag Link com o tipo de mídia de citação do ActivityPub a uma citação enviada.
- O Welley reconhece a mesma forma de link em publicações recebidas, inclusive links sem nome.
Isso cobre links de citação. Não cobre todos os tipos de mídia possíveis de Object Links.
-
FEP-efda
Objetos que podem ser seguidos
Você pode seguir uma publicação e receber a atividade posterior da discussão dela.
Follow(post) e Undo funcionam nos dois sentidos e são testados.
- O Welley envia Follow com o URI da publicação como objeto.
- Seguimentos de publicação recebidos e atividades Undo atualizam as inscrições em publicações.
- Seguir uma publicação é diferente de seguir o autor dela.
A versão mais recente da FEP usa uma coleção de seguidores para descobrir objetos que você pode seguir. As publicações do Welley não expõem essa coleção nem um algoritmo geral de descoberta. No Welley, o recurso ainda usa o nome mais antigo, Publicações seguidas.
-
FEP-f1d5
NodeInfo em softwares do Fediverse
Outros servidores podem encontrar detalhes do software e do protocolo do Welley pelo NodeInfo.
O Welley oferece suporte à descoberta por NodeInfo e à resposta 2.0.
- O endpoint público de descoberta aponta para o documento NodeInfo 2.0.
- O documento lista a versão do software, o suporte a ActivityPub e a URL base do FASP.
Por enquanto, a resposta usa contagens de uso e status de registro fixos. Não use essa resposta como estatística ao vivo do servidor. Não há rota 2.1.
-
FEP-fe34
Modelo de segurança baseado em origem
As verificações de origem ajudam a impedir que um servidor reivindique conteúdo ou autoridade que pertence a outro.
O Welley tem várias verificações de segurança baseadas em origem, e elas são testadas.
- O Welley compara o esquema, o host e a porta efetiva dos URIs.
- A caixa de entrada rejeita certas atividades quando a origem do objeto não corresponde à origem do ator.
- Os caminhos de busca remota, citação, coleção e presença acrescentam mais verificações de origem.
Isso é só uma parte do modelo de segurança. Não inclui Object Integrity Proofs.