在电子邮件视图窗格中包含水平溢出到第三列
- 在信件浏览器外容器中添加溢出- x- 隐藏为硬边界 - 在第三栏包装上添加溢出-x-隐藏;在电子邮件内容区添加溢出-x-自动 - Constratin Sanitized EmailRenderer 阴影主机,其最大-w-全溢出-x-auto的电子邮件HTML(固定-width表等)在窗格内滚动而不是扩展布局 - ...
将 Coqui TTS 替换为 Piper TTS (en US- Norman- 中型)
Coqui VCTK 模型没有命名的扬声器——取而代之的是 Piper TTS ,它有 确切的诺曼的声音。 管道二进制 (~3 MB) 和模型 (~60 MB) 由init 容器在第一次运行时下载,并在 /var/lib/piper/{bin, models}在k1m1上。 AGI 脚本存储为 ConfigMap 密...
Reset stale hasAttachments on sync and accumulate correctly
- Reset has_attachments=false at start of bulk sync so stale true values from old false-positive MIME detection are cleared before re-indexing - Accumulate ha...
答复/转发前预先填充,并修正Address发送
- 信稿现在从Address运来 所以它从开放的新信流出 通过到作曲家 - 信件浏览器存储活动邮箱电子邮件地址(包括用于 在打开答复/转发时通过 - 信息工具从初始数据地址预选匹配, 如果找不到匹配, 则返回初级
发送时来自 Address 的支援
从地址请求添加到电子邮件发送请求, 这样前端可以指定 用于发送的别名/共享/邮件箱地址。 现在只提供 返回到 未设置时提供配置邮件 .
为分拆 DNS / 局域网客户端 RTP 修正添加本地 net
与 k1m1 相同的局域网电话通过分割 DNS 连接(域解析为 192.168.4.22 内部。 没有本地网,Asterisk仍发布广告 SDP中的外域到LAN客户端,通过公共IP进行RTP的路由. 当地网=192.168.4.0/24 制作 Asterisk 在 SDP 中使用本地绑定地址 网络上的客户端 所以音频从...
持久魔法接触=元件修补并屏蔽SIP扫描仪启动.sh
- 在Asterisk开始前将[res pjsip] contact=memory输入巫术.conf; 默认的巫术- astdb SQLite 后端静悄悄地放下所有的 REGISTER 联系人 - 屏蔽已知的SIP扫描仪
Sub-tab content fills full content-area width
Drop the centered max-width constraint (was 920 / 1200 / 680 / 720 depending on tab) on SubTabShell. The page already lives inside SettingsView's content column...
Fix attachment parsing and hasAttachment false positives
Three fixes to EmailImapService: 1. toEnvelope: narrow multipart check to multipart/mixed only — plain HTML+text emails (multipart/alternative) no longer sh...
Add download button to classic view attachment section
The classic view (MessageBrowser) had its own attachment list that was missing the download button — only the conversation view was fixed previously. Also align...
Add com.kamo.z.shared.commerce to EnableJpaRepositories scan
**************** (required by **************** in the shared library) lives under com.kamo.z.shared.commerce but was not included in the JPA repository scan, ca...
适当的布局、贴补和提供者标识
布局/ 间隔修正 : - 所有六个标签(提供、扩展、电话用户、设备、语音邮件、保健) 现在用 TabShell 以 px: {xs: 2, md: 3} py: 3 pb: 6 编码将其内容用 TabShell 包装 。 按钮不再对着面板边缘。 - 粘性双行制表页头图案:图标平板+标题+左侧字幕, 右侧工具栏(搜索框+...
Correct field name and type in getFromAddresses response
Backend was sending 'email' key but frontend expected 'address', and sent type 'shared_mailbox' when frontend expected 'shared'. Also fixes hasMailboxes flag wh...
Load FROM addresses from accessible mailboxes and aliases
Replaces the broken getFromAddresses() endpoint (which sent 'email' instead of 'address') with getAccessibleMailboxes() + listMemberAliases(), matching the same...
使用 CockroachDB 兼容的 DROP INDEX CASCADE 语法
CockroachDB 拒绝“其他表格” .对UNIQUE限制的限制有: 未执行 : 无法使用 UNIQUE 限制“ uk org oauth 提供者” 使用 DROP INDEX 缩写 切换到“ DROP INDEX IF ExISTS < table>@<index > (a) 预防、控制和处理 库克罗克...
将 com.kamo.z. shared. commerce 纳入仓库扫描
最新卡莫共享图书馆宣传 **************** (不修改.dao.services) 建筑师依赖 **************** **************** 这个 服务通过 VOIPService 组件扫描加载,但其寄存器是 超出范围,在启动时引起不满意的依赖性例外. 将 com.kamo.z. s...
添加附件下载按钮并解开已读标记
- 在每个附件行中添加一个下载图标按钮,以便用户强制 文件下载而非仅在新标签中打开 - 从线程装载尝试/捕获中读取 瞬间OTK/网络故障不再作为假线载出 错误或留下邮件为未读
将主机Path 从 MinIO( rclone FUSE) 移动到本地 / var/ lib/ pbx
MinIO通过rclone FUSE不支持 POSIX chmod 或 symlink () ——两者 FreePBX的模块系统要求。 更改全部 FreePBX 和 MariaDB 从/mnt/shared-files/pbx/到/var/lib/pbx/的hostPath卷,每卷 节点本地磁盘. FreePBX 数据...
通过php为 MinIO FUSE 主机Path 包装 fwconole/ AMportal
/var/lib/asteric 由 MinIO 支持,通过rclone FUSE 不支持 POSIX chmod,因此fwconsole脚本不能在该卷上被执行. startup.sh 现在在 ephemeral /usr/ local/bin 中创建收尾脚本 直接引用php,再将同音链接/usr/sbin/fwcon...
添加预停钩并终止 GracePeriodseconds
集装箱因背景Asterisk被困在"终结"中 apache2ctl( PID 1) 退出后, 进程继续运行 。 预停钩子发送 在Kubernetes杀死容器之前将SIGTERM送往Asterisk,允许清洁 端口释放并阻止下个吊舱撞击端口使用错误 重新启动时.
添加 poostrap.php 需要重生 /etc/ freepbx.conf
安装者写出 freepbx.conf 有数据源=' 和 request once freepBX 类。 我们的再生成版本都缺失了——导致"Class FreePBX没有找到". 每次启动500个错误 .
重新启动时重生 /etc/freepbx.conf
/etc是平面(不是主机Path),所以/etc/freepbx.conf由The 每次启动时安装器都会丢失 。 添加了其它分支来再生 当靴子被困时,它已经存在,所以管理员UI可以 连接所有后续靴子上的 MariaDB .
绕行开始 ASTErisk, 等待控制套接字代替
启动 asterisk 使用“ pidof 星号 ” , 该星号在 pock 上返回一个假正数 重启,导致等待-Asterisk循环被挂起. 现在启动.sh开始 直接通过 safety asterisk (在清除 soldale socket/pid 文件后) 进行突触 并等待控制套接字文件出现,而不是依赖pidof...
在背景中启动 Asterisk, 等待它, 然后运行安装器
入口.sh 不运行 FreePBX 安装器—— 它只开始 服务。 startup.sh 现在复制入口设置步骤,开始 Asterisk 在背景中, 等待它的套接字准备好, 然后运行 php 安装如果它是第一个靴子,然后在前缘开始Apache. 这可以修复安装时“ 错误与 Asterisk 通讯” 崩溃 .
让入口处理安装,而不是启动.sh
FreePBX 安装器( php s安装 -n) 要求 Asterisk 已经是 运行中。 我们的启动者.sh在Asterisk开始前就打电话了,导致 "与Asterisk的不良通讯"相撞. 现在启动.sh只等待 MariaDB 和补丁 Apache 端口,然后执行图像输入点 首先启动Asterisk,然后在第一个启动...
仅挂载/etc/astrisk, 而非/etc, 以修正 PHP simplexml 错误
将 /etc 全文上载为主机Path 卷正在腐蚀 PHP 扩展 甚至在从图像种子后加载 – simplexml load file 未定义 安装时间。 现在只有/etc/asterisk存在;/etc来自 图像并保持 PHP 配置完整。 第一启动探测器从 /etc/freepbx.conf(ephemeral)至 ...
将CPU限制降低到 2: 1 比例以消除过度承诺
文件 4–1 核心, jibri 4–2 核心, 自由转换 2–1 核心, 贝加莫特2~1核,相接1~0.5核. 将~7.5核从节点限制中省出.
切换到 es 计算机/ freepbx: 17 并带有正确的架构
freepbx没有FreepBX 17图像(自2022年起被放弃). es计算机/freepbx:17(2026年4月更新,Asterisk 21 + FreePBX 17)要求 一个单独的 MariaDB 舱和一个一次性 php 安装步骤。 变化 : - 添加freepbx-mariadb StatefulSet(...
在转发前分析表格Data以防止二进制腐败
request.text () on multipart/form-data 损坏二进制文件字节; 通过解析为 init.body so forwardToApi 跳过请求. text () 让我们重新生成一个有正确边界的干净多段.
删除 minH8: 100vh 导致双滚动条
外框的 minH8: 100vh 超过了布局的 calc( 100vh - 56px) 容器,既导致浏览器级滚动,也导致内部滚动 溢出: 自动同时活动 。 身高:只有100%就够了.
从安全模型表格中去掉 Stale Pay 列头
当雇员自付卡莫费字段被删除时, 匹配 排行体中的 TableCell 被删除, 但标题行仍然有 “团队成员” 给钱,把每个身体柱子一个插槽 左侧头部。 删除孤页眉至此列/ 页眉 宽度再次排列.
GoDaddy 400 个错误背后的表面真实原因
Go Daddy 现在返回 HTTP 400 并带有代码=unable TO AUTHENTICATE和身体 “坏要求:坏要求”当账户不符合其当前状态时 生产域 API 资格( 10+ 账户或一个账户上的域) 活跃的折扣域俱乐部成员)。 证书是完美的 电话仍然失败。 我们的委托人把那个重新写成原始的 "坏求"之体,无用...
检查子 Tab 现在让ATF 成为第一
重排检查分卡以匹配请求的顺序 : 1. 酒精、烟草和火器 2. 允许成员年龄范围 3. 允许雇员(小组成员)的年龄范围 其它子塔布已经按照正确的顺序排列(通则: 基本信息/能见度/谁能创建/平台设置/ 域配置 / 商业市场; 允许的应用程序和默认安全 角色为单节分页.
通过 findByIdWith Domains 下载域, 放下@ Transactional
@ Transactional 在一个控制器方法上保持一个 DB 连接打开 上传整个MinIO, 并有LazyInitialization Exception的风险 如果 内部获取 OrganizationById 交易在解析PrimaryDomain 之前执行 访问 org.getDomains (). 使用 fin...
从 apiPath 删除重复类型
extToApi 已经附加了来自原文件的搜索(?type=...) 请求 URL。 嵌入? type = 在 apiPath 中第二次生产 * type=full?type=full 在后端,所以Spring解析类型为 "完整"(full?type=full)——从不等于"完整"——使所有标志都落地. 在标志。 svg...
恢复 int64 成员ID 的邮箱切换器
使用 Get MemberIdString 来获取信箱/ 成员, 正常 id/ mailboxId 从电子邮件服务中驱动切换器 在有邮箱的情况下,JS号码的强制不能脱去身份证的精度.
从config.json 修改
动态MetaLoader 现在存储主题 在会话中修改 KAMO THEME CONFig LOADED 获取配置后. json. 主题Logo 听 用于该事件并重新应用 ?v={revision} 查询参数,强制 用于获取更新的标志的浏览器,而不是为缓存的标志服务.
从config.json 修改
动态MetaLoader 现在存储主题 在会话中修改 KAMO THEME CONFig LOADED 获取配置后. json. 主题Logo 听 用于该事件并重新应用 ?v={revision} 查询参数,强制 用于获取更新的标志的浏览器,而不是为缓存的标志服务.
直接上传到公共/{域文件夹}/img/ 而不是中转桶
上传的Logo 端点正写到硬编码的 “ sumtingwong ” 占位符 (未填入) 代替 Org 实际的公共主题路径 。 现在登录 直接转到 QQ 或 logo- full.{ext} 。 - 复制Folder 跳过模板标识, 当 org 已经拥有自己的标识 - 上传Logos( ) 中出 — 公共副本步骤已删除...
从边缘节点默认删除已降级的 k2m1 节点
k2m1 (10.8.2.1) 为永久下行. 把它留在故障列表中 导致上传回挂直到新的OkHttp超时起火. 默认 现在只为 k1m1-; k0m1 冷节点仍为倒置.
通过 OKHttpClient 将连接/写入/读取超时应用到 MinioClient
没有超时, 一个被降级的站点复制端点( k2m1) 导致 Make Bucket 并且把Object的电话无限期地封堵 以无限的速度出现 "Saving..."在上传UI的标志上. OkHttpclient 现在执行30秒 在 MinIOConfig 中已宣布超时 .
邮箱复选框读取 org 域名,而非提供者域
前一条线路读取 /api/ 电子邮件/域名( 电子邮件 professor domains) 页:1 只有第三方电子邮件提供商才有这个表格 集成被设置为- 为 Kamo Mail orgs 空的- 因此, 表格中所说的 "没有建立经过核实的邮箱域",即使Org有一个完整的 已校验域名( 如:kamocrm.com)...
取消附件对话框中的 {markets : [.]] 信封
获得/api/安全/商业-市场回报{市场:[.],信息:".} 不是一个赤裸的阵列。 随附商业市场对话处理整个 作为阵列进行响应,并用'a.filter不是函数'进行爆炸。 (后又谎报"无挂靠的订阅市场". 读取数据。 市场使用 Array. is Array 后退,所以形状都可行.
合并 OTK- 直接到代理. ts, 删除重复的中件. ts
Next.js 15拒绝在中间软件.ts和代理.ts同时存在时构建. 这个 在中间软件中生活的OTK 手动重定向器 – 发送任何请求 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}现在住在屋里 {\fn黑体\fs22\bord...
从 Redis 主机读取新 ***并去除 OTK POST
复制读取在OTK 交换后错失新写会话,导致 错误失败和登录重定向 。 当水獭出现时, 跳过内向延迟 ; 共享在飞行中验证对严格模式双挂载的承诺.
防止在/平面/orgs上出现非阵列反应
非阵列响应( 空体, 错误信封, 或 {data: [...]} 包装) 在半兽人状态下降落 并引爆了图像 'e.map不是一个函数'. 打开Array.isArray后面的状态更新 容忍{数据: [...]} 信封,并用 当反应形状出乎意料时会发出警告 也是无守 org. groups and group. subs...
执行/网络输入规则服务器侧
当目标为当前会话 org 时拒绝, 自定义域 SSL 不是 或人类目标成员不活跃。 共享域设置 通过 OrgNetworkEnter Policy 使用我的网络逻辑; 加载目标值 域通过 findByIdWithDomains .
要求目的地成员身份并验证Org成员身份
Enter- now 总是用客户端提供的目标构建新 *** 成员行; 拒绝不匹配的 org/ 成员 。 改进会话调试日志 .