← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / frontend / src / features / chrome / README_zh.md

frontend/src/features/chrome

English

F-20 工作台外壳:团队面、模态焦点陷阱、⌘K palette、上传 / 笔记 / 麦克风、布局密度、列宽拖拽。团队模态走 openModalEl / closeModalEl(旧 IIFE 绕过了陷阱)。Palette 的 Artifact 命中按 M-03(先开会话,再 exact version_id)。

文件

文件 职责
api.ts 同源 JSON 助手(/api/v1、ApiError)。
chrome.css 本车道样式:palette / notes / team / resizer 类名。
dom.ts $ / el / icon / ago / hint / grow。icon 取自共享的 icons/paths.ts 表。
host.ts 用 isReady 查 window 能力。不 import window-exports。
index.ts bootChrome():window 赋值、快捷键、绑定、bootTeam。
layout.test.ts os-layout 持久化、compact/wide 类、列宽钳制。
layout.ts applyLayout / setLayout。键 os-layout。
mic.ts SpeechRecognition 把口述写进 #composer。
modal.test.ts 陷阱栈、Tab 循环、Esc、焦点恢复、团队 fallback 选择器。
modal.ts 逐字焦点陷阱(栈 / Tab / Esc / 恢复)。
notes.ts Files dock 里的项目笔记。
palette.test.ts M-03 Artifact 命中、stub 安全的 isReady、乱序 PAL.gen。
palette.ts ⌘K palette。Artifact 命中先开会话再 exact version。
resizer.ts 侧栏 / dock 列宽拖拽。键 os-side-w / os-dock-w。拖拽柄的提示是静态 data-i18n-title 标签,字典加载后和切换语言时随之重绘。
resizer.i18n.test.ts 列宽拖拽柄的提示不会是裸键 resizer.drag,并随字典加载和语言切换更新。
team.test.ts 身份芯片、admin 面板、guest 重定向、团队模态走陷阱。
team.ts 团队 IIFE。/auth/me 探测;admin/files 模态走陷阱。
upload.test.ts 选择时刻锁定目的地、四条 batch 匹配、单飞、重试覆盖旧失败、失败集 64 上限。
upload.ts 文件选择 / 粘贴 / 拖放上传、UPLOAD_STATE、首个会话的单飞,以及 send 屏障用的 waitForPendingUploads。