- Expédié
- 3 août 2026 à 02:30 UTC
- Auteur
- Kamo
- Commite
- 8e610de
Entreposage et questions pour la chaîne expéditeur-avatar de la boîte aux lettres. SenderIdentityEntity est le niveau durable de la cache d'avatar. la clé naturelle plutôt que la décoration: USERS.EMAIL n'est unique que par sécurité fournisseur, donc une réponse dérivée des données de locataire ne doit pas être visible par un autre locataire. Les réponses de niveau externe (BIMI/favicon/Gravatar) sont véritablement mondiales et Partagez une org sentinelle afin que chaque locataire partage le taux de succès. Les mis sont conservés sous forme de rangées, pas d'absences - sans cela, chaque expéditeur insoluble refait exploser l'ensemble chaîne de fournisseurs sur chaque vengeance de la boîte de réception. OrgAvatarSettingsEntity divise la chaîne par ce qui sort du bâtiment. Le niveau d'identité est défaut OFF parce qu'il divulgue un recueil de commentaires d'un correspondant à un tiers qui, sur un prêt, est une décision concernant un tel règlement l'identifiant de l'emprunteur plutôt qu'une préférence d'affichage. Les ajouts de dépôt existent car rien de tout cela n'était accessible avant: - ContactEmailRepository n'a pas été consulté par adresse - seulement sous-corresté LIKE pour l'auto-complet, donc un contact qui avait une photo ne pouvait pas être résolu de a De: en-tête. - Les résultats des recherches par lots membres/utilisateurs sont org-lavés et prennent des entrées pré-sous-dévalisées. LOWER() est appliqué à la colonne stockée uniquement; les courriels persistent mot pour mot (EmbEmail n'a pas de normalisateur) et l'égalité de CockroachDB est sensible à la prudence. - Les projections avatar-id renvoient les id plutôt que les entités à dessein. Les deux Member.avatar et User.avatar sont des associations paresseuses sur une hiérarchie JOINED: un appelant en dehors d'une transaction obtient LazyInitializationException, et un à l'intérieur obtient un mandataire de type base qui ne se rétrécit jamais par AvatarPhoto, en plaçant le fichier l'extension nécessaire pour construire l'URL hors de portée. - - remplace un findAll() un balayage complet qui a fonctionné une fois par message indexé. PublicHostGuard est partagé plutôt que dupliqué parce qu'il s'agit d'une sécurité contrôle: il décide si une adresse est quelque part, nous enverrons une demande qui une partie non fiable a choisi. Testé par rapport aux techniques de dérivation réelle - IPv4-mappé IPv6, 6 à 4, NAT64, CGNAT et métadonnées de liaison-local. À droite 177, la décision de divulgation.