在所有导航项目上强制执行成员权利
现在每个导航项目都需要Org特征旗和成员右. 增加了7个新的访问权:Access COMMERCE,ViEW CALENDAR,Access CHAT, (英文)Access Mail, Access VoIP, View Support, View analytics (IDs 112-118). 现有权利有线:Vi...
添加7个模块访问权限(IDs 112-118)
(原始内容存档于2013-10-12). ACCESS COMMERCE, VIEW CALENDAR, ACCESS CHAT, ACCESS MAIL, C. (原始内容存档于2019-10-21) (英语). ACCESSS VOIP, VIEW SUPPORT, VIEW ANALYTICS
Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies
**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....
Update EMAIL_VERIFICATION sample vars to match current template
Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).
防止在块设计器中重复包装完整的文件正文Html
当bodyBlocks是无效的,bodyHtml是一个完整的 <!DOCTYPE html > 文档时 (例如,犬科种子模板),作为单一块导入,引起 串行化 FullEmailHtml 以第二个 <!DOCTYPE html > shell 来将其包裹。 电子邮件客户端然后剥去嵌入的文档, 只显示内部 无外框的内容。 ...
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
改进电子邮件验证模板——URL倒置,过期文本,主题
- 在按钮下方添加纯文本验证链接作为复制-复制倒置 - 将过期变量从 {{ 过期 Minutes 切换为 {{ 过期 Text 。 人可读格式(如"一日"取而代之"1440分"). - 更新“ 验证与您的“ org” 账户相关的电子邮件 ”
通过将隐藏输入维度零化来恢复校验页面布局
MUI 框将数值宽度/ 高值 0-1 解释为百分比, 所以 宽: 1 使隐藏的输入覆盖了完整的卡. 改为0所以 输入是无形的,但不影响布局.
Preserve DB domain case in NoReply from address
Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.
将模板保存的外框的完整电子邮件 HTML 序列化
- 串行化Full-EmailHtml 包接品牌外框内块 (标题标识,标题/子标题,内容区域,页脚标识+org名). 使用绝对 URL 使电子邮件客户端能够获取图像 - 外框设置(日志选项、标题、字幕)保存到 bodyBlocks.outerFrame 并恢复模板载荷 - 手柄保存现在使用序列化 FullEmailHt...
将品牌外框添加到电子邮件验证的 Cononical 模板
以适当的电子邮件 shell 来包装内部内容: 有 Org 名称的头条, 添加内容区域,和页脚 。 作为标识符使用 QQorgName .
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
连接自动验证并重定向到登录; 添加代码焦点指标
- 核查? 重定向以登录成功; 失败时返回代码条目 - 激活的代码框显示一个蓝色的环,让用户知道他们在打字 - 初始 Error prop 允许页面在链接失败时预排出一个错误
将 *** 部件上方单击到焦点覆盖(z-index)
重叠(位置:绝对,z-index:0)覆盖了Capcha号 部件,因为它出现在 DOM 顺序的后期 。 将 Z- 索引: 1 添加到 *** 容器允许指示事件到达它.
Remove nonexistent postfix-lmdb package, install lmdb library instead
postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.
Add weekly image prune and journal vacuum CronJob for k1m1
CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...
Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory
- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...
压缩编辑器头 — 删除大标题/ tabs, 移动动作到 nav行
删除粘贴头卡(标题、字幕、保存/取消/审查) 按钮,编辑/预览标签栏)从 EmailTemplateEdit 恢复~200px 编辑器上方的垂直空间。 动作按钮现已对齐 在电子邮件TemplateManager中现有的后按钮/breadcrumb nav行中。 电子邮件TemplateEdit通过ActionsRead...
在每次验证/修正尝试之前, 要求 *** 在验证页上
*** 在每个动作( 成功或失败) 后重置, 所以是新鲜的 。 每次尝试都需要解决.
Switch Postfix sasl_passwd from hash to lmdb format
Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...
Resolve root domain for NoReply from-address instead of bare subdomain
resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...
Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Add internal.auth.secret to EmailService configmap
InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...
重定向 EMAIL NOT VELIED 以注册/验证
从登录页面和所有相关内容中删除内置的电子邮件认证卡 状态/召回. 在 EMAIL NOT VERIED 上,用户现在转发到 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}这里 已存在的PostConfletionScreen ...
为登录重定向添加/ 更新验证页面
创建一个独立/ 更新验证的路由, 接受 ? 电子邮件和 用户ID 查询参数,重新使用 PostConflictionScreen 来表示一致 电子邮件验证 UX. 使注册回复.别名可选,所以 页面无法使用注册别名.
Allow transactional send on port-25 relay and auto-seed missing templates
Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
设定主机/ X 前向位址, 所以 APIService 解析正确 org
APIService 覆盖 X 前置 Host 并请求. getServiceName (), 其内容如下 从主标题。 没有明确的主机头 K8s 内部服务 主机名已转发给 Security Service , 导致 Org 查询不返回 。 映射登录代理模式:替换登录. 前缀在两个标题上.
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
重新设计电子邮件校验屏幕 + 修复邮件重传错误
- 完成后Screen:以动画为背景的整页布局, 玻璃形态卡,标志,可视化6位数码箱,成功/可验证状态 - 重新认证:通过请求正文中的电子邮件(后端需要)
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
从 getOrganizationByDomain 中删除急切的功能加载
特征是Org级别的关注,与这种方法的大多数呼叫者无关 (如注册,登录域解析). 通过设置强制装入 取代了Hibernate-tracted收藏,导致级联孤儿Removal出错. 对于任何真正需要的呼叫者来说.
变异特性收集到位置以避免级联孤儿Removal出错
调用 org.setFeatures( 新列表) 取代 Hibernate 跟踪的持久性 集合, 当任何查询触发自动擦出时引起 JpaSystem 例外 在开放的实体管理器会话(开放实体管理器INView)中。 改变 带有清晰()+addAll()的现有收藏保留了跟踪引用.
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
使用电子邮件而不是 userId 重新发送验证, 转发 X- Forwarded- Host
安全服务/登记/再发核查 期待在体内的电子邮件, 非用户ID( 登录错误响应从未包含) 。 未来 X-Forwarded-Host 这样后端就可以解决正确的组织.
匹配 kamo- 内部可视化存储 — 3 个大小, MinIO, 单独的上传步骤
作物对话框现在通过布局生成三个PNG blobs(50/150/350px),完全相同 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}给Kamo -Internal的神通经理 注册后返回用户ID, blobs 已写入 {} (...
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...
用丰富的验证卡替换 EMAIL NOT VELIED 错误
当使用 EMAIL NOT VELIED 登录失败时,登录卡现在被替换为 a 已打磨“ 检查您的收件箱” 屏幕: 动画信封 SVG 并带有打开的相片和 浮起的花花花, 遮盖的邮件显示器, 带有30秒的再发送电子邮件按钮 SVG倒计时环,成功/误差/速率限制反馈提示,以及"返回到 签入"链接。 所有过渡都使用Animat...
扩展图片上传支持 AVIF 和 SVG 格式
在文件输入接受列表中添加图像/avif和图像/svg+xml 验证正则ex. 更新提示标签以列出所有六种格式。 Kamo- 内部已接受图像/ *, 因此无需更改 .
