雨见浏览器PC测试版1.4.0
# 雨见 PC 阶段更新日志
本阶段(1.3.9 → 1.4.0)的主线是「**启动流程整体重构 + 扩展消息机制(SW)深度治理 + 浏览器外观可视化自定义 + 标签关闭行为对齐 Chrome**」。最重磅的一块是**启动链路的分层重构**——主进程拆出独立的启动器与单实例锁模块,普通冷启动不再等待证书权限数据库加载,直接并行创建首窗,配合服务按需加载与 webpack 拆分优化,冷启动到首窗可见明显更快。第二块是**扩展 Service Worker 消息机制的系统性梳理**:为 MV3 服务工作线程补上「入站拉取」通道与空闲保活数据包,弹窗打开后 SW 未就绪也能恢复,扩展弹窗不再卡加载、不再拿空数据。第三块是**浏览器外观可视化自定义面板**——Chrome 风格的 CSS 可视化调控面板上线,外观设置所见即所得、实时预览。此外,**标签关闭后切换目标全面对齐 Chrome**(有 opener 回 opener、无 opener 才走设置项)、**右键菜单重复项修复**(Bitwarden / 篡改猴不再叠两份)、**地址栏删除键选中文本误清空修复**、**翻译引擎优化**等也都有实打实的改进。
## 主要更新
### 1. 启动流程重构:更快、更稳
- **启动器与单实例锁独立**(`cb086d5` + `87d2a57`,新增 `main-launcher.js` 137 行、`instance-lock.js` 97 行、`single-instance.ts`、`startup-timing.ts` 等):主进程启动逻辑从 `application.ts`(−156 行)拆出独立启动器,单实例锁改为**带解决方案的实例锁**(instance lock resolver),启动各阶段打点计时,可量化每一步耗时;配套 `test-single-instance.js`(230 行)自动化回归。
- **冷启动不等证书权限库**(`d013f70`):普通冷启动**不再等待证书权限数据库加载**,直接并行创建首窗——历史日志实测可减少约 **36–129 ms**;显式打开 HTTP(S) URL 时仍会等待权限加载,证书安全逻辑不变。
- **灰窗问题修复**(`8d8a19c`):此前启动优化"先把窗口显示出来",但展示完整浏览器前会**灰色窗口数秒**;现在 `main-app.html` 内联了首屏关键样式(+494 行)+ 预加载钩子,窗口先渲染骨架再就位,不再长时间灰屏。
- **服务按需加载 + 打包优化**(`afd9a0e` + `9b51d6a` + `507a7c7`,webpack 配置拆分 `webpack.config.js` / `webpack.config.renderer.js`):主进程服务改为**按需导入**(自动填充等功能用到才加载),Phosphor 图标改为**按需导出**(新增 `phosphor-icons.ts` 185 行),webpack 配置重构,减少首屏解析负担。
- **无痕模式 URL 支持**(`c43adf4`):应用加载链路增强 URL 处理,支持以**无痕模式**拉起。
### 2. 扩展消息机制(SW)系统性治理
- **SW 生命周期梳理**(`463e969`,`messaging.ts` 主进程层重写 279 行):Service Worker 的启停、缓存、复用机制整体梳理,配套 `test-runtime-lifecycle.js`(142 行起,多轮扩充)自动化回归。
- **入站拉取通道**(`0ea19dd` + `eabb1f8`):为 MV3 Service Worker 补上**入站消息拉取(inbound pull)**处理——SW 刚被唤醒、监听器还没就绪时,消息不再丢失,改为可拉取补投,弹窗 / 内容脚本的首个请求不再拿到 `undefined`。
- **空闲保活与通道处理**(`a8d03a0` + `732edcb`):SW 空闲时以**保活数据包**维持通道,worker 通道管理与生命周期管理增强,扩展长时间挂后台再唤起依然可用。
- **内容桥接握手测试**(`434ea11`,新增 `test-content-bridge-handshake.js` 177 行):内容桥(content bridge)握手流程补齐自动化测试,`view-web-preferences.ts` 抽出统一管理 webPreferences 创建。
### 3. 浏览器外观:可视化自定义面板
- **Chrome 风格可视化调控面板**(`bebf701` + `a3a1728`,新增 `common/chrome-style-panel.ts` 554 行、`ChromeStylePanel.tsx` 446+ 行):外观设置新增**可视化 CSS 调控面板**——浏览器界面的颜色、圆角等样式可在面板里直接调节,**实时预览、即时生效**;后续一轮优化了 CSS 预览的节流与渲染性能(滚动调节不卡顿)。
### 4. 标签关闭行为:对齐 Chrome
- **关闭标签后切换到哪**(`46f9257` + `bc5b9e6` + `f624e2c`):新增**标签关闭后的选中行为**设置项;并按 Chrome 的实现修正语义——**只要有 opener(父标签)就回到 opener**,设置项只对"没有父标签"的标签生效,与 Chrome 行为完全一致。
- **标签间距优化**(`cb48d86`):标签收缩模式下的间距逻辑改进,**视觉层次更清晰**,多标签时不糊成一片。
### 5. 地址栏与输入体验
- **删除键误清空修复**(`377026d`):鼠标按下在地址栏**选中文本后点 Delete**,此前会误清空整个输入内容,现已修正为只删选中部分。
- **输入状态管理精简**(`beadedf`):地址栏与搜索弹窗的输入处理去掉多余的状态管理,响应更直接。
### 6. 网页右键菜单与新建标签
- **右键菜单重复项修复**(`c61d893`):修复扩展注入网页右键菜单时**子菜单重复叠加**的问题(装了 Bitwarden 和篡改猴后,右键菜单显示两个 Bitwarden / 两个篡改猴、子菜单叠在一起)。
- **「新标签页打开(不切换)」**(`2214838`):网页右键新增**新标签页打开(不切换)**选项;同时修复「新标签页打开」后**标签打开了却没有切换过去**的问题。
### 7. 翻译优化
- **引擎与交互两轮优化**(`1deda5f` + `f045aec`,`translate/index.ts` +168、`ms-translate.js` +198、`view.ts` 配套):翻译链路连续两轮优化,微软翻译引擎脚本与主进程翻译服务都更稳,页面翻译的注入与回填更可靠。
## 扩展兼容性与稳定性
- **windows.create 规范化**(`f0da392` + `ca6ee47`,新增 `window-create.ts`、`test-chrome-windows-create.js` 135 行):扩展 `windows.create` 补齐参数归一化(state / frame 等边界值),窗口创建与窗口管理逻辑增强,更多依赖窗口操作的扩展可正常工作。
- **后台页检查 Promise 化**(`4ae0034`):`inspectBackgroundPage` 改为返回 Promise,扩展开发者工具的打开流程更稳。
- **view-source 复选框崩溃修复**(`c7320f7`):查看源码页(view-source)中复选框状态处理不当会导致**渲染进程崩溃**,现已防护。
## 体验与细节打磨
- **密码更新排查**(`ab95ba1`):针对"密码填充后用户改了密码、新密码无法更新"的用户反馈完成排查修复,自动填充的凭据更新链路纳入 `test-autofill-picker.js` 回归。
- **关闭按钮命中区域加大**(`10314b2`):窗口控制按钮(最小化 / 最大化 / 关闭)样式与**点击命中区域**优化,边缘好点中。
- **弹窗与内存优化**(`6053f76` + `4deba76`):20+ 个弹窗(菜单 / 书签 / 截图 / 分享 / 翻译等)的创建与销毁逻辑统一优化;一轮整体**内存优化**清理不必要的常驻引用。
- **手机标签页图标轻量化**(`23c73db`):手机标签页的 favicon 改为**轻量 URL 生成**,图标加载更快、占用更低。
- **书签文件夹下拉悬停优化**(`1359c1b`):书签组件的文件夹下拉在鼠标移入时处理更顺,不再闪跳。
- **手势拖拽跨版本兼容**(`8ca09ce` + `dd4e6f6`):手势的拖拽事件处理针对不同 Chromium / Electron 版本的差异做兼容,拖拽类手势触发更可靠。
本阶段(1.3.9 → 1.4.0)的主线是「**启动流程整体重构 + 扩展消息机制(SW)深度治理 + 浏览器外观可视化自定义 + 标签关闭行为对齐 Chrome**」。最重磅的一块是**启动链路的分层重构**——主进程拆出独立的启动器与单实例锁模块,普通冷启动不再等待证书权限数据库加载,直接并行创建首窗,配合服务按需加载与 webpack 拆分优化,冷启动到首窗可见明显更快。第二块是**扩展 Service Worker 消息机制的系统性梳理**:为 MV3 服务工作线程补上「入站拉取」通道与空闲保活数据包,弹窗打开后 SW 未就绪也能恢复,扩展弹窗不再卡加载、不再拿空数据。第三块是**浏览器外观可视化自定义面板**——Chrome 风格的 CSS 可视化调控面板上线,外观设置所见即所得、实时预览。此外,**标签关闭后切换目标全面对齐 Chrome**(有 opener 回 opener、无 opener 才走设置项)、**右键菜单重复项修复**(Bitwarden / 篡改猴不再叠两份)、**地址栏删除键选中文本误清空修复**、**翻译引擎优化**等也都有实打实的改进。
## 主要更新
### 1. 启动流程重构:更快、更稳
- **启动器与单实例锁独立**(`cb086d5` + `87d2a57`,新增 `main-launcher.js` 137 行、`instance-lock.js` 97 行、`single-instance.ts`、`startup-timing.ts` 等):主进程启动逻辑从 `application.ts`(−156 行)拆出独立启动器,单实例锁改为**带解决方案的实例锁**(instance lock resolver),启动各阶段打点计时,可量化每一步耗时;配套 `test-single-instance.js`(230 行)自动化回归。
- **冷启动不等证书权限库**(`d013f70`):普通冷启动**不再等待证书权限数据库加载**,直接并行创建首窗——历史日志实测可减少约 **36–129 ms**;显式打开 HTTP(S) URL 时仍会等待权限加载,证书安全逻辑不变。
- **灰窗问题修复**(`8d8a19c`):此前启动优化"先把窗口显示出来",但展示完整浏览器前会**灰色窗口数秒**;现在 `main-app.html` 内联了首屏关键样式(+494 行)+ 预加载钩子,窗口先渲染骨架再就位,不再长时间灰屏。
- **服务按需加载 + 打包优化**(`afd9a0e` + `9b51d6a` + `507a7c7`,webpack 配置拆分 `webpack.config.js` / `webpack.config.renderer.js`):主进程服务改为**按需导入**(自动填充等功能用到才加载),Phosphor 图标改为**按需导出**(新增 `phosphor-icons.ts` 185 行),webpack 配置重构,减少首屏解析负担。
- **无痕模式 URL 支持**(`c43adf4`):应用加载链路增强 URL 处理,支持以**无痕模式**拉起。
### 2. 扩展消息机制(SW)系统性治理
- **SW 生命周期梳理**(`463e969`,`messaging.ts` 主进程层重写 279 行):Service Worker 的启停、缓存、复用机制整体梳理,配套 `test-runtime-lifecycle.js`(142 行起,多轮扩充)自动化回归。
- **入站拉取通道**(`0ea19dd` + `eabb1f8`):为 MV3 Service Worker 补上**入站消息拉取(inbound pull)**处理——SW 刚被唤醒、监听器还没就绪时,消息不再丢失,改为可拉取补投,弹窗 / 内容脚本的首个请求不再拿到 `undefined`。
- **空闲保活与通道处理**(`a8d03a0` + `732edcb`):SW 空闲时以**保活数据包**维持通道,worker 通道管理与生命周期管理增强,扩展长时间挂后台再唤起依然可用。
- **内容桥接握手测试**(`434ea11`,新增 `test-content-bridge-handshake.js` 177 行):内容桥(content bridge)握手流程补齐自动化测试,`view-web-preferences.ts` 抽出统一管理 webPreferences 创建。
### 3. 浏览器外观:可视化自定义面板
- **Chrome 风格可视化调控面板**(`bebf701` + `a3a1728`,新增 `common/chrome-style-panel.ts` 554 行、`ChromeStylePanel.tsx` 446+ 行):外观设置新增**可视化 CSS 调控面板**——浏览器界面的颜色、圆角等样式可在面板里直接调节,**实时预览、即时生效**;后续一轮优化了 CSS 预览的节流与渲染性能(滚动调节不卡顿)。
### 4. 标签关闭行为:对齐 Chrome
- **关闭标签后切换到哪**(`46f9257` + `bc5b9e6` + `f624e2c`):新增**标签关闭后的选中行为**设置项;并按 Chrome 的实现修正语义——**只要有 opener(父标签)就回到 opener**,设置项只对"没有父标签"的标签生效,与 Chrome 行为完全一致。
- **标签间距优化**(`cb48d86`):标签收缩模式下的间距逻辑改进,**视觉层次更清晰**,多标签时不糊成一片。
### 5. 地址栏与输入体验
- **删除键误清空修复**(`377026d`):鼠标按下在地址栏**选中文本后点 Delete**,此前会误清空整个输入内容,现已修正为只删选中部分。
- **输入状态管理精简**(`beadedf`):地址栏与搜索弹窗的输入处理去掉多余的状态管理,响应更直接。
### 6. 网页右键菜单与新建标签
- **右键菜单重复项修复**(`c61d893`):修复扩展注入网页右键菜单时**子菜单重复叠加**的问题(装了 Bitwarden 和篡改猴后,右键菜单显示两个 Bitwarden / 两个篡改猴、子菜单叠在一起)。
- **「新标签页打开(不切换)」**(`2214838`):网页右键新增**新标签页打开(不切换)**选项;同时修复「新标签页打开」后**标签打开了却没有切换过去**的问题。
### 7. 翻译优化
- **引擎与交互两轮优化**(`1deda5f` + `f045aec`,`translate/index.ts` +168、`ms-translate.js` +198、`view.ts` 配套):翻译链路连续两轮优化,微软翻译引擎脚本与主进程翻译服务都更稳,页面翻译的注入与回填更可靠。
## 扩展兼容性与稳定性
- **windows.create 规范化**(`f0da392` + `ca6ee47`,新增 `window-create.ts`、`test-chrome-windows-create.js` 135 行):扩展 `windows.create` 补齐参数归一化(state / frame 等边界值),窗口创建与窗口管理逻辑增强,更多依赖窗口操作的扩展可正常工作。
- **后台页检查 Promise 化**(`4ae0034`):`inspectBackgroundPage` 改为返回 Promise,扩展开发者工具的打开流程更稳。
- **view-source 复选框崩溃修复**(`c7320f7`):查看源码页(view-source)中复选框状态处理不当会导致**渲染进程崩溃**,现已防护。
## 体验与细节打磨
- **密码更新排查**(`ab95ba1`):针对"密码填充后用户改了密码、新密码无法更新"的用户反馈完成排查修复,自动填充的凭据更新链路纳入 `test-autofill-picker.js` 回归。
- **关闭按钮命中区域加大**(`10314b2`):窗口控制按钮(最小化 / 最大化 / 关闭)样式与**点击命中区域**优化,边缘好点中。
- **弹窗与内存优化**(`6053f76` + `4deba76`):20+ 个弹窗(菜单 / 书签 / 截图 / 分享 / 翻译等)的创建与销毁逻辑统一优化;一轮整体**内存优化**清理不必要的常驻引用。
- **手机标签页图标轻量化**(`23c73db`):手机标签页的 favicon 改为**轻量 URL 生成**,图标加载更快、占用更低。
- **书签文件夹下拉悬停优化**(`1359c1b`):书签组件的文件夹下拉在鼠标移入时处理更顺,不再闪跳。
- **手势拖拽跨版本兼容**(`8ca09ce` + `dd4e6f6`):手势的拖拽事件处理针对不同 Chromium / Electron 版本的差异做兼容,拖拽类手势触发更可靠。
评论
暂无评论。