测试主模型端点并固定应用的模型 ORG ID
- 用下列直接探测器取代应用的Model.source门: /api/ 安全/主机型上;r.ok=false (409) 表示兽形 由分支类型来管理 – 后端使用相同的检查 - 无法使用 而不是JS-精度-丢失数字ID, 修正ATF/年龄范围 在审查制表板上加注
通过应用模型限制打开审查标签选项
- 当Org受分支类型管制时,隐藏 EDIT MASTER MODEL 按钮 (使用应用模型。) 源代码而不是不可靠的上下文分支TypeID) - 隐藏无法配置的 ATF 字段( 仅在父策略为成员时显示) - 过滤成员/小组成员的年龄范围选项,使其仅限于应用模式允许的选项
URL 查询参数中坚持活动邮箱
切换邮箱现在更新 URL(? mailboxType,?mailboxId,? 这样刷新浏览器可以恢复同一个邮箱. 信件浏览器读取 窗口。 位置。 搜索它的懒惰使用状态初始化器以恢复 在第一次渲染前激活Mailbox,并通过 路由器 换掉所有更改的邮件 文件夹Sidebar 读取 获得AccessibilMailbox...
Mark-as-read and message fetch for shared/member mailboxes
Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...
Mark-as-read for shared and member mailboxes
EmailController.setFlags now accepts an optional mailboxId query param and routes through resolveProviderWithMailbox so member-mailbox flags are set against the...
Show accurate provider connection status from isConnected field
Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Add isConnected field to VoipProviderInstance
Nullable Boolean: null = never tested, true = last test passed, false = failed. Requires KamoInitializerService schema migration to add IS_CONNECTED column.
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
处理 IMAP 输入到磁盘中以防止 ClassCast 例外
JavaMail 可以返回一个 IMAPInputStream 而不是从解码字符串 part.getContent () 当信件内容没有被预选时 。 这个 直接( String) 投放在 parse Multipart () 中 受影响的信件, 在读取标记前导致获取 FullMessage 失败 被调用,所以电子邮件从...
以活的毫秒倒计时显示活动报价横幅
在主页上获取活动促销服务器侧并制作一个 英雄OfferBanner在子标题和免费永远呼唤之间. 横幅显示折扣金额、持续时间和现场倒计时 动画版50ms 梯度- 光滑边框和闪烁的扫描 。 无活动时不渲染 或未期满的晋升.
连接可用/ 无法可用的切换到后端并修正 OFLINE 存在错误
- 将已暂停/ 激活的芯片重命名为 NavTop 中可用/无法使用 - 通过新的我/可用性API获取初始可用性并持续切换 - 在成员界面和成员项目道具中添加可操作字段 - 成员名单通行证可由各部门对成员项目作出回应 - 成员项目显示无橙色的ONLINE/OFFLINE/UNAVAILLL标签 - 修复 OFLINE 错...
重写所有 GQL 查询/ 模拟模拟模拟
对照 FreePBX 17 schema 验证每个字段名称和类型. 全套更正: 查询 : - 获取 AllExtension : 从扩展名中删除不存在的“ voicemail” 字段 - 获取所有用户 – 所有用户 { 核心用户 { 扩展名 } } - 获取 AllEndpoints → 获取 AllCoreDevi...
将选中的“ 文件夹” 传递到 ThreadDetailView , 因此电子邮件: folder- changed fire with a 有效文件夹
对话框。文件夹总是未定义,因为 Java 对话实体 有文件夹Ids(text[])而不是文件夹字符串字段。 这导致负载图 调用标记 Conversation Read 并发送电子邮件:文件夹更改为 文件夹: 未定义 。 未定义导致 typeError 在.when () 被.catch (()) 和 默然地杀死了"记分...
正确的图形QL 字段名称以获取 AsteriskDetails
FreePBX API 返回“ 您是否指取回 AsteriskDetails ? ” — 重命名健康 。 检查查询及其数据路径访问器.
向 GraphQL 客户端添加 XHR/ Acept 信头和字符串响应解析
与 FreePBX TokenCache 相同的模式: 添加 X- requested- With + 接受: 应用程序/json 以压制 FreePBX 的 HTML 重定向回复,并切换所有三个呼叫站点 从响应实体<JsonNode>到响应实体<String> 手动对象Mapper.readTree() 所以非JSO...
在装入时同步邮箱滴入到主邮箱
由于选中的Mailbox 已初始化, 默认降入第一个列表项 没有邮箱ID, 导致当前value 决心裸露“ 个人” 匹配无选项。 现在从主机设置选中的Mailbox( 或 (一) 邮箱在可访问邮箱装入时.
将文件上传大小限制提高到 500MB
Spring Boot 默认 1MB 的多部分部件, 导致背景图像 上传失败, 请求中为 500. getParts () 。 匹配安全服务 现有的500MB限制,因此APIService可以代理大文件上传.
表面 HTTP 错误, 因此上传失败可见
替换无声控制台. warn , 替换为非 OK 状态错误, 因此用户可以看到实际故障原因(状态+响应正体) 而不是默默地进行更新。 已添加控制台.log 以跟踪有多少新图像被排入队列,哪些正在被 POST.
添加 AcceptQHR 信头和原始字符串响应
FreePBX通过集群 DNS 调用时正在返回文本/ html, 因为 主机头与配置的 PBQHOSTNAME 不符 。 添加中 接受: 应用程序/json和 X- 请求使用: XMLHttp 请告诉 FreePBX 返回 JSON 错误,而不是重定向到 HTML 页面。 由响应实体<JsonNode> 切换为响应实...
通过动画控制驱动最小化- Tab 输入
切换动画到动画控制器 。 动画: 标签控制器在挂载时没有队列目标, 因此按钮被保留 (b) 最初的{y:100}位置(以下为屏幕外)。 添加了使用效果 在部件状态上按键,在每次切换时明确启动 y:0 过渡 部件进入最小状态 .
校正 FreepBX API 的 OAuth2 范围字符串
FreePBX 瞄准镜是顶级标识符 : “ gql”( 所有 GraphQL) 和 'rest'(全为REST). 模块格式“ gql: read” 表示 GQL 名称为“ 已读 ” , 它不存在, 导致无效的 scope 400 错误 .
在新代理信件上直播未读徽章 + 弹出
- 在部件最小化时,保持安装在屏幕外的活支持板 (仅在支持会话存在时)所以 STOMP 订阅保留 仍然在未读信件中发生火灾,即使出现 访客不看聊天。 - 动画徽章在每次计数变化上都带有弹簧分级(关键把戏) 重挂元素)加连续的 Tailwind ping ring while > 零点。 - 弹出并倾斜最小的标签本身 当...
直接在集群IP服务上曝光端口 8088
服务只有港口80-8088绘图。 内部服务 **************** (例如VOIPService API 令牌) 由于第8088号端口没有收听器, (原始内容存档于2018-09-21). ClusterIP.
信任后端待决
后端待决 Count 现在未读取( 计数支持 TIKET会话) 与消息更新 比所有者最后的Viewed。 当代理打开 一张票 MarkAsRead 后端广播 前端反映新的 自动计数。 删除抓取中的重点会议 PENDING COUNT 处理者——对基于地位的补偿 后端计数,现在双降, 这就是为什么计数反弹 浏览器刷新...
播放等待计数 + 在代理读取的访客发送
- 现在代表到 所以数 反映未读的访客信件和当 特工呼叫马克·阿斯雷德 - 新的公共帮助者。 - 现在(a)重播经纪人的 (b) 调用 帮助器,使导航支持按钮保持同步而不等待 下60年代的民意调查 - 也叫帮手 导航系统在访客发出时会爆炸 导航点数与每行徽章状态一致 在单击和浏览器刷新后.
未读计数 + 按会话查找帮助器
添加QQ所以导航 支持按钮徽章可以计算实际需要的支持票 注意( 有未读到的访客留言) 而不是仅仅 Pre TICKET/ NEW 状态。 计数从 DB 直接读取, 这样它能幸存的新鲜。 也添加了“所以媒体服务” 可以在标记 AsRead 之后从会话 GUID 中解析 org 所有人.
添加 k1m1 的失败2ban 配置
部署引用失败2ban- configMap(监狱.local +) 星号安全(start-security.conf),但并不存在,封锁了舱位. 华山. 设置并阻止 FreePBX 启动 .
代理寄出最后的预告后 MarkAsRead
在支持票上,访客和代理信息都存放在 相同的系统 成员,所以未读数查询是成员不可知和 完全依赖最后的维德。 如果代理商没有在之后标记 AsRead 他们的回复最终被算作 新的访客留言 列表行徽章。 成功发送时呼叫标记 AsRead .
支持票需要会员不可知的未读数
支持票上的访客信息储存在同一个系统中 代理认证为,所以现有的 CHAT 片断未读 查询——不包括m.member.id =:memberId——总是返回0表示 支持会议。 因此,票单徽章从未出现。 添加 AllInsession + count AllInsession 之后(没有成员过滤器)和 路由支持 TIKET...
