Replace pipeline modal dialogs with full detail pages
Rebuild all 6 market detail pages (Orders, Applications, Bookings, Agreements, Procurement, Service) from scratch using a shared PipelineRecordLayout component....
Add proactive session extension to prevent timeout while user is active
The session monitor only extended the Redis session when TTL dropped to ≤5 minutes, and at that point silently auto-extended without showing the warning popup. ...
Redesign Apps & Features page with polished modern UI
Restyle the settings/account apps tab with stats banner, gradient icon containers, always-visible category filter pills, refined card hover states, animated vie...
Swap My Account and My Branch buttons and reduce NavTop gaps
Swapped positions of "My Account" and "My {branch title}" buttons in the top nav, and halved all container-level gaps for tighter spacing.
Move useUserInfo hook into OrgStep component to fix build error
getParentBranchTitleNonPlural was referenced in OrgStep but only destructured in the parent CreateNetworkPage component.
Add abstract title labels and dynamic parent branch titles
Add memberTitleAbstract and teamMemberTitleAbstract label fields with sync support. Replace hardcoded "Company" references with dynamic parentBranchTitleNonPlur...
Split ageReqType into member and team member fields
Update Organization type, PublicProvider, route schema, and BranchSetupManager with separate member/team member age requirement sections.
Rename Employee to TeamMember and wire up dynamic label overrides
Rename all Employee/Employment references to TeamMember/TeamMembership. Replace hardcoded Member/Team Member display text with dynamic label getters from useUse...
Add Child Organization Security Models mock UI to Branch Setup tab
Adds a datagrid with inline edit/add panel for managing child org security models, including org visibility toggles, age range selection, identity provider and ...
Resolve session timeout maintenance system not running
Root cause: sessionMonitor.start() called stop() after setting this.config, which nullified the config before the 3-second startup timer fired. As a result, the...
Add branch setup implementation plan
12-task sequential plan covering kamo-shared-library, SecurityService, and kamo-internal changes end-to-end.
Add branch setup design spec
Covers the full feature from kamo-shared-library schema changes through SecurityService session/endpoint changes to kamo-internal UI and API proxy.
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 ...
改进聊天消息加载性能
- 缓存获取CurrentMemberId () 生成一个可避免重复/ api/ user- info 的校对 调用每个 WebSocket 信件和打字指示器 - 将信息历史获取和用户信息获取与承诺并行。 减少初始负载延迟 - 在.map()内去掉每个消息控制台.log(每次发射100次) - 从代理路由日志中删除全部...
解决水平重叠、 跟踪盲点和计时错误
- fly ToHomeRow:计算每个跟踪器的实际dx范围以获得右缓冲/左缓冲 独立地放置锚,以防止环形追随者与 相邻的家排头( 仅留下 19px 间隙对 77px 需要) - 解析组合:包括被取消的团体追随者作为只读障碍,这样可以自由头 而其他单位则不能再被安排在跟随者位置之上 - 在Make Room / 在Wr...
Bake 大小滑动器通过视图框裁剪放大为已保存的 SVG
阿凡达造物主的内部尺度 放大了SVG内部的阿凡达体 帆布,但效果在小显示尺寸(例如a)时是无法察觉的。 140x140 Avatar组件). 预览使用冗余 CSS 变换: 缩放( ) 以显示缩放, 但 CSS 绝不是其中的一部分 保存了 SVG,所以预览和保存总是看起来不同. 新方法: - 从可选变形器中去除缩放( ...
从 Avatar 预览中删除冗余 CSS 缩放转换
Avatar 创建器的缩放选项已经作为 SVG 组应用了缩放( N/ 100) 变相体上. 预览容器也在应用中 CSS变换:分级(N/100),复合效应(2.5×2.5=6.25x) (以250%计) 这让预览看起来与 保存了 SVG, 特别是在滑动器最大值被提升到250后特别显著 。 删除 CSS 变换使预览准确匹...
执行 make Room 和后碰撞分辨率
以真正的处理器替换无操作的六角头: make Room listener 在新工具窗口的 DOM 矩形后运行解析度 稳定。 修复收听者泄露(匿名,从未清理). 包装后还要运行解析度 。 最终在停靠的窗户后面被重新定位.
Fly ToHomeRow 中的组意识槽宽度
组现在保留与其跟踪者成比例的横向槽 环范围(使用正确的平顶轴公式),防止群 来自入侵相邻锚地空间的追随者. 还添加a 双RAF解析器在安放后作为安全网通过.
使用 Callback 添加解析度
探测到头到头和头到脚的Window空间违规情况 然后把头移到最近的干净位置 螺旋搜索器。 必须通过双RAF调用以避免读取 中动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能...
添加 MIN GAP 常数和螺旋搜索助手
添加 5px 最小间隙的变异常数和螺旋搜索 函数查找最近的无相撞像素位置 一个六分头,检查 头对头和头对工具 Window 清除.
Add hexhead collision fixes implementation plan
5-task plan covering: spiralSearch helper, resolveCollisions useCallback, group-aware flyToHomeRow, onUp non-snap/swarm wiring, and makeRoom/ wrapAroundDock eve...
Remove z-index DOM sort to prevent click events being dropped on focus
Sorting windows by zIndex in ToolDock caused DOM node reordering on every focus event (mousedown). Browsers drop the click event when its target element moves b...
Add hexhead collision fixes design spec
Spec covers three hexhead UX bugs: horizontal bottom-row vertex overlap, bottom-right stacking when dropping without snap, and hexheads ending up behind tool wi...
Bake background color/gradient into saved Avatar Creator avatar SVG
Avatar Creator generates transparent-background SVGs by default. The background was only applied as a CSS wrapper on the preview container, so the stored MinIO ...
Dispatch member-panel-toggle via useEffect to avoid stale Framer Motion closure
onAnimationStart/Complete hold the last rendered props, so the exit animation always saw isOpen=true and windows never relayed to the right on close. Using a us...
Correct member-panel-toggle event property so tool windows respect panel offset
The event was dispatching `{ isOpen }` but ToolWindowsContext read `detail.open`, causing memberPanelOpenRef to always be falsy and the 500px panel offset to ne...
