5月12日:搜索框的第三次重写
早上的崩溃 早上 10 点刚打开电脑,测试组的小林就在群里甩了一张截图:搜索框输入超过 50 个字符就会页面卡死。我的心瞬间凉了半截——这是 CloverTools v1.3.2 刚上线第三天,又出幺蛾子了。 打开 Chrome DevTools 一看,控制台报的是 Maximum call stack size exceeded,栈溢出。定位到 src/components/SearchBox.tsx 第 89 行,问题出在我写的那个「智能补全」函数 getSuggestions() 里面。写的时候图省事,用了递归匹配,结果遇到长字符串,正则回溯次数直接爆表。 硬着头皮排查 第一次修复:给正则加了 .{0,50} 的长度限制,commit a7f3c21。测试通过,上线,10 分钟后小林又截图——这回是英文搜索正常,中文搜索还是崩。 ...