Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
添加铅摄入管理和公共接收控制器
为自动取铅系统增加两个控制器: - 领带摄入控制器:经认证的CRUD,用于取入端点、字段 绘图、有效载荷排队管理、积压处理和统计 - 领队接收控制员:接受第三方的公开终点 采用限制Redis率、有效载荷尺寸的 JSON 平整,每个端点可配置功能/功能
在登录时将成员Type存储于 Redis 会话
当 e.id 不 NULL 时添加 Case, 然后“ TEAM Member” 其他“ Member” 结束为 登录 SQL 查询并通过创建会议将结果传递到 Redis, 因此前端可以通过会话数据区分出团队成员与正会成员.
在模板上传时同步每页缩略图生成, 并有颗粒式 WS 进度
- 在 pom.xml 中添加 PDFBox 依赖性 - 在存储已转换的PDF后,通过PDFRender来渲染所有页面,并将每个页面上传为{id} thumb p{n}.png - 发布生成 thumbnails WS 进度事件,每页(72-95%范围),标签为"Generated jumbnail N of M" ...
添加 Webhook 秘密验证到更改log 端点
深入防御:验证 *** 页眉 除了APIService网关验证之外,还有安全服务侧.
Add member access level and owner status endpoints
Add GET and PATCH **************** endpoints for reading and updating access levels with full permission enforcement. Update organization creation to use create...
Add granular conversion progress stages with 8 distinct WebSocket updates
Stages: downloading (0-15%) → preparing (15-20%) → converting (20-65%) → verifying (65-75%) → storing (75-90%) → finalizing (90-100%) → complete
电子签名模板上传同步 PDF 转换
模板的上传现在通过转换服务直接转换 上传请求 。 为实时 WebSocket 发布 NATS 进度事件 前端更新。 如果转换失败, 就会轻而易举地退后.
添加电子签名模板 API 端点
- POST QQ- 有范围控制的上传模板 - POST QQ——按上下文和状态列出模板 - PATCH ——更新模板生命周期 - 获取- 流转换 PDF - 添加上传模板请求,模板列表请求,更新模板状态请求, 模板元数据 DTO
将 Google re*** 替换为 Capcha *** 校验
删除 Re***Service 和所有 Google re*** 配置 。 增加通过验证***有效载荷的Capcha验证服务 Kamo-capcha服务's /api/验证端点. 更新登录请求 豆和保安管理员使用 *** 付费字段.
通过电子邮件加强 POST / 客户接受联系信息和查询用户
现在创建账户接受电子邮件,联系人Name,电话,接受市场营销,免税. 如果提供电子邮件并匹配现有的用户,则自动设置为主账包.
增加18个商业客户管理账户细节终点
账户主计长在/api/安保/账户/下的新终点: - 客户 CRUD:获取/POP/PUT/DELETE/客户,获取/客户/{uid} - 相关数据:获取/客户/{uid}/领导、/命令、/成员 - 成员管理:PUT/客户/{uid}/成员(添加/删除/设置主机) - 注:获取/POST/客户/{uid}/注 - 账户组...
将111个零售端点添加到商务市场主计长
/{marketId}/ retail/... namespace 下的所有端点覆盖: - 类别、品牌、属性(有价值)、图像、变体、标签、审查 - 客户、地址、客户团体 - 税类、区、税率;折扣;价格清单(附入项);礼品卡 - 库存地点、库存水平(有调整) - 航运区、方法、承运人、货运 - 货物(连同物品)、命令草案...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Include memberType, departmentId/Title, jobTitleId/Title in member profile GET response
Add LeadStatusLabelController for org-level CRM status label CRUD endpoints
Add department and job title assignment to member security endpoint
GET now returns departmentId/Title and jobTitleId/Title for team members. PUT accepts departmentId and jobTitleId to assign/unassign department and job title, w...
Sync social links to normalized social_links table
Write member social links to both the embedded EmbSocialLinks columns (backward compat) and the new normalized social_links table. Add socialLinksNormalized to ...
Rewrite MemberSecurityController as singleton config with roles, direct rights, session timeout
GET returns full member security config (associated roles, direct rights, session timeout override, applied rights with sources). PUT saves the entire config as...
Add MemberSecurityController for member role assignment and applied rights
Provides GET /member-security/{id} (assigned role, applied rights with sources, session timeout), PUT /member-security/{id}/role, and DELETE /member-security/{i...
Support internal service auth for subscription catalog and promotions endpoints
Add X-Internal-Auth + X-Public-Chat-Org-Id header validation so APIService can proxy public catalog requests to the subscription endpoints. Session auth still w...
Add subscription API endpoints to POSController (50+ endpoints)
Add complete enterprise subscription management endpoints covering plans, prices, features, add-ons, bundles, volume discounts, catalog, orders, subscriptions, ...
Add first name, last name, and avatar hash to *** session
Include memberFirstName, memberLastName, and memberAvatarUrl in Redis session data so cross-domain services like KamoMeet can display proper user identity witho...
Auto-refresh Redis session rights after feature/role changes
FeatureController and SecurityRoleController now rebuild the caller's session rights in Redis after enable/disable, role create/update/delete, and recalculate-r...
Add FeatureController for org app enable/disable management
REST endpoints for managing organization app features: GET features list, POST enable/disable with CONFIGURE_SYSTEM permission check, root-org-only gating for i...
Add POST **************** endpoint
Triggers org-wide member_rights_applied recalculation. Needed after schema migrations or manual DB changes to permissions.
