MyTab Release v1.0.5
📝 变更说明 (Description)
本次 PR 包含了对核心代码的三轮显微镜级别的深度审查与 Bug 修复。主要解决了后台同步失效、Tailwind 主题引擎渲染不完全、以及多个 React 事件与状态相关的隐蔽缺陷。
🐛 修复的 Bug (Bug Fixes)
- 🔴 高危: Git 后台自动同步失效
- 修复了
background/index.ts中后台定时任务(mytab_periodic_sync)硬编码只调用 WebDAV 同步,漏掉 Git 同步的严重缺陷。现在后台能正确检测并并发执行两者。
- 修复了
- 🔴 高危: Tailwind Dark Mode 引擎失效
- 修复了
App.tsx在深色模式下切换时,只移除lightclass 却未添加darkclass 的问题,彻底修复了所有 Tailwinddark:样式(如dark:bg-black)无法生效的 UI 渲染缺陷。
- 修复了
- 🟡 中危: 全局事件流与状态泄漏
ConfirmModal.tsx: 拦截并过滤了焦点在input或textarea时按回车键导致的意外触发事件。SiteCard.tsx: 修复了卡片内右键菜单状态隔离泄漏,添加了基于useRef和全局mousedown的自动闭合机制。SettingsDrawer.tsx: 添加了useEffect侦听抽屉的开启状态,使得每次重新打开抽屉时自动清空之前留存的成功/错误提示信息(如导入状态、Unsplash 获取错误)。
- 🟡 低危: 多语言与性能优化
SearchBar.tsx: 将全局mousedown点击外部关闭监听器的注册由无条件挂载改为条件挂载(仅下拉菜单展开时挂载),减少了主线程不必要的事件捕获开销。- 补齐了
OnboardingModal缺少的onboardingNext等部分国际化字段,杜绝了硬编码。 ClockHeader.tsx: 修复了问候语仅在组件挂载时计算的问题,现在会随时间变化动态刷新问候语。
🧪 测试验证 (Testing)
- 在 Chrome 环境下本地构建 (
npm run build) 并加载已解压的扩展程序,无控制台报错。 - 后台 Service Worker 同步链路测试,WebDAV 与 Git 双路数据均可无感更新。
-
dark:UI 样式回归测试通过。 - SiteCard / Modal UI 组件焦点与回车事件交互验证通过。
📖 如何安装
-
Chrome 浏览器用户:
- 请下载 Release 里的
chrome.zip并解压到一个固定文件夹。 - 打开 Chrome 地址栏输入:
chrome://extensions/。 - 开启右上角 「开发者模式」(Developer mode) 开关。
- 点击左上角 「加载已解压的扩展程序」(Load unpacked),选择刚刚解压的文件夹即可。
- 请下载 Release 里的
-
其他 Chromium 浏览器:
- 可以直接下载并安装
chrome.crx。 chrome.crx支持在 Brave / Vivaldi / 360 极速浏览器 / Cent Browser / 搜狗高速 等浏览器中直接拖拽安装(非常适合非 Chrome 的国内/第三方 Chromium 用户)。
- 可以直接下载并安装
-
Microsoft Edge:
- 直接到微软官方 Edge 扩展中心进行安装:Edge 扩展中心
-
Firefox 浏览器:
- 官方商店安装(推荐):前往 Firefox 附加组件中心 一键安装。
- 离线安装:点击下载附件中的
firefox.xpi安装。