变更记录
什么是新的。
平台的每一个改进,随着它的出货。
· SecurityService
Add LeadVendorController with full CRUD for vendors and products
· kamo-shared-library
添加完整的 CRUD 支持 : 带字符串 ID 的 LeadVendor 和 LeadVendor Production
· kamo-internal
Add Next.js API routes for lead-markets to proxy to SecurityService
· SecurityService
Add detailed logging to **************** for debugging
· SecurityService
Add LeadMarketController for managing lead markets via REST API
· kamo-shared-library
为客户关系管理市场管理添加铅市场实体、仓库、服务和DTO
· kamo-internal
Rebuild LeadMarketManager UI component with modern design and API integration
· kamo-internal
Add CRM settings page with Markets & Fields, Vendors & Products, Manual Lead Imports, and Integrated Lead Imports tabs
· SecurityService
使用组织流程Guid提供全组织的媒体信息
- 向媒体结构控制器添加组织存储器 - 更新了Feed以使用组织流Guid而不是查询所有会话 - 更新的创建程序 - 全组织范围内的饲料现在使用同铅饲料一样的单一溪流
· kamo-shared-library
将流媒体字段添加到组织中供全组织媒体参考
· kamo-shared-library
为社交媒体喜欢的 MediaBlockReasonType 添加类似 enum 值
· kamo-internal
Create reusable MediaStream component and lead communications
- Created reusable MediaStream component for all media stream contexts - Refactored FeedTimeline to use MediaStream component - Created LeadCommunications component for lead-specific comments - Updated PostComposer to support optional leadId prop - Updated MediaStream to pass leadId to PostComposer - Integrated LeadCommunications into LeadViewClient Communications tab - Updated types to include leadId in CreatePostRequest
· kamo-shared-library
添加流程Guid 以引导和支持特定牵头媒体流
- 添加流Guid 字段到 lead.java 引用媒体会议流 - 更新媒体会议后,支持可选牵头协会 - 更新QQ以接受可选铅参数 - 更新媒体会议存储库,其中包含线索流查询方法
· kamo-internal
Modernize social media feed design with hip, polished styling
· kamo-internal
Implement social media feed timeline
- Replace clubhouse page with FeedTimeline component - Add PostComposer for creating posts with images - Add PostCard component with like, comment, edit, delete actions - Add CommentThread with nested reply support - Add ImageGallery with lightbox viewer - Add PostSkeleton for loading states - Add useMediaFeedWebSocket hook for real-time updates - Add TypeScript interfaces for media types - Add Next.js API routes for all media feed endpoints - Implement infinite scroll with error handling and retry logic
· SecurityService
添加社交媒体种子的 MediaFeed 控制器
- 添加带有 REST 端点的 MediaFeed 控制器,用于员额、评论和喜欢 - 实施有接入级过滤功能的分解饲料终端 - 为帖子图像添加图像上传端点 - 与媒体服务和图像服务相结合 - 支持员额创建、编辑、删除和评论 - 使用 MediaObj Report 实现类似/类似功能 - 利用存储代理端点生成适当的图像 URL
· kamo-shared-library
添加MediaObj Report仓库并更新媒体服务供社会馈送
- 为类似/反应系统添加MediaObj报告存储器 - 通过创建后会话和NATS事件出版更新媒体服务 - 更新媒体会议存储库,提供基于组织的信息查询 - 更新雇员
· kamo-internal
Add filter header to Members & Subscribers tab with all column filters aligned
· kamo-internal
Add filter header to EmployeeManager datagrid with employment status and other filters
· kamo-internal
Update EmployeeManager with backend integration and add account API routes
· SecurityService
Add AccountController with endpoints for Members & Subscribers and Employees & Contractors
· kamo-shared-library
在成员实体中添加成员Type enum和成员Type 字段,用于高效的数据库查询
· kamo-internal
Preserve USERNAME and REMEMBER_ME cookies on logout and forward to kamo-login
- Exclude USERNAME and REMEMBER_ME cookies from deletion on logout - Forward logout request to kamo-login logout endpoint after clearing cookies
· kamo-login
添加 USERNAME 和 REMBER ME 饼干, 并设置特定域
- 设定USERNAME cookie, 当记得我在成功登录时被检查(1年期满) - 清除USERNAME cookie 当记住我在任何登录尝试上不受限制 - 根据复选框状态将 REMBER ME cookie 设置为 “ 1” 或 “ 0 ” - 从USERNAME cookie自动输入用户名字段的页面负荷 - 自动检查 记得我的复选框,如果REMBER ME cookie是"一" - 在登录时保留USERNAME和REEMBER ME cookies(包括kamo-login和kamo-内部) - 所有饼干都是特定域(不能跨子域访问)
· kamo-internal
Add organization logos to Profile and Membership & Permissions tabs
- Fetch security provider organization logo and display next to Profile tab - Fetch current organization logo and display next to Membership & Permissions tab - Use Avatar component to display logos (20x20px) with proper styling - Logos are fetched from organization networks API and constructed using theme path logic
· kamo-internal
Add Manage Backgrounds button in MemberHeader
- Added handleManageBackgroundsClick prop to MemberHeader - Added Manage Backgrounds button next to URL input when custom background is enabled - BackgroundManager now supports external control via open and onOpenChange props - ProfileTab controls BackgroundManager dialog state and passes handler to MemberHeader
· SecurityService
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 - Updated updateMemberProfile to store memberAvatarHash and memberAvatarExtension in session - Added get***IdFromRequest helper method to AvatarController - Avatar data is now cached in session to avoid repeated database lookups
· SecurityService
Include avatar URLs in member profile response
- Added helper methods to generate avatar URLs (getThemeDomain, getPublicBucketName, generateFileHash, getPublicBucketUrl, generateAvatarUrl) - Updated getMemberProfile to include avatar URLs in memberAvatar and avatar objects - Allows frontend to display other users' avatars without requiring separate API calls - Uses hash-based file storage for security
· kamo-internal
Add avatar fallback logic to chat components and member list
- Created avatarUtils.ts with utility functions for avatar fallback (member -> user -> initials) - Updated HexHeadGroup to fetch and display avatars with fallback - Updated ChatDock to fetch avatars when opening chats - Updated ChatBox to show initials when no avatar available - Updated MemberItem to fetch and use member/user avatars with fallback
· kamo-internal
更新创建 Avatar 版式以匹配 kamo- register 设计
- 重组 Avatar 选项卡, 上面有快速设置( Style,种子) - 将下行分为两个栏:预览(左)和高级设置(右) - 将高级设置移至可扩展手风琴(变形,背景) - 匹配来自 kamo- register FormAvatar 的布局结构 - 通过更好的组织和视觉结构改进UX
