KamoCRM

直播更改日志

每个功能,固定和改进, 张贴在船。 发射时没有任何东西被挡住.

17,610
变动共计
6,056
特征
5,314
修补
30
项目
按项目过滤
所有项目17,610AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,868TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,388kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,675kamo-signer-monorepo56kamolos114
按类型过滤
所有类型Build16CI523Chore775Docs3,257Feature6,056Fix5,314Other998Performance165Refactor278Revert23Style42Test162Upgrade1
August 14, 2026
Performancekamo-internal

询问未读数, 而不是整个文件夹树

邮件徽章需要一个整数, 并且正在把信箱中的每个文件夹都取到 找到它, 在 IMAP 供应商上, 是最贵的 。 生产。 电子邮件服务( Email Service) 现在曝光邮件读取器未读取的单文件夹数 一直能够以一个地位回答问题。 这是未读套接字失败或丢失时徽章使用的倒置 安静,所以它是最昂贵的 正是当事情已经不对了...

kamo·2mo ago
Performancekamo-internal

停止制作收件箱 等待两个检查 它可以看到答案

两次往返仍坐在一个装箱前,到此为止 仅存的东西——文件夹树和第一页已经 来得早,所以这个成员 看着一个靴子骨架 在邮件上,有 已经装入。 邮箱探测器在等待提供商寻找答案之前 开始 探测器无关紧要的答案,只有报告的原因 如果两者都失败,则通过检查提供者来保存订单 首先,当选择原因。 所以他们现在一起跑 和一只没有的猩猩...

kamo·2mo ago
Performancekamo-internal

早点问,再问一次,别再问没有改变的东西

还有三件事在打开消息和看到邮件之间 在捆绑物落地之前,没有任何要求。 /消息拉出几个 JavaScript 的兆字节,以及知道如何请求邮件的组件 直到它全部到达并解析之后,才存在——所以第一个请求离开了 浏览器仅在处理上一个字节之后 。 路由现在是服务器 组件,其第一个孩子是一个小的客户端模块,只管询问 用于文件夹树...

kamo·2mo ago
Performancekamo-internal

别再付钱买钥匙了,别等了

有三件事在得到一个信息之前 正在减慢消息 每通电子邮件都先到/api/generate-otk进行往返访问,并发送 结果是X -OTK。 这条路由从未读过标题: 代理 薄荷本身的单用OTK 从呼叫器的会话 在构建Forwardheaders, 这是真正认证跳到电子邮件服务。 所以每个请求 本来是第二部,第二部前面的第...

kamo·2mo ago
PerformanceEmailService

停止打开每个文件夹, 停止调试每个消息

在关键路径上出现两个往返问题,两者都看不见 代码导致他们。 ListFolders 打开每个文件夹只读即可读取其中的两个整数。 这是 SELECT和每个文件夹一个 CLOSE,它使服务器构建每个邮箱索引 在路上,一个二十多倍的邮箱 花了40个往返 答: 问四十个号码 侧边栏重新装入到挂载上并再次装入 每个邮箱的更改—...

Kamo·2mo ago
August 12, 2026
Performancekamo-shared-library

获取摘要切片对一关联并计数而不是扫描

概览的注意和最近的切片读取了每行LAZY的标题 @ ManyToOne, 开场观看下每块多花费16个额外选择。 全部四片 现在离开 加入它。 因为两个协会都是 *自相残杀:Hibernate倒回自相残杀(HHH9003004) COLLECTION 取来,它会乘以行并会将一个实体切成两半在一下 SQL LIMIT. ...

Kamo·2mo ago
August 10, 2026
PerformanceDaemonService

每周重建 GeoLite 后更新规划者统计

YugabyteDB 不自动分析, 中转+重命名互换替换 地理拼图 块批发 -- 所以每次周日同步后,规划者都没有 5.8M行的统计数据。 运行 ANALYZE 在这里保持 IP 搜索的范围索引。 统计 查询度量 1.8ms; 完全没有范围指数为 8 814ms 扫描每行。 失败被抓住和记录,而不是中止 同步 : 陈...

Kamo·2mo ago
PerformanceDaemonService

Geolite 范围索引必须是 ASC , 而不是 YugabyteDB 默认 HASH

