Improve logout cookie clearing - clear cookies across all domain/path combinations
- Clear cookies with base domain (e.g., .kamocrm.com) to cover all subdomains - Clear cookies for current hostname without domain attribute - Clear cookies unre...
استخدام حقل الأفاتار تايب بدلاً من الكشف المعقد
- تفقد حقل الأفاتار تيب مباشرة من النوع البسيط - وضع الأفاتار تايب عند إنشاء أفاتار جديدة - نهج أبسط وأكثر أداء
كلّ المُستخدمين يُصبحون كياناً حقيقياً بدلاً من الوكيل
- الحصول على المستخدم من أفاتار، ثم الاستفسار العثور على ByUserId (إعادة الكيانات الحقيقية) -ابحثي عن مُطابقة لـ (أفاتار) من القائمة و كشك الشيك - وهذا يتفادى ا...
إستخدم تصفية بسيطة للتحقق إذا كان (أفاتار) صورة أو (أفاتار)
- إزالة منطق الاكتشاف العميل المعقد -ببساطة يعثر (بايل) على نتيجة لتفقد إذا كان (أفاتار فوتو) -إن لم تكن صوراً، قُدّم إلى (أفاتار) - نهج أبسط بكثير
(استخدم (هيبرنايت لاكسيزيليس ليحصل على حصة الكيان الفعلي من العميل
- الوصول إلى شركة هيبرنايت للأنزيمات للحصول على درجة ثابتة - التحقق إذا كان الفصل الثابت هو أفاتار فوتو أو أفاتار أفاتار كاكتور -إبدال القوة باستخدام هذا يجب أن...
استخدام الطبق المباشر لتحديد نوع الأفاتار بدلا من التفكير
- محاولة القاء القبض على أفاتار فوتو أولا لفرض الاستبدالية المحترفة -الوصول مباشرة بعد التلقيم عودوا إلى "أفاتار" المُختلق إذا فشلت الصور - معالجة الأخطاء على ن...
Improve proxy type detection by catching InvocationTargetException
- التلقيح الكلاسيكي عند الاستدلال على أساليب بديلة لتحديد النوع الفعلي - حاول أن تحصل على الإفطار أولاً (فيتو)، ثم تتحول إلى (مبتكر الآفاتار) - مناولة أفضل للأخ...
Improve Hibernate proxy handling for avatar type detection
- التسلسل الهرمي لفصل البحث والوصلات البينية لطريقة الإفطار - استخدام التأمل في الكشف عن أفاتار فوتو ضد أفاتار أفاتار كاكتور عندما يفشل - إضافة إلى تدقيق اسمِ ا...
Reload avatar from repository to resolve Hibernate proxy instance of issue
- قد تكون كيانات الأفاتار المحملة من العلاقات هي شركات هيبرنيت التي تفشل في التحقق - إعادة تحميل الآفاتار من المستودعات للحصول على نوع الكيان الفعلي (أفاتار فوت...
أضف قطع الأشجار المفصّل للحصول على (ThemeDomain) والحصول على (PublicBucketUrl) لمعالجة قضايا توليد الآفاتار
يضاف قطع الأشجار المفصّل إلى جيل الأفاتار من طراز URL لتدميره
- لوغ عندما تولد الأفاتار أورل، ما يُنشأ - لوج عندما يختفي الأفاتار أو يُبطل هذا سيساعد على تحديد لماذا لا يظهر الأفاتار في الثرثرة/الصناديق/قائمة الأعضاء
Determine active avatar by checking user.getAvatar() instead of RecordState
- Backend now correctly marks which avatar is active by comparing to user.getAvatar() - This ensures the isActive flag in the API response reflects the actual a...
Add avatar URLs to members by-department endpoint with override mechanism
- Include avatar URL in each member response from **************** - Respect override mechanism: member avatar (if exists) → user avatar (default) - Frontend ...
Handle ISO date format and improve avatarId type parsing
- Added support for ISO date format (YYYY-MM-DD) in addition to M/d/yyyy - Improved avatarId parsing to handle Number types (Double, BigDecimal, etc.) from JSON...
Add better error handling and logging for user/member save operations
- Added try-catch around user save operation with detailed error logging - Added try-catch around member save operation with detailed error logging - Improved d...
Improve avatarId parsing to handle string, integer, and long types
- Added support for parsing avatarId from String type - Better error handling for invalid avatarId formats - Added logging for avatar assignment and errors
Add detailed logging to updateMemberProfile for debugging
- Added logging at start of updateMemberProfile method - Added logging before and after saving user and member - Improved error response to include error detail...
Add support for updating user name fields and dateOfBirth in member profile
- Added UserRepository to MemberController - Updated updateMemberProfile to handle namePrefix, nameFirst, nameMiddle, nameLast, nameSuffix, nameFirstAKA, nameLa...
Store avatar hash and extension in *** session data
- Added updateSession method to KSessionService for updating session fields - Updated setActiveAvatar to store userAvatarHash and userAvatarExtension in session...
Include avatar URLs in member profile response
- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...
Add ThemeBackgroundController with hash-based storage and public bucket support
Use correct bucket and object path structure for MinIO uploads
- Change bucket name from domain-based to 'public' bucket - Include domain path (e.g., kamocrm-com) as part of object name, not bucket name - Fix object path st...
Properly handle MinIO upload failures for avatars
- Remove silent exception swallowing in Avatar Creator avatar creation - Add proper error handling and rollback for failed uploads - Delete database record if f...
Remove ID-based fallback code, use only hash-based naming
- Remove all try-catch fallback logic for missing fileHash column - Remove ID-based file naming fallbacks - Code now exclusively uses hash-based file storage - ...
Handle missing fileHash column gracefully
- Add try-catch around fileHash access to handle missing database column - Fall back to ID-based file naming if fileHash column doesn't exist yet - Allows code ...
Implement hash-based file storage for avatars
- Generate SHA-256 hash from avatar ID after persistence - Store hash in database fileHash field - Upload files to MinIO using hash-based naming: {hash}.{fileEx...
Add logging and ensure public bucket URL format matches working pattern
Revert to getPresignedUrl like backgrounds - getPresignedUrlWithEndpoint was breaking uploads
Add retry logic for Maven dependency downloads to handle transient Central failures
Rebuild avatar system - backend generates presigned URLs directly like backgrounds
Use getPresigned UrlWithEndpoint with theme domain for all avatar URLs
استخدام طريقة موقّعة (أورل) التي تعمل بدلاً من أن تُوقع (أورلوينت)
Add detailed logging to avatar URL generation to identify failures
Generate presigned URLs with theme domain directly in backend for avatars
Return objectPath instead of presigned URLs - Next.js will generate them
Use getPresignedUrlWithEndpoint to generate URLs with correct signature for theme domain
Simplify avatar URL generation - use same logic as frontend getThemePath, just replace endpoint in presigned URL
Replace internal IP endpoint with theme domain in presigned URLs as fallback
يضاف قطع الأشجار الشامل إلى جيل الأفاتار من طراز URL لتفريغ اللبنات الفارغة
Use getPresigned UrlWithEndpoint to generate URLs signed for theme domain - no endpoint replacement needed
مثل ما ترى الشحن؟?
كل واحد من هذه تحديثات الأراضي في مكان عملك تلقائيا. ابدأوا بالمجان وشاهدوها تنمو بعد أسبوع.