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

@ -539,29 +539,18 @@
"count": "Avalada por {n}",
"vouch": "Conozco a esta persona",
"vouched": "Avalas a esta persona",
"circle": "En tu círculo",
"member": "Miembro de confianza de la red"
"circle": "En tu círculo"
},
"wot": {
"title": "Red de confianza",
"open": "Red de confianza",
"help": "Cómo se decide quién es miembro de confianza: la gente se avala entre sí, y la confianza se extiende desde un conjunto de raíces fundadoras.",
"roots": "Raíces de confianza",
"rootsHelp": "Las identidades fundadoras que anclan la red. Añade a quien te fíes (pega su código de identidad); la membresía se mide hacia fuera desde ellas.",
"noRoots": "Aún no hay raíces de confianza — no se puede calcular la membresía hasta sembrar la red.",
"addRoot": "Añadir una raíz de confianza",
"rootHint": "Pega un código de identidad (npub…)",
"add": "Añadir",
"rootAdded": "Raíz de confianza añadida",
"rootInvalid": "Ese no es un código de identidad válido",
"remove": "Quitar",
"params": "Parámetros avanzados",
"paramsHelp": "Reglas Duniter. Aflójalas para una red joven; apriétalas según crece.",
"sigQty": "Avales para ser miembro",
"stepMax": "Distancia máxima a una raíz",
"validityDays": "Validez del aval (días)",
"reset": "Restablecer a valores Duniter",
"saved": "Guardado"
"yourPeople": {
"title": "Tu gente",
"help": "Personas que conoces y avalas, y personas que te avalan.",
"youVouchFor": "Tú avalas a",
"vouchesForYou": "Te avalan",
"youVouchForEmpty": "Aún no avalas a nadie. Cuando conozcas a alguien, abre vuestro chat y toca \"Conozco a esta persona\".",
"vouchesForYouEmpty": "Nadie te avala todavía",
"revoke": "Dejar de avalar",
"revokeConfirm": "¿Dejar de avalar a esta persona?",
"offline": "Sin conexión — inténtalo cuando estés en línea"
},
"notifications": {
"newMessageFrom": "Nuevo mensaje de {name}"