René's URL Explorer Experiment


Title: Feat: 新增 DropdownMenu 组件 by hqwlkj · Pull Request #58 · lessweb/deepcode-cli · GitHub

Open Graph Title: Feat: 新增 DropdownMenu 组件 by hqwlkj · Pull Request #58 · lessweb/deepcode-cli

X Title: Feat: 新增 DropdownMenu 组件 by hqwlkj · Pull Request #58 · lessweb/deepcode-cli

Description: 📋 概述 本次 PR 引入了通用的 DropdownMenu 组件,重构了技能和模型选择列表的实现,同时增强了会话系统消息支持和 UI 显示优化。 主要变更 ✅ 新增通用 DropdownMenu 组件,支持滚动、自定义渲染 ✅ 重构 Skills 和 Model 下拉菜单,消除重复代码 ✅ 添加 /model 命令的系统消息记录功能 ✅ 优化 Thinking 消息的 UI 显示(增加缩进和 reasoning effort 显示) ✅ 新增 calculateVisibleStart 函数的完整单元测试(17 个测试用例) ✅ 修复会话切换后欢迎页不显示的问题 🎯 变更详情 1. 新增通用 DropdownMenu 组件 文件: src/ui/DropdownMenu.tsx (新建) 核心特性 通用数据驱动设计: 接受 DropdownMenuItem[] 数组,而非硬编码的 JSX 智能滚动窗口: 自动计算可见区域,确保活跃项始终可见 自定义渲染支持: 通过 renderItem prop 支持完全自定义渲染 性能优化: 使用 React.memo 和 useMemo 避免不必要的重渲染 标签列自适应宽度: 根据内容自动计算最佳列宽 关键函数 export function calculateVisibleStart( activeIndex: number, totalItems: number, maxVisible: number ): number 计算滚动窗口的起始位置,确保活跃项居中显示(当空间允许时)。 Props 接口 type DropdownMenuProps = { items: DropdownMenuItem[]; // 数据项列表 activeIndex: number; // 当前活跃项索引 maxVisible?: number; // 最大可见项数(默认 8) width: number; // 容器宽度 title?: string; // 标题 titleColor?: string; // 标题颜色 activeColor?: string; // 活跃项颜色 helpText?: string; // 帮助文本 emptyText?: string; // 空列表文本 renderItem?: (item, isActive) => React.ReactNode; // 自定义渲染器 }; 2. 重构 Skills 和 Model 选择菜单 文件: src/ui/PromptInput.tsx 变更前 Skills 和 Model 菜单各自独立实现,存在大量重复代码: 重复的边框、滚动指示器逻辑 重复的键盘导航处理 重复的渲染逻辑 变更后 统一使用 DropdownMenu 组件: ({ key: skill.name, label: skill.name, description: skill.description, selected: isSkillSelected(skill.name), statusIndicator: skill.isLoaded ? { symbol: "✓", color: "green" } : undefined, }))} activeIndex={skillsDropdownIndex} activeColor="#229ac3" maxVisible={6} /> 优势: 📉 代码行数减少 ~50 行 🔄 逻辑复用,易于维护 🎨 统一的视觉风格 ⚡ 更好的性能(React.memo) 3. 增强 /model 命令的系统消息支持 文件: src/ui/App.tsx, src/session.ts 功能 当用户执行 /model 命令切换模型时,会在聊天历史中添加一条系统消息: /model ⎿ Set model to gpt-4o 实现细节 新增 addSessionSystemMessage 方法 (src/session.ts) addSessionSystemMessage( sessionId: string, content: string, meta?: MessageMeta ): void MessageMeta 扩展 interface MessageMeta { isModelChange?: boolean; modelConfig?: { model: string; thinkingEnabled: boolean; reasoningEffort: string; }; } UI 显示优化 (src/ui/MessageView.tsx) Thinking 消息增加左侧缩进(marginLeft={2}) 显示 reasoning effort 信息:(normal effort), (high effort), 等 4. 修复会话切换后欢迎页不显示的问题 文件: src/ui/App.tsx 问题 执行 /resume 切换会话后,欢迎页和历史记录都不显示。 根本原因 组件使用增量渲染机制,切换会话时不会重新挂载,导致: 旧的 items 仍然保留在终端中 新的 welcomeItem 不会被渲染 解决方案 使用 key 机制强制 重新挂载: const [staticRemountKey, setStaticRemountKey] = useState(0); // 切换会话时 const newMessages = loadVisibleMessages(sessionManager, sessionId); setMessages(newMessages); // 同时设置消息 setStaticRemountKey((k) => k + 1); // 触发重新挂载 {(item) => { if (item.id.startsWith("__welcome__")) { return ; } return ; }} 优势: ✅ 切换会话后欢迎页正确显示 ✅ 历史记录完整加载 ✅ 终端 resize 时正确重绘 ✅ 无闪烁,无残留内容 5. 新增单元测试 文件: src/tests/dropdownMenu.test.ts (新建) 为 calculateVisibleStart 函数编写了 17 个测试用例,覆盖: 测试场景 类别 测试用例数 覆盖内容 基本场景 6 居中、开头、末尾、少于 maxVisible、单项、空列表 边界情况 5 奇偶 maxVisible、精确边界、中间范围 特殊参数 3 超大 maxVisible、activeIndex 越界、maxVisible=1 滚动行为 3 向下滚动、向上滚动的完整流程 测试结果 # tests 184 # pass 184 # fail 0 🧪 测试验证 自动化测试 npm test # ✅ 184 tests passed # ✅ 0 tests failed 手动测试清单 /skills 命令 - Skills 下拉菜单正常显示和滚动 /model 命令 - Model 下拉菜单正常显示和滚动 /model 命令 - 切换后聊天历史中出现系统消息 /resume 命令 - 切换会话后欢迎页正确显示 /resume 命令 - 切换会话后历史记录正确加载 终端 resize - 欢迎页和历史记录正确重绘 Thinking 消息 - 显示缩进和 reasoning effort 长列表滚动 - 上下滚动时活跃项始终可见 🎨 UI/UX 改进 下拉菜单统一风格 圆角边框容器(borderStyle="round") 标题栏分隔线 滚动指示器(… 3 above, … 5 more) 帮助文本底部边框 统一的活跃项高亮颜色(#229ac3) 🚀 性能优化 React.memo: DropdownMenu 组件使用 memo 包装,避免不必要的重渲染 useMemo: labelColumnWidth 计算使用 memo 优化 数据驱动: 从 JSX 数组改为数据对象数组,减少虚拟 DOM 差异计算 增量渲染: 保持 的增量渲染优势,仅在必要时重新挂载 ✅ PR 检查清单 代码通过 TypeScript 类型检查 (npm run typecheck) 代码通过 ESLint 检查 (npm run lint) 代码通过 Prettier 格式化 (npm run format:check) 所有测试通过 (npm test - 184 tests) 构建成功 (npm run build - 293.1kb) 无控制台警告或错误 代码注释完整 遵循项目代码规范

Open Graph Description: 📋 概述 本次 PR 引入了通用的 DropdownMenu 组件,重构了技能和模型选择列表的实现,同时增强了会话系统消息支持和 UI 显示优化。 主要变更 ✅ 新增通用 DropdownMenu 组件,支持滚动、自定义渲染 ✅ 重构 Skills 和 Model 下拉菜单,消除重复代码 ✅ 添加 /model 命令的系统消息记录功能 ✅ 优化 Thinking 消息的 UI 显示(增加缩...

X Description: 📋 概述 本次 PR 引入了通用的 DropdownMenu 组件,重构了技能和模型选择列表的实现,同时增强了会话系统消息支持和 UI 显示优化。 主要变更 ✅ 新增通用 DropdownMenu 组件,支持滚动、自定义渲染 ✅ 重构 Skills 和 Model 下拉菜单,消除重复代码 ✅ 添加 /model 命令的系统消息记录功能 ✅ 优化 Thinking 消息的 UI 显示(增加缩...

Opengraph URL: https://github.com/lessweb/deepcode-cli/pull/58

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c902a2aa-5679-a96a-0a10-ae64e8f9d1f2
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC78C:39522F:15877BA:1DD72E0:6A4DF2FF
html-safe-nonce5d3d5121b2e103ecd1319b985b0ff8a529fe46229c5958afb7e5ad6360f112f2
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNzhDOjM5NTIyRjoxNTg3N0JBOjFERDcyRTA6NkE0REYyRkYiLCJ2aXNpdG9yX2lkIjoiNDQ5ODE2MTcxNTIyNTk0ODkyNyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacac442bce3144156068c09b7c8622be6c490a348694f5409ec8fba306c697409c
hovercard-subject-tagpull_request:3680210542
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/lessweb/deepcode-cli/pull/58/files
twitter:imagehttps://avatars.githubusercontent.com/u/12181423?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/12181423?s=400&v=4
og:image:alt📋 概述 本次 PR 引入了通用的 DropdownMenu 组件,重构了技能和模型选择列表的实现,同时增强了会话系统消息支持和 UI 显示优化。 主要变更 ✅ 新增通用 DropdownMenu 组件,支持滚动、自定义渲染 ✅ 重构 Skills 和 Model 下拉菜单,消除重复代码 ✅ 添加 /model 命令的系统消息记录功能 ✅ 优化 Thinking 消息的 UI 显示(增加缩...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5818716c93c6a2925b815402541a32814e43a7b1261c322b0c2df75224289566
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/lessweb/deepcode-cli git https://github.com/lessweb/deepcode-cli.git
octolytics-dimension-user_id118287711
octolytics-dimension-user_loginlessweb
octolytics-dimension-repository_id1223512305
octolytics-dimension-repository_nwolessweb/deepcode-cli
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1223512305
octolytics-dimension-repository_network_root_nwolessweb/deepcode-cli
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef4bb89367ca678f057d79b1abc45d6675b1bd5b2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/lessweb/deepcode-cli/pull/58/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Flessweb%2Fdeepcode-cli%2Fpull%2F58%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Flessweb%2Fdeepcode-cli%2Fpull%2F58%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=lessweb%2Fdeepcode-cli
Reloadhttps://github.com/lessweb/deepcode-cli/pull/58/files
Reloadhttps://github.com/lessweb/deepcode-cli/pull/58/files
Reloadhttps://github.com/lessweb/deepcode-cli/pull/58/files
Please reload this pagehttps://github.com/lessweb/deepcode-cli/pull/58/files
lessweb https://github.com/lessweb
deepcode-clihttps://github.com/lessweb/deepcode-cli
Notifications https://github.com/login?return_to=%2Flessweb%2Fdeepcode-cli
Fork 152 https://github.com/login?return_to=%2Flessweb%2Fdeepcode-cli
Star 1.7k https://github.com/login?return_to=%2Flessweb%2Fdeepcode-cli
Code https://github.com/lessweb/deepcode-cli
Issues 43 https://github.com/lessweb/deepcode-cli/issues
Pull requests 22 https://github.com/lessweb/deepcode-cli/pulls
Actions https://github.com/lessweb/deepcode-cli/actions
Projects https://github.com/lessweb/deepcode-cli/projects
Security and quality 0 https://github.com/lessweb/deepcode-cli/security
Insights https://github.com/lessweb/deepcode-cli/pulse
Code https://github.com/lessweb/deepcode-cli
Issues https://github.com/lessweb/deepcode-cli/issues
Pull requests https://github.com/lessweb/deepcode-cli/pulls
Actions https://github.com/lessweb/deepcode-cli/actions
Projects https://github.com/lessweb/deepcode-cli/projects
Security and quality https://github.com/lessweb/deepcode-cli/security
Insights https://github.com/lessweb/deepcode-cli/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Flessweb%2Fdeepcode-cli%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Flessweb%2Fdeepcode-cli%2Fissues%2Fnew%2Fchoose
qorzjhttps://github.com/qorzj
lessweb:mainhttps://github.com/lessweb/deepcode-cli/tree/main
hqwlkj:feature/dropdown-menu-refactorhttps://github.com/hqwlkj/deepcode-cli/tree/feature/dropdown-menu-refactor
Conversation 0 https://github.com/lessweb/deepcode-cli/pull/58
Commits 5 https://github.com/lessweb/deepcode-cli/pull/58/commits
Checks 0 https://github.com/lessweb/deepcode-cli/pull/58/checks
Files changed https://github.com/lessweb/deepcode-cli/pull/58/files
Please reload this pagehttps://github.com/lessweb/deepcode-cli/pull/58/files
Feat: 新增 DropdownMenu 组件 https://github.com/lessweb/deepcode-cli/pull/58/files#top
Show all changes 5 commits https://github.com/lessweb/deepcode-cli/pull/58/files
4d4dc4f feat(ui): 新增通用DropdownMenu组件并替换技能与模型选择列表 hqwlkj May 13, 2026 https://github.com/lessweb/deepcode-cli/pull/58/commits/4d4dc4fff3f7481fb5f2b755120a1e73f1b8017c
2700054 feat(session): 添加模型变更消息支持和相关UI优化 hqwlkj May 14, 2026 https://github.com/lessweb/deepcode-cli/pull/58/commits/27000543800e7e3113c25ebac9df6d3acd60a7a4
ef875a0 feat(session): 添加会话系统消息支持及模型变更消息处理 hqwlkj May 14, 2026 https://github.com/lessweb/deepcode-cli/pull/58/commits/ef875a056d627d1cb9f08ea83374087e386d0f71
e489ba6 Merge branch 'main' into feature/dropdown-menu-refactor hqwlkj May 14, 2026 https://github.com/lessweb/deepcode-cli/pull/58/commits/e489ba60a61da5d8be87608ab4a3d926023fb07a
d3aab4d fix(merge): 合并 main 分支代码并处理冲突 hqwlkj May 14, 2026 https://github.com/lessweb/deepcode-cli/pull/58/commits/d3aab4de5579ea9660af2a7f0371504ee625f01f
Clear filters https://github.com/lessweb/deepcode-cli/pull/58/files
Please reload this pagehttps://github.com/lessweb/deepcode-cli/pull/58/files
Please reload this pagehttps://github.com/lessweb/deepcode-cli/pull/58/files
session.ts https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
dropdownMenu.test.ts https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0fa9466bb2bae0e189823ba85addcc5375a3ec5fa76b73b952f7989980ffa672
App.tsx https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
DropdownMenu.tsx https://github.com/lessweb/deepcode-cli/pull/58/files#diff-a2b9c0f15201e52cbb3cd5e55aed1c3c20ac5b988582ccc57d7ac5db39140c51
MessageView.tsx https://github.com/lessweb/deepcode-cli/pull/58/files#diff-98529297184603c06e7504c8597d26336d6df669c6a57940ce4ad1e60b4b011b
PromptInput.tsx https://github.com/lessweb/deepcode-cli/pull/58/files#diff-82045eb6c45c8c094739d89e1eb59b5ca893247cff1a12ef81af2ed6231b6be2
src/session.tshttps://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
View file https://github.com/hqwlkj/deepcode-cli/blob/d3aab4de5579ea9660af2a7f0371504ee625f01f/src/session.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/lessweb/deepcode-cli/pull/58/{{ revealButtonHref }}
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-96998a2148aa3d52ad3e80303d0ad88fc43a4afd08966b5330a5657021ae52bb
src/tests/dropdownMenu.test.tshttps://github.com/lessweb/deepcode-cli/pull/58/files#diff-0fa9466bb2bae0e189823ba85addcc5375a3ec5fa76b73b952f7989980ffa672
View file https://github.com/hqwlkj/deepcode-cli/blob/d3aab4de5579ea9660af2a7f0371504ee625f01f/src/tests/dropdownMenu.test.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/lessweb/deepcode-cli/pull/58/{{ revealButtonHref }}
src/ui/App.tsxhttps://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
View file https://github.com/hqwlkj/deepcode-cli/blob/d3aab4de5579ea9660af2a7f0371504ee625f01f/src/ui/App.tsx
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/lessweb/deepcode-cli/pull/58/{{ revealButtonHref }}
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
https://github.com/lessweb/deepcode-cli/pull/58/files#diff-0022b32944774e72bcbec1b0520e753925073bfbeff256269d0f668f5f515b0e
Please reload this pagehttps://github.com/lessweb/deepcode-cli/pull/58/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.