IP搜索是范围扫描: 由 DESC LIMIT 1 网络启动 ? YugabyteDB 将 LEADING 索引列由 HASH 分隔,除非另有说明; CockroachDB指数总是按范围排序. 所以当计划重建时 YugabyteDB, idx geolite blocks range 已成型( 网络 start...

Kamo·2mo ago
Performancekamo-shared-library

Geolite 范围索引必须是 ASC , 而不是 YugabyteDB 默认 HASH

IP搜索是范围扫描: 由 DESC LIMIT 1 网络启动 ? YugabyteDB 将 LEADING 索引列由 HASH 分隔,除非另有说明; CockroachDB指数总是按范围排序. 所以当计划重建时 YugabyteDB, idx geolite blocks range 已成型( 网络 start...

Kamo·2mo ago
PerformanceKlusterServices

给 YugabyteDB 真正的资源并固定其内存

它运行在LESS上 而不是它取代的 CockroachDB - 20Gi/6cpu反对 CockroachDB的32Gi/8cpu — 需要更多, 因为 YSQL 运行一个单独的 PostgreSQL后端进程每连接在存储引擎上方. 三个变化: 1. 服务器12Gi/3cpu - > 24Gi/8cpu请求,20Gi...

Kamo·2mo ago
PerformanceKlusterServices

给 YugabyteDB 真正的资源并固定其内存

它运行在LESS上 而不是它取代的 CockroachDB - 20Gi/6cpu反对 CockroachDB的32Gi/8cpu — 需要更多, 因为 YSQL 运行一个单独的 PostgreSQL后端进程每连接在存储引擎上方. 三个变化: 1. 服务器12Gi/3cpu - > 24Gi/8cpu请求,20Gi...

Kamo·2mo ago
August 9, 2026
Performancekamo-internal

仅用 BLAKE3 进行散列, 因此跳过上传会节省时间

Dedup 已工作 —— 服务器登录了“ 无上传链接 ” , 358 MB 从未离开过 机器——但成员仍然等待,因为计算SHA3-256与BLAKE3并列 用了~20秒的上传时间 它替换了18.8. js- sha3 是纯 JavaScript 大约25 MB/s; BLAKE3在WASM运行. 客户端现在单独计算出...

kamo·2mo ago
PerformanceMediaService

接受一个 BLAKE3 的主张, 这样调试速度比上传快

连接端点要求两个散列. 浏览器没有快速SHA3-256,所以证明 已经有一个358 MB 文件用~20秒对18.8秒的上传——成员 等待的时间不长,合理得出结论,没有什么变化。 sha3256现在是可选的: 提供,它仍然符合全部去除键; 省略, 省略 匹配的是 BLAKE3 加上精确的大小,这是浏览器可以快速计算出来...

Kamo·2mo ago
Performancekamo-shared-library

仅在 BLAKE3 上匹配已存储的内容, 所以浏览器可以负担询问

证明拥有需要两个散列器,一个浏览器没有快速SHA3-256 — js-sha3 纯 JavaScript 以 ~ 25 MB/s 表示。用 358 MB 视频测量,视频为~ 20 秒 在18.8秒的上传中散去 所以Dedup节省了带宽 并交出了 时间直回。 从成员方面来说,它与上传是分不开的。 添加 BLAKE3 加...

Kamo·2mo ago
Performancekamo-shared-library

不装入历史记录而读取最新快照日期

概要需要一个日期。 它通过装入两年范围来读取 截图和取最大--历史的每一天,5个域次 每个页面负载,以回答一个问题 MAX () 答案 .

Kamo·2mo ago
August 8, 2026
PerformanceSecurityService

每个app目录请求一个计划矩阵扫描

还放弃了当前未使用的 DevelopmentStageType 导入并修正 自动备注, 仍描述舞台规则目录 替换.

Kamo·2mo ago
Performancekamo-shared-library

对每个应用都回答计划周期的问题

Apps & Features 标签询问每个应用程序是否出现在计划矩阵中,以及 每个应用程序表格扫描每个应用程序的图版和增加的表格——两个 做了十几次全扫描 才能制成一页 appsIn PlanMatrix () 收集整个 设置为一通; 单应用方法现在从中读取.

Kamo·2mo ago
August 5, 2026
PerformanceVOIPService

当提供商是全例时, 停止每个扩展名重覆调用历史

RingCentral 的终点是扩展/~,忽略了参数,所以返回 每个扩展的日志相同。 一旦一页无新内容,剩下的 展期每次需要一次回程,因为已经看到回复。 免费的PBX,他的 历史的确是逐一扩展的,没有受到影响.

Kamo·2mo ago
July 6, 2026
June 26, 2026
PerformanceInitializerService

停止在 SchemaCleanupRunner 的 FK 拖曳战车

删除 Stale RetailCustomer - > 账务清理滴出的商业 carts. Customer id, **************** 和 这些 专栏现已启用,为Hibernate拥有的FK专栏...

Kamo·4mo ago
June 21, 2026
Performancekamo-capcha

较低的PoW难度(成本为1000,计费为2000-4000)

溶解成本是CHALLENGE COST x 反射范围的产品;两者都是 超级(~37.5M PBKDF2发,~40-75x a stock Capcha),制造出: 低端设备上的部件缓慢 。 下降至~3M发(~12x快) 保持有意义的机器人成本。 服务器已使用密钥验证 快速路径,所以这是纯粹的客户端解决时间.

Kamo·4mo ago
May 28, 2026
Performancekamolos

Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache

- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...

Kamo·5mo ago
Performancekamo-shared-library

页面回波查询 + 数 By status for hot paths

- 贷款库:账户状况/账户组织 状态+ 页面 < Loan> findBystatus (.) / 页:1 用于抗相撞编号 - 贷款支付存储库:为自动DebitRunJob(au...

Kamo·5mo ago
May 15, 2026
Performancekamo-internal

将部分 DTO 合并到本地状态, 并放下 patch

每个编辑风格的自动保存(名称字段,就业,资产,负债,REO, 用于发布全面 补丁返回后按揭AppsApi.get (), 双倍的回转 解开键盘 新的 appMutators.ts 拥有将每个功能合并的纯函数 补丁对 AppMortgageDTO 图表的响应; 段落调用这些 {\fn黑体\fs22\bord1\shad0...

kamo·5mo ago
Performancekamo-shared-library

将管道 kanban N+1 折叠为单个分组计数查询

listForOrganization () 用于每次贷款发布一个条件比对(201个查询) 贷款额为200个。 现在由出贷File.uid键入的单个组合 JPQL 汇总 将项目打开并封存到贷款账户, 服务将地图与应用程序列表合并——无论大小,共2个查询.

Kamo·5mo ago
April 25, 2026
PerformanceMediaService

在创建时将地理存储在票上, 放下 GeoLite 读取

现在捕捉到访客的地表 一次(通过GeoLookupService)和持续p/国家/城市/子分区 支持键本身。 支持Ticket Service.toDTO 直接读取地平面-没有直播 GeoLite 范围扫描, 地理上没有访问者表倒计时( 访问者仍然在) 装入用于最新显示Name, 散装为列表终点 。 没有快照的遗赠票...

Kamo·6mo ago
PerformanceMediaService

大量访问者并跳过列表中的 GeoLite 搜索

/api/support/tickets列表的终点正在运行,每页20行: - 20个QQ电话(N+1) - GeoLookupService有20通电话,每个都有一个范围扫描 相对于 GeoLite 块表(百万行)加一个位置 在巨大的桌子上取出——~40个额外查询,即使访客 记录已经有存储的国家代码 。 修补 : -...

Kamo·6mo ago
Performancekamo-shared-library

添加散装装载的搜索工具

支持- ticket 列表端点用于获取所有访问者 页面中的查询,而不是 N 单独的 findBySessionGuid 呼叫.

Kamo·6mo ago
March 12, 2026
PerformanceMediaService

跳过 DB 成员查找信件认证检查

提取从 Redis 读取成员ID 的 JemberIdFrom Request( ) 会话不点击 DB 。 用于获取Messages( ) 而不是 获得Current Member()——该成员实体只在那里被注销, 从来没有使用过。 在每个聊天历史载荷上保存一通DB回转. 将当前成员( ) 调用为请求( ) 内部用于...

Kamo·7mo ago
PerformanceMediaService

从 getMessages 端点删除剩余的打印通话

Kamo·7mo ago
Performancekamo-internal

Eliminate OTK Redis overhead and proxy log noise for message fetches

- Bypass OTK generation in the MediaService proxy route: forward the *** cookie directly instead of generating a one-time key, removing 4 Redis round-trips ...

kamo·7mo ago
PerformanceMediaService

取消每个请求的日志管理费和同步 TTL 刷新

- k8s 配置( 实际生产配置): 安全/ hikari 从INFO/DEBUG到WARN的日志,添加 HikariCP 池配置(最多20个) - 会议服务:脱去-60系统。 每个请求,包括128 Char会话密钥的字符串连接; 让 TTL 重新刷新 ASync 使其不再阻断 请求路径 - 在应用程序上启用 @ En...

Kamo·7mo ago
PerformanceMediaService

减少日志噪音和调谐连接池

- 从TRACE到WARN的下春安保和从DEBUG到HARICP的下春安保 WARN — 每个请求消除数十个同步日志写入 - 增加明确的HikariCP池配置(最大20个,5分),以防止 在同时负载下的连接已耗尽 - 从当前成员( ) 中删除14个每个请求的系统. out. println的电话

Kamo·7mo ago
Performancekamo-shared-library

在同一查询中获取父信件以删除回复 N+1

异名 m.msg 和 LEFT JOIN FETCH msg. parent 这样,线性回复 信件在初始查询中加载了父信件而不是 触发单独的 SELECT 每一份回复

Kamo·7mo ago
Performancekamo-internal

改进聊天消息加载性能

- 缓存获取CurrentMemberId () 生成一个可避免重复/ api/ user- info 的校对 调用每个 WebSocket 信件和打字指示器 - 将信息历史获取和用户信息获取与承诺并行。 减少初始负载延迟 - 在.map()内去掉每个消息控制台.log(每次发射100次) - 从代理路由日志中删除全部...

kamo·7mo ago
PerformanceMediaService

删除聊天信件端点的每个信件记录

删除信件流图中的System.out.println通话 每个消息发射一次(每个请求100个一/O操作),最后 日志,将所有信件再次流出,只是为了收集记录成员身份

Kamo·7mo ago
Performancekamo-shared-library

修复 N+1 查询并添加聊天信件加载的复合索引

- 将LEFT JOIN FETCH m.msg添加到两个寄存器查询中,以便急于加载 同一查询中的 MediaObjMsg, 最多取消100个额外的 SQL 查询 每个聊天窗口打开 - 增加综合指数(SESSION ID、IS REMOVED、DATE CREATED)以涵盖 以单个有效的索引扫描方式获取查询模式

Kamo·7mo ago
March 11, 2026
PerformanceSecurityService

Batch-load custom form data in getAllLeads (eliminate N+1)

Replace per-lead getCustomFormDataForLead calls (N+1 queries) with a single batch load via getCustomFormDataForLeads, grouped by lead ID using a Map lookup when...

Kamo·7mo ago
Performancekamo-shared-library

取消关于线索端点的全表扫描和N+1查询

- 铅存储器:添加 findByOrganizationId JPQL 查询(使用ORG ID索引) 而不是装入整个 LEADS 表格并在 Java 中过滤 - 铅海关表格数据库:为批量装入添加查找ByLeadIn 一个查询中多个线索的自定义格式数据 - **************** 使用新 Repo 查询; 批量...

Kamo·7mo ago
January 3, 2026
Performancekamo-marketing

在鼠标编码器后去除粒子效果以提高性能

snadjafinia·9mo ago
December 14, 2025
Performancekamo-login

在保持视觉吸引力的同时,将页面性能优化40%-50%

- 懒惰地装入Swiper背景旋转木马以减少初始捆绑大小 - 纪念组件(ThemeLogo、BrandIcon、LazySwiperBackground),以防止不必要的重交 - 用GPU加速优化动画并减少模糊效果 - 为更快的初始渲染而添加字体播放交换 - 启用 Next.js 性能优化(压缩、图像格式、软件包优化)...

snadjafinia·10mo ago
December 12, 2025
Performancekamo-marketing

优化40QQ性能改进的计算页面

snadjafinia·10mo ago
Performancekamo-marketing

优化营销网站40QQ性能提升

snadjafinia·10mo ago
PerformanceSecurityService

Refactor to parallel deployment for k1m1 and k2m1

- Split build and deployment into separate jobs - Deploy to k1m1 and k2m1 in parallel after build completes - Reduces total deployment time significantly

snadjafinia·10mo ago
PerformanceMediaService

K1m1 和 k2m1 的并行部署

- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间

snadjafinia·10mo ago
PerformanceAPIService

K1m1 和 k2m1 的并行部署

- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间

snadjafinia·10mo ago
Performancekamo-register

K1m1 和 k2m1 的并行部署

- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间

snadjafinia·10mo ago
Performancekamo-marketing

K1m1 和 k2m1 的并行部署

- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间

snadjafinia·10mo ago
Performancekamo-login

K1m1 和 k2m1 的并行部署

- 将建筑和部署分开。 - 在建造完成后平行部署到 k1m1 和 k2m1 - 大大减少部署总时间

snadjafinia·10mo ago

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价