为 WebRTC 网关集成添加 JanusService - 为与 Janus WebRTC 网关 API 互动而添加 JanusService Java 服务 - 在应用程序中配置 Janus API URL,秘密,以及 STUN/TURN 服务器. yml - 支持会话创建、插件附件和房间管理
Auto-open chat window when receiving messages from another user - unminimize if minimized, open if closed
将 EXTENSIVE 日志添加到 WebSocketConfig 和 ChatWebSocket 控制器 - 每个STOMP 框架、握手、订阅和信件登录
Add EXTENSIVE logging to useChatWebSocket hook and ChatBox component - every single step logged
Create welcome presentation page with feature cards
- Added full logo display at top left using ThemeLogo component - Created modern, polished welcome page with feature cards grid - Each feature card includes ico...
向市场添加自定义窗体支持 - 添加 MarketCustomForm 实体,用于与命令的多对多关系 - 更新前端市场包含自定义窗体关系 - 添加 MarketCustomForm Repository - 更新后端市场包含自定义窗体 - 更新请求 DTO 支持自定义窗体关联 - 添加管理自定义窗体关联的服务方法
Add comprehensive custom forms builder with drag-and-drop
- Update CRM page: Change tab name from "Custom Online Forms" to "Custom Forms" - Add CustomFormManager component for form list/browse with create/edit/delete -...
Add CustomFormController for custom forms API endpoints
- Add REST controller at /api/security/custom-forms - Implement GET, POST, PUT, DELETE endpoints for form management - Support form structure with stacks and fi...
在窗体构建器支持下添加自定义窗体特性
- 增加表格FellowType enum,包含12个字段类型(TEXT、TEXT AREA、MONEY、DATE、TIME、DROPDOWN、RADIO、List、CHECKBOX、ADDSES、US SSN、US STATE) - 添加实体类:自定义格式、FormStack、FormField 具有完整的JPA关系...
Fully wire vendors-products page with modern UI, full CRUD for vendors and products
Add LeadVendorController with full CRUD for vendors and products
添加完整的 CRUD 支持 : 带字符串 ID 的 LeadVendor 和 LeadVendor Production
Add Next.js API routes for lead-markets to proxy to SecurityService
Add LeadMarketController for managing lead markets via REST API
Rebuild LeadMarketManager UI component with modern design and API integration
Add CRM settings page with Markets & Fields, Vendors & Products, Manual Lead Imports, and Integrated Lead Imports tabs
使用组织流程Guid提供全组织的媒体信息
- 向媒体结构控制器添加组织存储器 - 更新了Feed以使用组织流Guid而不是查询所有会话 - 更新的创建程序 - 全组织范围内的饲料现在使用同铅饲料一样的单一溪流
Create reusable MediaStream component and lead communications
- Created reusable MediaStream component for all media stream contexts - Refactored FeedTimeline to use MediaStream component - Created LeadCommunications compo...
添加流程Guid 以引导和支持特定牵头媒体流
- 添加流Guid 字段到 lead.java 引用媒体会议流 - 更新媒体会议后,支持可选牵头协会 - 更新QQ以接受可选铅参数 - 更新媒体会议存储库,其中包含线索流查询方法
Modernize social media feed design with hip, polished styling
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...
添加社交媒体种子的 MediaFeed 控制器
- 添加带有 REST 端点的 MediaFeed 控制器,用于员额、评论和喜欢 - 实施有接入级过滤功能的分解饲料终端 - 为帖子图像添加图像上传端点 - 与媒体服务和图像服务相结合 - 支持员额创建、编辑、删除和评论 - 使用 MediaObj Report 实现类似/类似功能 - 利用存储代理端点生成适当的图像 ...
添加MediaObj Report仓库并更新媒体服务供社会馈送
- 为类似/反应系统添加MediaObj报告存储器 - 通过创建后会话和NATS事件出版更新媒体服务 - 更新媒体会议存储库,提供基于组织的信息查询 - 更新雇员
Add filter header to Members & Subscribers tab with all column filters aligned
Add filter header to EmployeeManager datagrid with employment status and other filters
Update EmployeeManager with backend integration and add account API routes
Add AccountController with endpoints for Members & Subscribers and Employees & Contractors
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
添加 USERNAME 和 REMBER ME 饼干, 并设置特定域
- 设定USERNAME cookie, 当记得我在成功登录时被检查(1年期满) - 清除USERNAME cookie 当记住我在任何登录尝试上不受限制 - 根据复选框状态将 REMBER ME cookie 设置为 “ 1” 或 “ 0 ” - 从USERNAME cookie自动输入用户名字段的页面负荷 - 自动...
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 -...
Add Manage Backgrounds button in MemberHeader
- Added handleManageBackgroundsClick prop to MemberHeader - Added Manage Backgrounds button next to URL input when custom background is enabled - BackgroundMana...
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 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 fallba...
更新创建 Avatar 版式以匹配 kamo- register 设计
- 重组 Avatar 选项卡, 上面有快速设置( Style,种子) - 将下行分为两个栏:预览(左)和高级设置(右) - 将高级设置移至可扩展手风琴(变形,背景) - 匹配来自 kamo- register FormAvatar 的布局结构 - 通过更好的组织和视觉结构改进UX
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...
将文件Hash 字段添加到 Avatar 实体以安全保存文件
- 添加文件Hash列以存储可视化标识的SHA-256散列 - Hash用于MinIO文件命名,以防止点数攻击 - 格式 : {hash}. {fileExtension} 而不是 {id}. {fileExtension}