KamoCRM

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

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

17,500
เปลี่ยนแปลงทั้งหมด
5,986
คุณสมบัติต่าง ๆ
5,284
แก้ไข
30
โครงการ
กรองโดยโครงการ
ทุกโครงการ17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
กรองตามประเภท
ทุกประเภทBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
November 26, 2025
Otherkamo-internal

Invalidate existing session before validating OTK

- Check for existing *** cookie in validate request - Clear and delete any existing session before validating OTK - Verify session data is not empty JSON (clear...

snadjafinia·11mo ago
OtherSecurityService

Invalidate existing session before creating new one during login

- Check for existing *** cookie in login request - Delete/invalidate existing session before creating new one - Prevents reusing old session cookies when loggin...

snadjafinia·11mo ago
Otherkamo-internal

Disable activity tracking and session extension during logout

- Add disableClientActivityTracker() function to stop activity tracking - Stop session monitor when logout is initiated - Prevent screen movement/activity from ...

snadjafinia·11mo ago
Otherkamo-login

ล้างข้อมูลกลุ่มงาน ก่อนทําการลบกุญแจในท้ายเรื่องออก

- ตั้งข้อมูลเซสชันเป็น Json ว่าง ก่อนที่จะลบกุญแจ - ความปลอดภัยในเซสชันไม่สามารถใช้ได้ แม้ว่าการลบล้มเหลวหรือมีการถอดรุ่นหลัง - เพิ่มข้อผิดพลาดในการจัดการการผิด...

snadjafinia·11mo ago
Otherkamo-internal

Clear session data before deleting key in logout endpoint

- Set session data to empty JSON before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handling wi...

snadjafinia·11mo ago
OtherSecurityService

Clear session data before deleting key to ensure session is unusable

- Set session data to empty JSON ({}) before deleting the key - Ensures session is unusable even if deletion fails or there's replication lag - Add error handli...

snadjafinia·11mo ago
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·11mo ago
Otherkamo-internal

Clear existing *** cookies before setting new one during validate

- Clear all possible *** cookie variations before setting new cookie - Prevents reusing old session cookies from previous logins - Ensures validate always uses ...

snadjafinia·11mo ago
Otherkamo-login

ล้างคุกกี้ที่มีอยู่ *** ก่อนการตั้งค่าใหม่ในระหว่างการล็อกอิน

ลบรูปแบบคุกกี้ที่เป็นไปได้ทั้งหมด (โดเมนพื้นฐาน, ชื่อโฮสต์, ไม่มีโดเมน) - ป้องกันการใช้คุกกี้ของเซสชันเก่าจากล็อกอินก่อนหน้า - เพื่อให้แน่ใจว่าการล็อกอินใหม่จะใ...

snadjafinia·11mo ago
Otherkamo-login

ล็อกเอาต์: เรียกหน่วยรักษาความปลอดภัยออกจากระบบไปยังวาระงานที่ใช้งานไม่ได้

- เรียกหน่วยรักษาความปลอดภัย / api/ login/ logout เพื่อทําเซสชันของจาวาให้ใช้งานไม่ได้อย่างถูกต้อง ลบเซสชันของเซสชันออก, เอาป้าย CSSRF ออก, และวาระงานจะถูกลบทิ้...

snadjafinia·11mo ago
Otherkamo-internal

Fix logout: call SecurityService logout endpoint to fully invalidate session

- Call SecurityService /api/security/logout to properly invalidate session on Java backend - This ensures session is deleted, CSRF tokens are removed, and sessi...

snadjafinia·11mo ago
Otherkamo-login

การถ่ายเทข้อมูลออก: ล้างคุกกี้ แต่ยังคงพยายามบันทึกอัตโนมัติ

ลบตัวเลือกการข้ามผ่าน LOgin (auto-login ควรใช้ได้เสมอ) - เพิ่มช่องว่างในพาราเมทริก - หน้าล็อกอินล้างคุกกี้เมื่อล้าง Kuskys=จริง แล้วพยายามบันทึกอัตโนมัติ - การล...

snadjafinia·11mo ago
Otherkamo-login

ปัญหาการออกจากระบบ:

ลบทั้งเธรด - ข้ามการล็อกอินอัตโนมัติเมื่อข้าม LOgin=จริงอยู่ - ล้างคุกกี้เพิ่มเติมเมื่อล็อกเอาต์ (รูปแบบโดเมน/ พาธ) - ล้างคุกกี้ด้านข้างไคลเอนต์เป็นสํารองเพื่อล...

snadjafinia·11mo ago
Otherkamo-internal

Replace PersonIcon with user avatar in NavTop My Account link

- Fetch member avatar using fetchMemberAvatar utility - Display Avatar component with user's image or initials fallback - Matches design pattern used in other c...

snadjafinia·11mo ago
Otherkamo-shared-library

เพิ่มช่องข้อมูลของอวตารไปยังรายการอวตาร เพื่อทําการตรวจสอบแบบง่ายๆ

- เพิ่มคอลัมน์ TYPE เพื่อใช้เก็บ 'ภาพ' หรือ 'ผู้สร้างอาวาส' ลบสิ่งก่อสร้างซ้ําที่ขัดแย้งกับ Lumbook @ NoArgs Constructor - ตั้งตัวแปรอวตารเมื่อสร้างอวตารในการคว...

snadjafinia·11mo 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·11mo ago
Otherkamo-shared-library

เพิ่มช่องข้อมูลของอวตารไปยังรายการอวตาร เพื่อทําการตรวจสอบแบบง่ายๆ

- เพิ่มคอลัมน์ TYPE เพื่อใช้เก็บ 'ภาพ' หรือ 'ผู้สร้างอาวาส' - ตั้งโปรแกรมสร้างอัตโนมัติ - หลีกเลี่ยงต้องการตัวอย่างการเช็คและพร็อกซี

snadjafinia·11mo 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·11mo 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·11mo 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·11mo ago
FixSecurityService

Suppress unused variable warnings in avatar type detection

snadjafinia·11mo 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·11mo 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·11mo 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·11mo 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·11mo ago
Fixkamo-internal

Ensure initials SVG is always created when avatar is missing in HexHeadGroup

- Add error handling fallback to create initials SVG if avatar fetch fails - Consolidate initials SVG creation logic - Ensure avatarSrc is never empty string

snadjafinia·11mo 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·11mo ago
Fixkamo-internal

Refresh avatars list after setting avatar as active

- After setting avatar as active, refresh the full avatars list to get updated isActive flags - Find and set the active avatar from the refreshed list - This en...

snadjafinia·11mo 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·11mo ago
Fixkamo-internal

Load active avatar from avatars list on Profile page

- Fetch avatars list and find the one marked as active - Set activeAvatar from the full avatar object in the list (has all details and URL) - Remove redundant a...

snadjafinia·11mo ago
Otherkamo-internal

Fix avatar not displaying on Profile page after refresh

- Ensure avatar URL from member profile is preserved when setting activeAvatar - Update profileData with avatar URL when avatar is loaded - Preserve URL in sync...

snadjafinia·11mo ago
Otherkamo-internal

Add detailed logging for avatar selection debugging

- Log full avatar object when handleSelectAvatar is called - Add validation for avatar.id before processing - Log API URL being called - Better error messages f...

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript type error - handle null body in apiProxy

- Convert null to undefined for BodyInit type compatibility - Fixes: Type 'null' is not assignable to type 'BodyInit | undefined'

snadjafinia·11mo ago
Otherkamo-internal

Fix PUT request body handling for set-active endpoint

- Explicitly set body to undefined for PUT requests without body - Improve body handling in apiProxy to gracefully handle empty requests - Prevents body consump...

snadjafinia·11mo ago
Otherkamo-internal

Improve error handling for set-active avatar endpoint

- Forward actual backend error messages instead of generic message - Better error parsing in frontend (handle both JSON and text responses) - Enhanced logging t...

snadjafinia·11mo ago
Otherkamo-internal

Use static imports instead of dynamic imports for avatarUtils

- Replace dynamic imports with static imports at top of file - Avoids module resolution issues with TypeScript moduleResolution node16 - Functions are always ne...

snadjafinia·11mo ago
Otherkamo-internal

Fix path alias - use @/lib/avatarUtils instead of @/app/lib/avatarUtils

- @/ maps to project root, so @/lib/avatarUtils is correct path - @/app/lib/avatarUtils was incorrect (would look for app/app/lib/avatarUtils)

snadjafinia·11mo ago
Otherkamo-internal

Fix dynamic imports - use path alias @/app/lib/avatarUtils for Next.js webpack resolution

- Change relative paths to path alias @/app/lib/avatarUtils - Next.js webpack can't resolve .js extensions for .ts files in dynamic imports - Path aliases work ...

snadjafinia·11mo ago
Otherkamo-internal

Fix TypeScript ESM dynamic imports - add .js extension required for node16/nodenext module resolution

- TypeScript with moduleResolution node16/nodenext requires explicit .js extensions in dynamic imports - TypeScript will resolve .js imports to .ts files at bui...

snadjafinia·11mo ago
Otherkamo-internal

Fix remaining .js extension in HexHeadGroup dynamic import

snadjafinia·11mo ago

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

ทั้งหมดของมันมาถึง ในที่ทํางานของคุณเอง เริ่มที่แผนฟรี และอ่านหน้านี้อีกครั้งในเดือน.

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