Skip to content

MyTab Release v1.0.5

Choose a tag to compare

@Troray Troray released this 26 Aug 23:13
· 5 commits to main since this release

📝 变更说明 (Description)

本次 PR 包含了对核心代码的三轮显微镜级别的深度审查与 Bug 修复。主要解决了后台同步失效、Tailwind 主题引擎渲染不完全、以及多个 React 事件与状态相关的隐蔽缺陷。

🐛 修复的 Bug (Bug Fixes)

  1. 🔴 高危: Git 后台自动同步失效
    • 修复了 background/index.ts 中后台定时任务(mytab_periodic_sync)硬编码只调用 WebDAV 同步,漏掉 Git 同步的严重缺陷。现在后台能正确检测并并发执行两者。
  2. 🔴 高危: Tailwind Dark Mode 引擎失效
    • 修复了 App.tsx 在深色模式下切换时,只移除 light class 却未添加 dark class 的问题,彻底修复了所有 Tailwind dark: 样式(如 dark:bg-black)无法生效的 UI 渲染缺陷。
  3. 🟡 中危: 全局事件流与状态泄漏
    • ConfirmModal.tsx: 拦截并过滤了焦点在 inputtextarea 时按回车键导致的意外触发事件。
    • SiteCard.tsx: 修复了卡片内右键菜单状态隔离泄漏,添加了基于 useRef 和全局 mousedown 的自动闭合机制。
    • SettingsDrawer.tsx: 添加了 useEffect 侦听抽屉的开启状态,使得每次重新打开抽屉时自动清空之前留存的成功/错误提示信息(如导入状态、Unsplash 获取错误)。
  4. 🟡 低危: 多语言与性能优化
    • SearchBar.tsx: 将全局 mousedown 点击外部关闭监听器的注册由无条件挂载改为条件挂载(仅下拉菜单展开时挂载),减少了主线程不必要的事件捕获开销。
    • 补齐了 OnboardingModal 缺少的 onboardingNext 等部分国际化字段,杜绝了硬编码。
    • ClockHeader.tsx: 修复了问候语仅在组件挂载时计算的问题,现在会随时间变化动态刷新问候语。

🧪 测试验证 (Testing)

  • 在 Chrome 环境下本地构建 (npm run build) 并加载已解压的扩展程序,无控制台报错。
  • 后台 Service Worker 同步链路测试,WebDAV 与 Git 双路数据均可无感更新。
  • dark: UI 样式回归测试通过。
  • SiteCard / Modal UI 组件焦点与回车事件交互验证通过。

📖 如何安装

  • Chrome 浏览器用户

    1. 请下载 Release 里的 chrome.zip 并解压到一个固定文件夹。
    2. 打开 Chrome 地址栏输入:chrome://extensions/
    3. 开启右上角 「开发者模式」(Developer mode) 开关。
    4. 点击左上角 「加载已解压的扩展程序」(Load unpacked),选择刚刚解压的文件夹即可。
  • 其他 Chromium 浏览器

    • 可以直接下载并安装 chrome.crx
    • chrome.crx 支持在 Brave / Vivaldi / 360 极速浏览器 / Cent Browser / 搜狗高速 等浏览器中直接拖拽安装(非常适合非 Chrome 的国内/第三方 Chromium 用户)。
  • Microsoft Edge

  • Firefox 浏览器

    • 官方商店安装(推荐):前往 Firefox 附加组件中心 一键安装。
    • 离线安装:点击下载附件中的 firefox.xpi 安装。