Clairer les données de session avant de supprimer la clé pour s'assurer que la session est inutilisable
- Fixer les données de session à vider JSON avant de supprimer la clé - S'assure que la session est inutilisable même si la suppression échoue ou qu'il y a un r...
Améliorer la compensation des cookies de connexion - cookies transparents dans toutes les combinaisons domaine/chemin
- Cookies clairs avec un domaine de base (par exemple, .kamocrm.com) pour couvrir tous les sous-domaines - Cookies clairs pour le nom d'hôte actuel sans attribu...
Utiliser le champ avatarType au lieu de la détection par procuration complexe
- Vérifiez directement le champ avatarType pour une vérification de type simple - Mettre en place l'avatarType lors de la création de nouveaux avatars - Approch...
Interroger tous les avatars de l'utilisateur pour obtenir une entité réelle au lieu d'un mandataire
- Obtenir userId à partir de l'avatar, puis revendre findByUserId (retourne des entités réelles) - Trouver l'avatar correspondant à partir de la liste et vérifi...
Utiliser un filtre simple pour vérifier si l'avatar est photo ou Avatar Creator
- Supprimer la logique de détection par procuration complexe - Il suffit de filtrer trouverById résultat pour vérifier s'il s'agit d'AvatarPhoto - Si ce n'est p...
Utiliser Hibernate LazyInitializer pour obtenir la classe d'entité réelle à partir de la proxy
- Accéder à HibernateProxy's LazyInitializer pour obtenir une classe persistante - Vérifiez si la classe persistante est AvatarPhoto ou AvatarAvatar Creator - I...
Supprimer les avertissements variables non utilisés dans la détection de type avatar
Utiliser le moulage direct pour déterminer le type d'avatar au lieu de la réflexion
- Essayez d'abord de lancer AvatarPhoto pour forcer l'initialisation par procuration - Access getFileExtension() directement après le moulage - Retour à AvatarA...
Améliorer la détection de type proxy en accrochant InvocationCarire IncregetException
- Gonfler la classeCastException lors de l'appel de méthodes sur des méthodes à titre de mandataire pour déterminer le type réel - Essayez getFileExtension d'ab...
Améliorer la manipulation par proxy hiberné pour la détection de type avatar
- Hiérarchie de classe et interfaces pour la méthode getFileExtension - Utiliser la réflexion pour détecter AvatarPhoto vs AvatarAvatar Creator en cas d'échec -...
Recharger l'avatar du dépôt pour résoudre l'instance de mandataire Hibernate
- Les entités avatares chargées à partir de relations peuvent être des intermédiaires d'hibernés qui échouent à l'origine des contrôles - Recharger l'avatar du ...
Ajouter une connexion détaillée pour getThemeDomain et getPublicBucketUrl pour déboguer les problèmes de génération d'URL debug
Ajouter une connexion détaillée à la génération d'URL d'avatar pour le débogage
- Loger lorsque des URL d'avatars sont générées, quelles URL sont créées - Log lorsque les avatars sont manquants ou que les URL sont nulles - Cela permettra d'...
Déterminer l'avatar actif en vérifiant user.getAvatar() au lieu de RecordState
- Backend indique maintenant correctement quel avatar est actif en comparant à user.getAvatar() - Cela garantit que le drapeau isActive dans la réponse de l'API...
Ajouter les URL de l'avatar aux membres du point d'extrémité par département avec mécanisme d'annulation
- Inclure l'URL de l'avatar dans chaque réponse de membre - Mécanisme de dérogation pour respect: avatar membre (s'il existe) avatar de l'utilisateur (par défau...
Gérer le format de la date ISO et améliorer l'analyse du type d'avatarId
- Prise en charge du format de la date ISO (AAAA-MM-JJ) en plus de M/j/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - Amélioration de l'analyse de l'avatarId pour traiter...
Ajouter une meilleure gestion des erreurs et une meilleure connexion pour les opérations de sauvegarde utilisateur/membre
- Ajout d'une prise de vue sur l'exploitation de la sauvegarde de l'utilisateur avec une analyse d'erreurs détaillée - Ajout d'une opération de prise en charge ...
Améliorer l'analyse de l'avatarId pour manipuler les types de cordes, d'entier et de longs
- Ajout d'un soutien à l'analyse de l'avatarId à partir du type chaîne - Meilleure gestion des erreurs pour les formats avatarId invalides - Ajout de l'enregist...
Ajouter une connexion détaillée à la mise à jourMemberProfile pour le débogage
- Ajout de la connexion au début de la mise à jourMédiumèmeMériode - Ajout de l'enregistrement avant et après avoir sauvegardé l'utilisateur et le membre - Amél...
Ajouter un support pour la mise à jour des champs de nom d'utilisateur et de la dateOfBirth dans le profil des membres
- Ajout du référentiel d'utilisateurs à MemberController - Mise à jour Mise à jourMemberProfil pour traiter le nomPrefix, nomPremière, nomMiddle, nameDernier, n...
A conserver le hash et l'extension de l'avatar dans les données de la session
- Mise à jour Ajout de la méthode de la session de KSessionService pour la mise à jour des champs de session - Mise à jour de l'ensembleActiveAvatar pour stocke...
Inclure les URL des avatars dans la réponse du profil des membres
- Ajout de méthodes d'aide pour générer des URL d'avatars (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Mise ...
Ajouter ThemeBackgroundContrôleur avec stockage basé sur le hachage et support de seau public
Utiliser la structure correcte du godet et du chemin d'objets pour les téléchargements MinIO
- Changer le nom de seau de domaine en un seau à un compartiment "public" - Inclure le chemin de domaine (par exemple, kamocrm-com) dans le nom de l'objet, et n...
Gérer correctement les défaillances de téléchargement MinIO pour les avatars
- Supprimer l'exception silencieuse avaler dans la création d'avatars Créateur d'Avatar - Ajouter une manipulation d'erreurs appropriée et un retour en arrière ...
Supprimer le code de repli basé sur l'identifiant, utiliser uniquement la dénomination basée sur le hachage
- Supprimer toute la logique de secours d'essai pour la colonne de fichierHash manquante - Supprimer les retraits de noms de fichiers basés sur l'identifiant - ...
Poignée manche fileHash column gracieusement
- Ajouter l'accès à la base de données manquante pour gérer la colonne de base de données manquante - Retour à la dénomination de fichier basée sur l'ID si la c...
Mettre en œuvre le stockage de fichiers basé sur le hachage pour les avatars
- Générer le hachage SHA-256 à partir de l'ADN de l'avatar après la persistance - Stocker le hachage dans le champ de fichier de base de donnéesHash - Télécharg...
S'assurer que l'URL du domaine de thème inclut le protocole https://
Supprimer transformAvatarUrl - utiliser des URL directement à partir du backend
Ajouter la journalisation et s'assurer que le format URL du compartiment public correspond au modèle de travail
Passage complet au compartiment public pour toutes les opérations d'avatar
Retourner à getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint cassait les téléchargements
Ajouter une logique de re-essai pour les téléchargements de dépendances Maven pour gérer les défaillances centrales transitoires
Utiliser un domaine de thème pour les URL présignées dans AvatarController
Rebuild avatar system - backend génère des URL présignées directement comme des arrière-plans
Simplifier StorageClutteur - valider OTK, obtenir une image, le streamer
Valider OTK directement dans StorageController et l'image du flux
Générer des URL présignées puis remplacer le nom d'hôte par un domaine de thème
Utiliser getPresignedUrlWithEndpoint avec domaine de thème pour toutes les URL d'avatar
Utiliser la méthode getPresignedUrl qui fonctionne au lieu de getPresignedUrlWithEndpoint
Ajouter une connexion détaillée à la génération d'URL d'avatar pour identifier les défaillances
Générer des URL présignées avec un domaine de thème directement en backend pour les avatars
Return objectPath au lieu des URL présignées - Next.js les générera
Utiliser getPresignedUrlWithEndpoint pour générer des URL avec une signature correcte pour le domaine de thème
Remplacer le point d'extrémité IP interne par le domaine de thème dans les URL présignées en remplacement
Ajouter une connexion complète à la génération d'URL de l'avatar pour déboguer les URL vides
Comme ce que tu vois expédier ?
Chacune de ces mises à jour atterrit automatiquement dans votre espace de travail. Commencez gratuitement et regardez-le grandir semaine après semaine.