บันทึกการเปลี่ยนแปลงชีวิต

ดูว่าเราจะสร้างอะไรในเรียลไทม์ ทุก ๆ ลักษณะ, การ ซ่อม, และ การ ปรับ ปรุง ต่าง ๆ จะ ถูก ส่ง ข้าม เวที.

17,896
เปลี่ยนแปลงทั้งหมด
4,600
คุณสมบัติต่าง ๆ
4,522
แก้ไข
32
โครงการ
กรองโดยโครงการ
ทุกโครงการ17,896AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService364InitializerService299KBService74KlusterServices542MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,565kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
กรองตามประเภท
ทุกประเภทBuild24CI522Chore670Docs226Feature4,600Fix4,522Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
November 26, 2025
OtherSecurityService

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...

snadjafinia·9mo ago
OtherSecurityService

Use avatarType field instead of complex proxy detection

- Check avatarType field directly for simple type checking - Set avatarType when creating new avatars - Much simpler and more performant approach

snadjafinia·9mo ago
FixSecurityService

Query all user avatars to get real entity instead of proxy

- Get userId from avatar, then query findByUserId (returns real entities) - Find matching avatar from list and check instanceof - This avoids proxy issues that ...

snadjafinia·9mo ago
OtherSecurityService

Use simple filter to check if avatar is photo or Avatar Creator

- Remove complex proxy detection logic - Simply filter findById result to check if it's AvatarPhoto - If not photo, default to Avatar Creator - Much simpler app...

snadjafinia·9mo ago
FixSecurityService

Use Hibernate LazyInitializer to get actual entity class from proxy

- Access HibernateProxy's LazyInitializer to get persistent class - Check if persistent class is AvatarPhoto or AvatarAvatar Creator - Force initialization usin...

snadjafinia·9mo ago
FixSecurityService

Use direct cast to determine avatar type instead of reflection

- Try casting to AvatarPhoto first to force proxy initialization - Access getFileExtension() directly after cast - Fall back to AvatarAvatar Creator cast if pho...

snadjafinia·9mo ago
FixSecurityService

Improve proxy type detection by catching InvocationTargetException

- Handle ClassCastException when invoking methods on proxy to determine actual type - Try getFileExtension first (photo), then getStyle (Avatar Creator) - Bette...

snadjafinia·9mo ago
FixSecurityService

Improve Hibernate proxy handling for avatar type detection

- Search class hierarchy and interfaces for getFileExtension method - Use reflection to detect AvatarPhoto vs AvatarAvatar Creator when instanceof fails - Add f...

snadjafinia·9mo ago
FixSecurityService

Reload avatar from repository to resolve Hibernate proxy instanceof issue

- Avatar entities loaded from relationships may be Hibernate proxies that fail instanceof checks - Reload avatar from repository to get actual entity type (Avat...

snadjafinia·9mo ago
OtherSecurityService

Add detailed logging to avatar URL generation for debugging

- Log when avatar URLs are generated, what URLs are created - Log when avatars are missing or URLs are null - This will help identify why avatars aren't showing...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
OtherSecurityService

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 ...

snadjafinia·9mo ago
November 25, 2025
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FeatureSecurityService

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...

snadjafinia·9mo ago
FeatureSecurityService

Include avatar URLs in member profile response

- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMembe...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

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...

snadjafinia·9mo ago
RefactorSecurityService

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 - ...

snadjafinia·9mo ago
FixSecurityService

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 ...

snadjafinia·9mo ago
FeatureSecurityService

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...

snadjafinia·9mo ago
FixSecurityService

Ensure theme domain URL includes https:// protocol

snadjafinia·9mo ago
FixSecurityService

Use theme domain for presigned URLs in AvatarController

snadjafinia·9mo ago
November 24, 2025
FixSecurityService

Return objectPath instead of presigned URLs for avatars

snadjafinia·9mo ago

เหมือนที่คุณเห็นการขนส่ง?

ทุก คน ที่ ได้ รับ การ ปรับ ปรุง เหล่า นี้ จะ ลง ไป ใน ที่ ทํา งาน ของ คุณ โดย อัตโนมัติ. เริ่มให้อิสระและดูมันเติบโตสัปดาห์แล้วสัปดาห์เล่า.

เริ่ม เป็น อิสระ ตลอด ไปแสดงพริ้นซ์