Verbessern Sie das Logout-Cookie-Cookies - klare Cookies über alle Domain/Wepath-Kombinationen hinweg
- Klare Cookies mit Basisdomäne (z.B., .kamocrm.com) zur Abdeckung aller Subdomains - Klare Cookies für aktuellen Hostnamen ohne Domain-Attribut - Cookies unein...
Trigger-Pipeline nach Kamo-shared-Bibliothek avatarType-Feld-Update
Verwenden Sie avatarType-Feld anstelle komplexer Proxy-Erkennung
- Überprüfen Sie avatarType Feld direkt für einfache Typprüfung - avatarType beim Erstellen neuer Avatare setzen - Viel einfacher und performanter Ansatz
Abfrage alle Benutzer-Avatare, um echte Einheit statt Proxy zu bekommen
- Erhalten Sie userId von avatar, dann abfragen findByUserId (kehrt echte Entitäten um) - Finden Sie passenden Avatar aus Liste und Check-Instanz - Dies vermeid...
Verwenden Sie einfachen Filter, um zu überprüfen, ob Avatar Foto oder Avatar Creator ist
- Komplexe Proxy-Erkennungslogik entfernen - Filtern Sie einfach findById Ergebnis, um zu überprüfen, ob es AvatarPhoto ist - Wenn nicht Foto, Standard zu Avata...
Verwenden Sie Hibernate LazyInitializer, um tatsächliche Entität Klasse von Proxy zu bekommen
- Zugriff auf HibernateProxy's LazyInitializer, um dauerhafte Klasse zu erhalten - Überprüfen Sie, ob persistente Klasse AvatarPhoto oder AvatarAvatar Creator i...
Ungenutzte variable Warnhinweise in Avatartyp-Erkennung aussupdrücken
Verwenden Sie direkte Besetzung, um Avatar-Typ statt Reflexion zu bestimmen
- Versuchen Sie Casting zu AvatarPhoto zuerst zu zwingen, um Proxy-Initialisierung zu erzwingen - Zugriff getFileExtension() direkt nach dem Cast - Fall zurück ...
Verbesserung der Erkennung von Proxy-Typen durch den Fang von InvocationTargetException
- Handle ClassCastException beim Aufrufmethoden auf Proxy, um tatsächliche Art zu bestimmen - Versuchen Sie zuerst getFileExtension (Foto), dann getStyle (Avata...
Verbessern Sie Hibernate Proxy-Handling für Avatar-Typ-Erkennung
- Suche Klassenhierarchie und Schnittstellen für getFileExtension Methode - Verwenden Sie Reflexion, um AvatarPhoto vs AvatarAvatar Creator zu erkennen, wenn In...
Reload Avatar aus dem Repository, um Hibernate Proxy-Instanz zu beheben
- Avatar-Einheiten, die aus Beziehungen geladen werden, können Hibernate-Proxys sein, die die Kontrollen in Instanzen versagen - Reload Avatar aus dem Repositor...
Fügen Sie detaillierte Protokollierung hinzu, umThemeDomain zu erhalten und zu erhaltenPublicBucketUrl, um avatar URL-Generation-Probleme zu debug
Fügen Sie detailliertes Protokollieren zur Avatar-URL-Generation für die Fehlersuche hinzu
- Logen Sie, wenn Avatar-URLs generiert werden, welche URLs erstellt werden - Log, wenn Avatare fehlen oder URLs sind null - Dies wird helfen zu identifizieren,...
Bestimmen Sie aktiven Avatar durch Überprüfung user.getAvatar() anstelle von RecordState
- Backend markiert jetzt korrekt, welcher Avatar aktiv ist, indem es mit user.getAvatar() vergleicht - Dies stellt sicher, dass das isActive-Flag in der API-Ant...
Avatar URLs zu Mitgliedern by-department endpoint mit Override-Mechanismus hinzufügen
- Avatar URL in jede Mitgliedsantwort von ************ - Respekt Override-Mechanismus: Mitglied Avatar (falls vorhanden) â-Benutzer-Avatar (Standard) - Frontend...
Behandeln Sie ISO-Dattelformat und verbessern avatarId Typ Parsing
- Zusätzliche Unterstützung für ISO-Dattelformat (YYYY-MM-DD) zusätzlich zu M/d/jjjjj - Verbessertes AvatarId Parsing, um Nummerntypen (Doppel, BigDecimal, etc....
Eine bessere Fehlerbehandlung und Protokollierung für Benutzer/Mitglieder-Save-Operationen
- Try-Catch um Benutzer speichern Operation mit detaillierten Fehlerprotokollierung hinzugefügt - Try-Catch rund um Mitglieder speichern Operation mit detaillie...
Verbessern Sie avatarId Parsing, um String, Integer und lange Typen zu handhaben
- Zusätzliche Unterstützung für das Parsing avatarId von String-Typ - Bessere Fehlerbehandlung für ungültige avatarId-Formate - Protokollierung für Avatar-Zuord...
Fügen Sie detailliertes Protokollieren zu updateMemberProfile für die Fehlersuche hinzu
- Protokollierung zu Beginn der updateMemberProfile Methode hinzugefügt - Protokollierung vor und nach dem Speichern von Benutzer und Mitglied hinzugefügt - Ver...
Unterstützung für die Aktualisierung von Benutzernamensfeldern und dateOfBirth im Mitgliedsprofil hinzufügen
- UserRepository to MemberController hinzugefügt - Aktualisiert updateMemberProfile zu behandeln namePrefix, nameFirst, nameMiddle, nameLast, nameSuffix, nameFi...
Avatar-HHisch und Erweiterung in *** Sitzungsdaten speichern
- UpdateSession-Methode zu KSessionService für die Aktualisierung von Sitzungsfeldern hinzugefügt - Aktualisiertes setActiveAvatar, um userAvatarHash und userAv...
Avatar-URLs in Mitgliederprofil-Antwort einfügen
- Zusätzliche Hilfsmethoden zur Generierung von Avatar-URLs (getTheDomain, getPublicBucketName, generierenFileHash, getPublicBucketUrl, generierenAvatarUrl) - A...
ThemeBackgroundController mit hashbasiertem Speicher und öffentlicher Bucket-Unterstützung hinzufügen
Verwenden Sie die richtige Eimer- und Objektpfadstruktur für MinIO Uploads
- Bucket Name von Domain-basierten zu 'öffentlichen' Bucket ändern - Domain-Pfad (z.B., kamocrm-com) als Teil des Objektnamens, nicht Bucket Name - Objektwegstr...
Richtig handhaben MinIO Upload Fehler für Avatare
- Entfernen Sie stille Ausnahme Schlucken in Avatar Creator Avatar Schöpfung - Fügen Sie die richtige Fehlerbehandlung und Rollback für fehlgeschlagene Uploads ...
Entfernen Sie ID-basierter Fallback-Code, verwenden Sie nur hash-basierte Namensgebung
- Entfernen Sie alle Try-Catch-Foliback-Logik für fehlende fileHash-Spalte - Entfernen ID-basierte Datei Benennung Fallbacks - Code verwendet jetzt ausschließli...
Vermisste FileHash-Spalte anmutig behandeln
- Try-Catch um fileHash-Zugriff hinzufügen, um fehlende Datenbankspalte zu handhaben - Fallen Sie zurück auf ID-basierte Datei-Nensung, wenn fileHash-Spalte noc...
Einführung von hash-basierten Dateispeicher für Avatare
- SHA-256 Hash von Avatar ID nach Beharrlichkeit erzeugen - Hash in Datenbank DateiHash-Feld speichern - Dateien mit Hash-basierter Namensgebung auf MinIO hochl...
Entfernen Sie transformAvatarUrl - URLs direkt vom Backend verwenden
Protokollieren hinzufügen und sicherstellen, dass öffentliche Bucket URL-Format entspricht Arbeitsmuster
Kompletter Wechsel in öffentliche Eimer für alle Avatar-Operationen
Revert to getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint bricht Uploads
Retry-Logik für Maven Abhängigkeit Downloads hinzufügen, um transiente Central Ausfälle zu behandeln
Themendomäne für vorsignierte URLs in AvatarController verwenden
Rebuild avatar system - backend erzeugt vorsignierte URLs direkt wie Hintergründe
StorageController vereinfachen - OTK validieren, Bild erhalten, streamen
Validieren Sie OTK direkt im StorageController und Stream-Image
Vorsignierte URLs generieren Sie normalerweise dann den Hostnamen durch Themendomäne ersetzen
Verwenden Sie getPresignedUrlWithEndpoint mit Themendomäne für alle Avatar-URLs
Verwenden Sie getPresignedUrl Methode, die anstelle von getPresignedUrlWithEndpoint funktioniert
Fügen Sie detailliertes Protokollieren zur Avatar-URL-Generation hinzu, um Fehler zu identifizieren
Vorsignierte URLs mit Themendomänen direkt im Backend für Avatare generieren
ObjektPath statt vorsignierte URLs zurückgeben - Next.js erzeugt sie
Verwenden Sie getPresignedUrlWithEndpoint, um URLs mit korrekter Signatur für Themen-Domain zu generieren
Avatar-URL-Generation vereinfachen - verwenden Sie dieselbe Logik wie frontend getThemePath, ersetzen Sie einfach Endpunkt in vorsignierten URL
Ersetzen Sie internen IP-Endpunkt mit Themendomänen in vorsignierten URLs als Fallback
Verwenden Sie getPresignedUrlWithEndpoint, um URLs zu generieren, die für Themendomäne signiert sind - kein Endpunktersatz erforderlich
Wie, was Sie sehen Versand?
Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.