添加/重置密码页, 更新已忽略密码链接
3个阶段的电子邮件密码重置:电子邮件表 → 8-char代码条目 → 新的密码。 从 URL 自动验证符 。 玻璃形态卡, 背景旋转木马 Capcha ***, 帧器运动转换。 现在忘记了密码链接到/重置-密码字(本地).
重定向已忽略要注册的密码 。{ domain}/ recover
使用现有的替换 DepestAlias 模式,与 注册链接。 密码重新设置,现在住在Kamo -register.
添加/ 恢复密码重置页面和 API 代理
分三阶段流: 电子邮件 → 8-char代码条目 → 新密码. 从 URL 查询参数、背景旋转木马中自动验证符号, 玻璃形态卡 Capcha ***,匹配/核查质量.
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
在所有导航项目上强制执行成员权利
现在每个导航项目都需要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...