变更记录
什么是新的。
平台的每一个改进,随着它的出货。
· kamo-shared-library
添加 VENDOR CALLBACK RESOLED 事件类型密钥( 0. 6a ingress)
· kamo-shared-library
出借识别器登记册底板——42个打入的标识(钥匙石0.5,切片1)
新的 pkg.com.kamo.z.shared.mlos.identity(输入-webhook 路由键): 出借标识符 Type(42个一等打入的ID,每个都带有Charminity + 所有权; @ 假设 STRING; 从元数据衍生出单AactiveTypes ()) + **************** + 贷款标识实体( BaseUid Entity; FK- by- id Long LearnFileUid + 非正常化的组织Id, 与锁定的LoneFile 脱钩; 写入- once @ PreUpdate guards throws on value/type/ CustomSubtype change, 仅允许状态翻转; @ PrePersist converserver servers/ suptype + 执行 Other- CustomicSubtype) + 贷款标识存储器 Repository( 自动查找器; 仅限值是搜索-援助) 。 本地验证:mvn安装了BUILD SUCCESS,49个MLOS测试通过(包括单活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性活性 Kamo Initializer DDL:扫描+3部分-唯一索引+其他CHECK. RESOLVER + webhook incross = 首个新的MLOSIdentifer Service micro service (deerred). 互联网档案馆的存檔,存档日期2013-12-21.
· kamo-shared-library
机长Feed Back飞轮——捕捉每个机长判决(关键数据为0.11)
新增 pkg- unct- sept- feedback 地面真人行( FK ai decision.uid; judge CONFIRM/Override/MODIFY; Reg- B相通理由代码; 更正Value jsonb; 是 TestLoan 按每个 doc12 §4. 4 的写出时间 ; @ PreUpdate WORM 的守护) + StewardFeedback Repostory + Steward Feedback Record Record, 将所有 THREEE 阶段-0 的键盘组成一个 tx( spine judges + ques mloses.steward. feedback. record. 记录在事件后波段-后波段 +印出测试分区). 已启动( 默认关闭 - > 零爆炸半径) 。 KamoInitializer DDL:扫描+aper feedback指数+FK到ai 决定.
· kamo-shared-library
不可改变的Ai决定 WORM分类账+双墙决定Gate(键盘0.3,切片1)
Pkg.com.kamo.z.share.mlos. science. decision(绿地决定脊椎,永不编辑) : 不可改变的 Ai 决定(WORM通过@PreUpdate guard;出借FileId是Long FK到LoogleFile.uid per doc01/gotchas,NOT UUID;通过超会话取代了新行的决定Id,以保持WORM与 DB 触发符一致) + **************** enums + Ai 决定存储器(借入范围查找器). DecisionGate = in- processed two-wall library (法律墙 ABSOLUTE/不可通通;可通信墙可通;下方为不可通通通平台安全地层)——只通通相通@Component,不通回接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接接 用于依赖性切片:决策输入(FKs the Phase-2 Catalog),StewardTask/Orchestration State,法律登记,HMDA-firewall CHECK,ModelVersion FK. Kamo Initializer DDL 添加(ai 决定指数+标出DB WORM触发需要CRDB v24.x).
· kamo-shared-library
活动主干部分的租户隔离门(第3节)
路线图0.10: + QQ( 租户用户订阅接合) + 属于 ToTenant( subject, orgId) 的指向匹配, 以反射 NATS 过滤; 对于 Event 现在拒绝非阳性 OrgId( 没有租户就没有事件) 。 MlosTenant 隔离 测试是可执行的跨租户门(包括符号边界:org 12 never match org 123). MlosDeadLetter Repository 与操作员加码的交叉租户一并获得一个Org-class-classed 管理员查找器(repo-layer org-scope guard). X-Internal-Auth hops上的租户范围是整个地产的,并推迟到Auth键盘上;随后是第一个混凝土消费者的活经纪人隔离测试.
· kamo-shared-library
消费者侧一能,DLQ + 服务员重放(第2节)
将任何 MLOS 消费者插件的可靠性核心添加到: 处理过的 Event 解开分类账( unique coper name+event id) + Mlos DeadLetter DLQ + Mlos DeadLetter status; 同上Potent EventProcessor( INSERT- or- skip dedup in the handler's tx 这样一个失败的回滚标记; 死字母通过最大尝试而不是回滚; 死Letter 无法处理无法解开的毒药); 死Letter Replayer(通过出框重排出一个 DEAD 字母,作为带有因果关系的 Id 线程 - > 无 msg id-unique/dup-window相撞, 标记 REPLAYED). MlosEventEnvelope 收益 @ Jacksonized 用于来回脱线。 新建@ Compubliconents 共享 mlos. outbox. 启用的选入; repos 在已扫描的包中 。 Live CastramentMlos DubableConcumer(NATS订阅) 被推迟到其第一个混凝土消费者.
· kamolos
采用 MLOS 交易输出框( 生产者路径)
启用 KamoLOS 中的 Phase-0 事件主干线: 在 @ EnableJpa Repositories 扫描中添加 com.kamo.z. share.mlos.event , mlos. * config(mlos.outbox. uplied= true, MLOS EVENTS stream + dedup 窗口, 扫描器) , 以及一个生产路径的接线测试, 证明 queue- > AFTER COMMIT接力将信封事件Id作为"Nats-Msg-Id"出版一次。 Schema(mlos outbox event + index)由用户运行的KamoInitializer单独应用.
· kamo-shared-library
交易发包箱事件主干线(B阶段-0)
新兄弟的金钱/遵守级生产者路径 (从不修改):MlosEvent Entope DTO + MlosOutboxEvent出柜实体/repo + OutboxWriter(单-tx enqueue) + OutboxRelay(AFTER COMMIT 热-path + @Scheduled sweaker,与 Nats-Msg-Id) + MlosNatsStream Config(新MLOS EVENTS 流与去dup窗口 NatsConfig 缺少). 重用已锁定的 NATS 连接/ JetStream 豆类 。 通过mlos.outbox.启用(默认关闭)的Opt-in,所以不采纳的服务不会受到影响. 完全即时效应=交易出柜 + JetStream Nats-Msg-Id dedup. 消费者拆分/DLQ + CI 租户-同化为 第2/3.
· kamo-internal
显示每个阶段的数据层。 EDT4 海洋口罩+TRF2标记
Worldgen仪表板的舞台卡 现在列出每个瓷砖舞台烘焙的数据层 以新加的为重音:EDT4海洋(海相接)口罩; 和TRF2道道标+运输所平分的跑道地形。 纯格式/数据 标签(STAGE LAYERS in type.ts)——没有新的i18n字符串. Stale/ Regen 已经数过了 一旦出处撞出EDT3-EDT4/TRF1-TRF2.
· kamo-internal
页面上表面瓷砖固态+目标"再生N"
特工快照现在带有每发硬化剂(最新/ stale/缺失); 通过 API + SSE 将其粘接到页面 : - 服务标签显示每个瓦片服务的新鲜度行,启动按钮变为 "再生N" (= stale + 缺少) 当有针对性地工作,或"更新至今". - 完成平板提示显示需要更新多少平板。 启动已经在主机上由出处驱动,所以按钮触发目标 重生 确切的 stale/ missing 细胞.
· kamo-internal
宇宙代世界管理页面
在平台管理——其本身的平台——下增加/设置/平台/统一 名片 + 三子标签( 概览、 服务、 动作) —— 启动并监视 KamoUniversis世界数据管道直播. 后端( Next API, 平台- admin gated by the ***会话, 与规则相同) 客户警卫: - app/lib/worldgenNats.ts:一个长寿的NATS连接+一个状态订阅者 缓存每个阶段的最新状态 +快照(在记忆中 + Redis) 和 重装在SSE的流程中总线上。 发布启动命令 。 - 应用/辅助/单相/服务获得每个阶段的当前状态(状态+平板) 计数 + 锁 Held 。 - **************** POST 启动命令给 k3m1 代理 。 - 应用/api/单向/流式SSE流直播状态/相机事件。 前端( MUI + next-intl,镜像配置页面) : - 使用Worldgen:一个共享的SSE流(自动重联)+启动(),用于所有标签. - 概况:代理/批/完成/瓷砖瓦+活管铁路。 - 服务:每个剧本一张丰富的卡片——角色+它的成就,活状态 图标,有/完全进度栏,最后一个事件,以及一个启动按钮(在 任何批次都持有全球锁). - 行动:运行整个管道或单个阶段(经确认), 加上一个快照刷新。 接线:NATS URL在配置图中添加;"nats"客户端依赖性被添加. K3m1 号 代理 + 脚本遥测在宇宙- 土数据中活; 翻译中的字符串 词典. Tsc 清除所有新文件 .
· kamo-shared-library
添加对大小写不敏感 找到 ByEmail 电子邮件 IgnoreCase
电子邮件的存储大小写不一致(例如Sage@KamoCRM.com)和 CockroachDB 字符串平等对大小写有敏感认识, 所以找到 ByEmail 邮件缺失 单凭个案。 需要密码回收邮件查询 .
· EmailService
应用程序 DB 的自愈邮箱账户( 驱动回收)
应用程序 DB 是应该存在信箱的真实来源; KamoMail 账户在邮件服务器的虚拟 用户中进行直播。 如果邮件 DB 丢失数据, 邮箱在提供商丢失时 应用记录还在 - 邮箱自助服务:启动时+每日,重新提供任何KAMO MIL应用程序 缺少虚拟用户的邮箱( 新鲜的随机应用程序管理密码) 。 - 同步Mailboxes( 设置“ 同步” 动作) 现在还推动 app - > 提供者 任何丢失的邮箱, 不仅仅是导入提供者 - > app .
· kamo-internal
代表切换成员邮箱编写/发送
- 从切换器通过活性Mailbox传送到 上下文(活动+ URL param)。 - 选定成员邮箱的新信件 / 回复 / 转发开放 : 从下拉列表中,该成员的信箱+别名,签名个性化 ,并发送/起草认证为他们的邮箱(mailboxId). - 在没有成员邮箱活动时,自编自演.
· kamo-internal
*** 以每组会议方式携带, 而非共享饼干
会话 id 生活在浏览器 cookie 中, 在所有标签中共享 源代码,因此第二个标签(假名)无法维持自己的会话 。 将载体移动到会话Storage( per- tab) : - 会话 client: 符号帮助器+一个全局抓取包,附着 id as X- ***- Token 在同源/ api 通话中,加上一次 cookie - > sessionStorage 迁移 。 通过会话布局安装 。 - 头号(cookie倒背) 生成鼠标、会话/信息、会话/扩展、登录、会话/邀请电子邮件。 - 生成OTK + 获得Ksemid From Request 偏好 X- ***- Token 而不是 cookie 。 - /api/验证不再设置 *** cookie;返回 id 和 / 验证页面将它存储在本标签的会话Storage中. - 使用 UserInfo + 所有 WebSocket 钩子从会话Storage 读取 id 。 - 在清除存储前登录它 。 仍然无效。 假名现在刚刚打开/ validate? otk=... 在新标签中( 相同的路径) 作为登录: Redis 会话创建了服务器侧面, OTK 交给/ validate; ; 新标签获得自己的会话,管理标签未受影响。 删除 过时的Prev/Impersonation Banner 返回管理机械。 兽群仍按域分出——不变.
· kamo-internal
成员设置头条上的 God-mode Impersonate 按钮
在 / sets/ member/[id] 上添加右上角“ 冒用” 动作, 可见 仅当登录的会话带有神模式( Get Is God) 和目标时 这不是自我/新。 调用新的 /api/ security/ imposate, 然后互换 *** 通过 OTK 路径的 cookie (/ validate? otk=. & kkeepPrev=1) 在新标签中。 保存 Prev 在 Redis 保存管理员自己的会话; 一个全局 假相行为 Banner 隐藏管理员 *** 并提供一击“ 返回” 到我的账号上(同源饼干不能同时举行两次直播会). 设置View 获得可选标题动作槽 .
· SecurityService
God-mode 成员冒充终点
POST / api / 安全/ 冒名顶替 薄荷 QQOTK 任意 来电者现任成员,在来电者会话上登出门,携带 神模式 (GD). 将good admin 成员 id 记录为 SUDO MEMBER ID 审计。 与 EnterAs 控制器相同的登录形状会话构建, 但相同- org 和上帝赋予的,而不是交叉的.
· SecurityService
在/user-info中返回orgName + 语言
解析 Org 的显示名和成员所选语言(ISO-639-) 1个 代码)来自 DB ,所以 Kamo- universal 可以显示每个玩家的 org + 语言旗 在他们的名牌上。 决心现场直播(不是从本届会议开始),所以现有会议 马上去接他们.
· kamo-internal
KamoUniversion 发射卡+导航图标(引自 Access KAMOWORLD,OTK重定向播放. *)
· kamo-shared-library
添加 CAccess KAMOWORLD 右侧 (145, Games) 用于相向访问
· KlusterServices
K1m1 图像登记册取代已退休的 k0m1: 5000( 相同的证书)
· KlusterServices
Kamo- universal namespace+quota+valkey, CockroachDB 备份,可观察堆栈
- 宇宙/:命名空间+资源配额,valkey-university(AOF,主机Path k1m1), 夜间 CockroachDB 备份 CronJob,操作员脚本 - 监测/:钉入式控制值 安装脚本, grafana. * 路线, 宇宙仪表板 + 警戒规则 - CI:在k1m1相中应用宇宙命名空间+valkey (NATS软件包已投放:43030d6 已以账户隔离方式重回了k3m1)
· KlusterServices
添加 k3m1 节点+ 迁移集群对等到局域网 IP
- 状态:超过192.168.4.x(k1m1=22,k3m1=36); WireGuard掉下 (k3m1 wg0 10.8.0.1与k0m1的广告IP相撞). - init-job + CI kubeconfig 端点移动到局域网IP. - CI:增加K3M1 CockroachDB部署段(需要K3M1 KUBECONFIG B64秘密).
· kamo-login
登录后, 路由已支付报到
成功验证( 手动或自动登录) 后, 消耗顶端域 sp checkout plan cookie 由 kamo - register 留下, 并将购买者重定向到 品牌/ 订阅? plan=页面( Stripe checkout) 而不是默认的应用程序 目标。 一发: 饼干清空读取.
· kamo-register
从报名到离职计划
当会员注册来源于付费定价的CTA(?plan=pro|business), 完成时, 将一个顶级域sp checkout plan cookie 。 Kamo-login 消费 它在用户认证后并引导它们到/订阅 -> 条纹, 幸存寄存器 - > 校验 - > 登录 hops.
· kamo-shared-library
标记电子签名模板(核查+邀请)
添加两个全平台的 Canonic 电子邮件模板 : - 签名. 签名 - 核查(步骤检察官办公室: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\} - sign.signer invite (签名邀请: 名}};{{名s;{{名s;{{名s;{{名link;{{名link;? 将它们接入 CanonicalTemplate Loader 的关键列表 + 资源 Email Service. seed ForOrg在第一次发送时接取它们. 启用实时 OPT/ 邀请 用于电子信号流的发送(没有模板是最佳的。).
· BillingService
电子标志使用量度+消费者自服检查
#4计量: - EsignMeterSubmission Service (@Scheduled Daily): API原产地总量 按数值+周期进行符号Usage记录;包括头40个/期,其余部分提交 作为Frede Meter Events。 通过报告ToSTripe + 用法记录的 UID 同上 MeterEvent 标识符( Stripe- side dedupe) 。 决定测量事件名称 从加登的实际花纹价格,所以它 匹配价格所绑定的大小( 纠正命名不匹配 )。 #5消费者离职: - 消费者检出服务:针对 产品根的计划价格(+企业的计量吸入器超收线); 账户订阅( 来源 PAID) + 订阅成员 + 账户列表 完成和取消应享权利。 - 消费者会议解决方案:通过自己的*** cookie认证买方 Redis(从来不是客户端设置的org头). - 消费者检查控制器 **************** - FredeWebhookService现在负责检查,会话完成 添加/惰性,直到消费者订阅;活取费需要真卡.
· kamo-internal
API SIGNATURE( E- Signature API) 关键范围
在 org API 密钥管理器中添加 E- Signature API 范围, 这样工作人员就可以批准 。 业务类方案电子信号访问。 月度以外使用量 分配款按每个签字计算.
· APIService
公共程序电子签名API网关(API SIGNATURE范围)
添加 /api/ public/ sign/ ** 到 PublicApi 控制器: 验证 org API 密钥, 要求 API SIGNATURE 范围、 费率限制, 并转发到 EsigService 的 内部信封 API (/api/esig/Internal/**) 有 X-Internal-Auth + X-Org-Id. 显示订阅-目录网关的先例.
· ESigService
内部方案信封 API(原产地=API)
- 签名内部主计长(/api/esig/内部/*):X-Internal-Auth+X-Org-Id a. 认证,由APIService在验证API SIGNATURE范围密钥后调用; 重复使用 EsignEnvelope Service,标记信封 EsignUsageOrigin. API 密码 - 产生原产地超载(MANUAL默认) - 现在在信封的出处(API - > 超龄,Manual 永远不会)旁边签名路径 - OTKAuthFilter绕行/api/esig/内部(内部保密,而不是OTK)
