Releases: Troray/MyTab
Release list
MyTab Release v1.0.9
🚀 更新说明 (Release Notes)
fix: 解决 Gitee 代码片段 Emoji 报错及多端同步丢失 ID 问题,优化备份功能体验 (#17)
🛠️ 详细修改内容 (Changes)
🐛 修复 Gitee Emoji 存储崩溃问题
新增 escapeUnicodeEmojis 方法,在发送给云端前,将含有 Emoji 的 JSON 字符串安全转义为 \uXXXX 标准 Unicode 序列,利用 JSON 解析特性完美绕过 MySQL 数据库编码限制。
🐛 修复同步数据时 gistId 和仓库信息丢失的问题
修复 buildUpdatedGitConfig 函数,在合并更新后的状态时,确保底层的 gistId、repo、owner 能够准确无误地写回对应的平台持久化配置节点下,避免每次上传都新建地址。
✨ 实现多端跨设备的“无感自动寻址”拉取
抽离出 findExistingGist 静默探测方法。在全新的设备上,现在用户只需输入 Token 并直接点击拉取,系统会自动扫描该平台是否有已存在的 MyTab 备份片段,自动绑定 ID 并拉取恢复,省去了“必须先点击连接绑定”的步骤。
🌐 多语言与文案规范化适配 (i18n)
全局 7 种语言包同步更新:将“自定义仓库 (高级)”统一修正为“私有仓库 (Private Repository)”;将泛用的代码片段名词修正为“代码片段 (Code Snippet)”。
在 GitSettings.tsx 加入专门拦截逻辑:凡是选择 GitHub 平台,严格将其硬编码展示为 GitHub Gist,遵循其官方独立命名。
📦 Chore (日常更新)
更新 package.json 版本号至 1.0.9。
📖 如何安装
-
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安装。
MyTab Dev Preview (开发预览版)
🧪 MyTab 滚动开发预览版 (Dev Preview)
⚠️ 注意:本版本由dev分支最新提交自动编译生成,包含最新的未发布功能或实验性特性,仅供开发测试使用。
- 最新提交 (Commit):
8f06963424d59e374968f65d2ec6d8dad7481627- 提交说明: `fix: 解决 Gitee 代码片段 Emoji 报错及多端同步丢失 ID 问题,优化备份功能体验 (#16)
🔗 在多端设备及不同平台的配置备份中遇到以下几个痛点和 Bug:
Gitee 保存报错:使用 Gitee 备份代码片段时,如果含有 Emoji(4 字节字符),由于后端数据库限制会导致报 400 Bad Request (Mysql2::Error)。
多设备恢复失败:在新电脑上直接点击“拉取恢复”会报错提示找不到数据,因为本地尚未绑定原本生成的代码片段 ID。同时,部分场景下 gistId 没有被正确存入持久化配置中,导致二次上传产生冗余的空代码片段。
文案规范统一:不同平台的术语应该更加官方和精确,例如 GitHub 的专属 Gist 名称以及私有仓库叫法。
为此,本 PR 针对 Git 同步模块的底层和 UI 层进行了全面修复与体验升级,并顺带更新了版本号至 1.0.9。
🛠️ 详细修改内容 (Changes)
🐛 修复 Gitee Emoji 存储崩溃问题
新增 escapeUnicodeEmojis 方法,在发送给云端前,将含有 Emoji 的 JSON 字符串安全转义为 \uXXXX 标准 Unicode 序列,利用 JSON 解析特性完美绕过 MySQL 数据库编码限制。
🐛 修复同步数据时 gistId 和仓库信息丢失的问题
修复 buildUpdatedGitConfig 函数,在合并更新后的状态时,确保底层的 gistId、repo、owner 能够准确无误地写回对应的平台持久化配置节点下,避免每次上传都新建地址。
✨ 实现多端跨设备的“无感自动寻址”拉取
抽离出 findExistingGist 静默探测方法。在全新的设备上,现在用户只需输入 Token 并直接点击拉取,系统会自动扫描该平台是否有已存在的 MyTab 备份片段,自动绑定 ID 并拉取恢复,省去了“必须先点击连接绑定”的步骤。
🌐 多语言与文案规范化适配 (i18n)
全局 7 种语言包同步更新:将“自定义仓库 (高级)”统一修正为“私有仓库 (Private Repository)”;将泛用的代码片段名词修正为“代码片段 (Code Snippet)”。
在 GitSettings.tsx 加入专门拦截逻辑:凡是选择 GitHub 平台,严格将其硬编码展示为 GitHub Gist,遵循其官方独立命名。
📦 Chore (日常更新)
更新 package.json 版本号至 1.0.9。`
📦 安装方式
-
Chrome / Chromium 内核浏览器(Brave, Edge, Vivaldi 等):
- 下载下方附件中的
chrome.zip解压后在chrome://extensions/开发者模式下加载已解压的扩展程序。 - 或直接拖拽
chrome.crx安装。
- 下载下方附件中的
-
Firefox 浏览器:
- 下载下方附件中的
firefox.xpi或firefox.zip安装体验。
- 下载下方附件中的
如需稳定正式版,请前往 Releases 页面 获取最新的正式版本。
MyTab Release v1.0.8
📝 变更说明 (Description)
本 PR 包含了 v1.0.8 版本的核心功能升级与全局代码质量重构。主要目标是提升拓展的个性化程度,统一各处的 UI 组件风格,并解决底层残存的类型安全隐患。
✨ 新增特性 (Features)
- 自定义时间格式:在偏好设置中引入了 12h / 24h 制的切换选项,满足不同用户的习惯。
- 纯净模式开关:新增了主屏幕“搜索栏”的显隐控制,允许用户打造极致极简的新标签页体验。
🎨 UI 与体验升级 (UI/UX)
- 全局 Toggle Switch 升级:提取并封装了可高度复用的
<ToggleSwitch />公共组件。 - 淘汰了设置面板(WebDAV、Git 同步、分类管理等)中旧的原生 Checkbox,全面替换为带有丝滑微动画的开关。
- 精细调优了 Toggle Switch 的外观比例,使得信息密集的设置抽屉视觉更为协调,且完美兼容了本项目的深/浅色模式规范。
🛠️ 性能与代码质量 (Refactoring & Chore)
- 全面移除
any滥用:深度重构了SettingsDrawer,WebdavSettings,UnsplashTopicModal等核心组件,引入了更精确的泛型和接口进行安全替换。 - 修复 TypeScript 隐式报错:在
tsconfig.json中补全了"vite/client"与"chrome"全局类型依赖,彻底解决了import.meta.env的环境变量报错问题。 - 规范与构建:所有新增组件均适配了 Focus 焦点无障碍访问;当前代码库
tsc --noEmit实现 0 Error 完美通过。 package.json版本号正式 bump 至1.0.8。
✅ 验证计划 (Verification Plan)
- WebDAV 模块的“启用”与“自动同步”开关工作正常。
- Git 模块的“启用”与“自动同步”开关工作正常。
- 深浅色主题 (Dark/Light mode) 下 Toggle Switch 渲染颜色逻辑正常。
- 执行
npm run build成功,无任何 TS 与语法报错,CRX 打包正常。
📖 如何安装
-
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安装。
MyTab Release v1.0.7
🚀 v1.0.7 核心更新内容 (Release Notes)
本次发布主要集中在修复 Vite 构建引发的 CSP (Content Security Policy) 问题,并对代码库进行了深度的国际化规范审计,同时带回了广受好评的高级自定义渐变背景。
🛠️ 修复与重构 (Fixes & Refactoring)
- CSP 策略合规与构建修复:彻底解决了由 Vite 默认构建产物中注入 Inline-Script 导致的扩展 Content Security Policy 报错。通过拆分和重命名
mytabchunk 确保所有脚本严格合规。 - 深层 i18n 国际化审计:移除了
SettingsDrawer及其他核心 UI 组件中残留的“硬编码中文字符”逃生舱,现在所有 UI 元素严格受控于多国语言包系统(支持7国语言动态映射),确保国际用户的完美体验。 - TypeScript 类型收紧:在全项目范围内进行了类型审计,修正了潜在的
any滥用,提升了运行时的稳定性。
✨ 新特性与优化 (Features & Optimizations)
- 生产环境保护级日志 (Production Logger):引入了
src/utils/logger.ts模块。全面拦截了Service Worker和前端组件的console.log,保持开发模式下调试畅通,而在生产环境(Production)下完全静音,避免造成控制台污染和潜在性能损耗。 - 绝美高级渐变回归:应用户强烈要求,在“自定义外观 - 高级渐变”中精准恢复并引入了 10 款精心打磨的现代化 CSS 渐变色预设(如:暗岩流沙、深空灰烬、琥珀金秋、霓虹琉璃 等),大幅提升新建标签页的视觉冲击力。
🧪 测试验证情况 (Verification)
- Chrome Extension: 扩展解压安装与后台运行无异常,CSP 报错已完全消失。
- Firefox Add-on:
.xpi独立打包测试通过,背景色动态切换正常。 - 本地构建链路:
npm run build && npm run package工作流无任何报错。
📖 如何安装
-
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安装。
MyTab Release v1.0.6
🚀 优化与修复内容:
启动性能优化:引入本地样式缓存并在 0ms 阶段注入,彻底解决刚打开浏览器/新建标签页时的蓝屏闪烁问题,实现无感秒开。 拖拽卡顿修复:重构了 SiteGrid 卡片拖拽的依赖状态,极大降低了拖拽时的 CPU 重绘开销。
彻底移除幽灵同步:清除了代码库深处所有可能阻塞渲染的 triggerAutoSync 残留。
修复类型与构建报错:
补充了 7 国语言包中缺失的翻译 Key。
修复了 GitSettings 等组件中的 TS 传参和属性推断报错。
解决了 ConfirmModal 因混合导入导致的 Vite 懒加载冲突警告。
📖 如何安装
-
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安装。
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安装。
MyTab Release v1.0.4
📖 如何安装
-
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安装。
MyTab Release v1.0.3
📖 如何安装
-
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安装。
MyTab Release v1.0.2
📖 如何安装
-
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安装。
MyTab Release v1.0.1
📖 如何安装
-
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:
- 直接点击下载 Release 里的
firefox.xpi进行安装。Mozilla Firefox 扩展中心正在审核中。
- 直接点击下载 Release 里的