Skip to content

Releases: Troray/MyTab

MyTab Release v1.0.9

Choose a tag to compare

@Troray Troray released this 30 Aug 03:40
ed5a31f

🚀 更新说明 (Release Notes)

fix: 解决 Gitee 代码片段 Emoji 报错及多端同步丢失 ID 问题,优化备份功能体验 (#17)

🛠️ 详细修改内容 (Changes)

🐛 修复 Gitee Emoji 存储崩溃问题

新增 escapeUnicodeEmojis 方法,在发送给云端前,将含有 EmojiJSON 字符串安全转义为 \uXXXX 标准 Unicode 序列,利用 JSON 解析特性完美绕过 MySQL 数据库编码限制。
🐛 修复同步数据时 gistId 和仓库信息丢失的问题

修复 buildUpdatedGitConfig 函数,在合并更新后的状态时,确保底层的 gistIdrepoowner 能够准确无误地写回对应的平台持久化配置节点下,避免每次上传都新建地址。
✨ 实现多端跨设备的“无感自动寻址”拉取

抽离出 findExistingGist 静默探测方法。在全新的设备上,现在用户只需输入 Token 并直接点击拉取,系统会自动扫描该平台是否有已存在的 MyTab 备份片段,自动绑定 ID 并拉取恢复,省去了“必须先点击连接绑定”的步骤。
🌐 多语言与文案规范化适配 (i18n)

全局 7 种语言包同步更新:将“自定义仓库 (高级)”统一修正为“私有仓库 (Private Repository)”;将泛用的代码片段名词修正为“代码片段 (Code Snippet)”。
GitSettings.tsx 加入专门拦截逻辑:凡是选择 GitHub 平台,严格将其硬编码展示为 GitHub Gist,遵循其官方独立命名。
📦 Chore (日常更新)

更新 package.json 版本号至 1.0.9


📖 如何安装

  • 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 安装。

MyTab Dev Preview (开发预览版)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Aug 18:49
8f06963

🧪 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.xpifirefox.zip 安装体验。

如需稳定正式版,请前往 Releases 页面 获取最新的正式版本。

MyTab Release v1.0.8

Choose a tag to compare

@Troray Troray released this 29 Aug 21:48
386f0c2

📝 变更说明 (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 浏览器用户

    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 安装。

MyTab Release v1.0.7

Choose a tag to compare

@Troray Troray released this 29 Aug 01:31
e6fdf54

🚀 v1.0.7 核心更新内容 (Release Notes)

本次发布主要集中在修复 Vite 构建引发的 CSP (Content Security Policy) 问题,并对代码库进行了深度的国际化规范审计,同时带回了广受好评的高级自定义渐变背景。

🛠️ 修复与重构 (Fixes & Refactoring)

  • CSP 策略合规与构建修复:彻底解决了由 Vite 默认构建产物中注入 Inline-Script 导致的扩展 Content Security Policy 报错。通过拆分和重命名 mytab chunk 确保所有脚本严格合规。
  • 深层 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 浏览器用户

    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 安装。

MyTab Release v1.0.6

Choose a tag to compare

@github-actions github-actions released this 27 Aug 19:58

🚀 优化与修复内容:
启动性能优化:引入本地样式缓存并在 0ms 阶段注入,彻底解决刚打开浏览器/新建标签页时的蓝屏闪烁问题,实现无感秒开。 拖拽卡顿修复:重构了 SiteGrid 卡片拖拽的依赖状态,极大降低了拖拽时的 CPU 重绘开销。
彻底移除幽灵同步:清除了代码库深处所有可能阻塞渲染的 triggerAutoSync 残留。
修复类型与构建报错:
补充了 7 国语言包中缺失的翻译 Key。
修复了 GitSettings 等组件中的 TS 传参和属性推断报错。
解决了 ConfirmModal 因混合导入导致的 Vite 懒加载冲突警告。


📖 如何安装

  • 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 安装。

MyTab Release v1.0.5

Choose a tag to compare

@Troray Troray released this 26 Aug 23:13

📝 变更说明 (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 安装。

MyTab Release v1.0.4

Choose a tag to compare

@Troray Troray released this 26 Aug 20:16
1585310

📖 如何安装

  • 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 安装。

MyTab Release v1.0.3

Choose a tag to compare

@Troray Troray released this 23 Aug 22:09
34543c0

📖 如何安装

  • 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 安装。

MyTab Release v1.0.2

Choose a tag to compare

@github-actions github-actions released this 22 Aug 21:51

📖 如何安装

  • 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 安装。

MyTab Release v1.0.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 15:24

📖 如何安装

  • 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

    • 直接点击下载 Release 里的 firefox.xpi 进行安装。Mozilla Firefox 扩展中心正在审核中。