refactor(trust): ego-centric trust replaces the global Duniter membership

The global membership rule (curated bootstrap referents + sigQty/stepMax
parameters) solved sybil-proof identity for a UBI — a problem this app
doesn't have — and its screen leaked graph jargon (npub roots, parameter
steppers). Trust is now computed from the user's own position only:
you vouch / vouched by people you know (distance <=2) / vouched by N.

- TrustCubit: drop networkMember tier, referents and params; keep the
  circle rule and the 365-day vouch expiry (renewable, self-pruning).
- Delete TrustReferents, WotSettings, TrustNetworkScreen and the bundled
  referents asset; unwire injector/bootstrap/app/chat.
- New 'Your people' screen (/your-people, from the profile): who you
  vouch for (revocable) and who vouches for you, names via ProfileCache.
- i18n: wot.* removed, yourPeople.* added (en/es/pt/ast); trust.member
  removed. Kind 30777 events on relays stay fully compatible — only the
  interpretation changes.
This commit is contained in:
vjrj 2026-07-11 13:03:20 +02:00
parent 4af90876f4
commit dc7b2eee27
25 changed files with 595 additions and 863 deletions

View file

@ -536,29 +536,18 @@
"count": "Avalizada por {n}",
"vouch": "Conheço esta pessoa",
"vouched": "Avalizas esta pessoa",
"circle": "No teu círculo",
"member": "Membro de confiança da rede"
"circle": "No teu círculo"
},
"wot": {
"title": "Rede de confiança",
"open": "Rede de confiança",
"help": "Como se decide quem é membro de confiança: as pessoas avalizam-se entre si, e a confiança estende-se a partir de um conjunto de raízes fundadoras.",
"roots": "Raízes de confiança",
"rootsHelp": "As identidades fundadoras que ancoram a rede. Adiciona quem confias (cola o seu código de identidade); a filiação mede-se para fora a partir delas.",
"noRoots": "Ainda não há raízes de confiança — não se pode calcular a filiação até semear a rede.",
"addRoot": "Adicionar uma raiz de confiança",
"rootHint": "Cola um código de identidade (npub…)",
"add": "Adicionar",
"rootAdded": "Raiz de confiança adicionada",
"rootInvalid": "Esse não é um código de identidade válido",
"remove": "Remover",
"params": "Parâmetros avançados",
"paramsHelp": "Regras Duniter. Afrouxa-as para uma rede jovem; aperta-as à medida que cresce.",
"sigQty": "Avais para ser membro",
"stepMax": "Distância máxima a uma raiz",
"validityDays": "Validade do aval (dias)",
"reset": "Repor para valores Duniter",
"saved": "Guardado"
"yourPeople": {
"title": "A tua gente",
"help": "Pessoas que conheces e avalizas, e pessoas que te avalizam.",
"youVouchFor": "Tu avalizas",
"vouchesForYou": "Avalizam-te",
"youVouchForEmpty": "Ainda não avalizas ninguém. Quando conheceres alguém, abre a vossa conversa e toca em \"Conheço esta pessoa\".",
"vouchesForYouEmpty": "Ainda ninguém te avaliza",
"revoke": "Deixar de avalizar",
"revokeConfirm": "Deixar de avalizar esta pessoa?",
"offline": "Sem ligação — tenta novamente quando estiveres em linha"
},
"notifications": {
"newMessageFrom": "Nova mensagem de {name}"