Commit 1511a5b
authored
ver: update to v1.8.83 (#39)
# v1.8.83(含迭代内容)
## 主要改动
### 1. 功能增强
- ✅ 菜单功能完善 - 添加浏览器拓展右键菜单
- ✅ 重构 Service Worker 初始化逻辑:
- **统一初始化入口**:创建了单一的 `initialize` 函数,用于处理扩展安装、浏览器启动和 Service Worker
意外重启时的状态恢复,确保了逻辑的一致性
- **实现懒加载守卫**:引入 `ensureInitialized` 机制,在处理 `onMessage`、`onUpdated`
等事件前检查并确保初始化已完成,防止因 Service Worker 休眠后重启导致的状态丢失问题
- ✅ 修复并发与竞态问题:
- **引入互斥机制**:为 `updateHeaderRules` 添加 Promise
队列,确保规则更新操作串行执行,避免并发调用导致的状态不一致
- **防抖合并请求**:实现短时间内相同语言切换请求的自动合并,减少不必要的API调用和日志
- **优化缓存策略**:改进 `rulesCache` 机制,自动切换也能安全使用短路返回,因为规则仅由本扩展管理
- **状态同步增强**:确保 `lastAppliedLanguage` 和 `rulesCache` 在并发场景下的一致性
- ✅ 性能优化 - 修复自动切换时的无效更新与性能浪费问题,通过改进缓存检查逻辑避免不必要的 API 调用
### 2. 代码优化
- ✅ 清理无效代码 - 去除无效变量 err
- ✅ 重构 createContextMenusOnce 使用 async/await(Promise API),符合代码规范
- ✅ 右键菜单统一使用英文,去除 i18n 化(简化实现)
- ✅ 简化URL检查条件
- ✅ 优化动态规则ID数组创建逻辑,采用 `.some()` 方法以兼顾性能与代码表现力
- ✅ 将 `updateHeaderRules` 拆分为外部包装器和内部实现,提供更好的并发控制
- ✅ 修复重试逻辑中的递归调用问题,避免绕过并发控制机制,优化错误处理
- ✅ 优化按钮代码
- ✅ 优化 Chrome API 调用方式,移除不必要的 Promise 包装,直接使用 async/await
- ✅ 重构调试 UI 的代码结构,将回调函数改为 async/await 方式,调整了部分变量和函数的命名,移除冗余的代码
- ✅ 优化多处异步操作并移除错误处理冗余
### 3. Bug 修复
- ✅ 修复 `tabs.onUpdated` 过滤条件 Bug,该 Bug 会导致 http 页面不触发自动切换
- ✅ 修复动态规则清理范围过宽问题,现在只移除与 `RULE_ID` 相关的规则,避免误删其他动态规则
- ✅ 收窄 DNR 资源类型与匹配范围
- ✅ 修复debug-ui.js资源管理问题
- ✅ detect.js资源管理修复
- ✅ background.js资源管理修复
## 文件变更清单
### 新增文件
- Problems.md - LLM整理的现存问题(v1.8.67)
- Wiki_EN.md - 英文版Wiki(v1.8.69)
- Resource_Management_Guide.md - 资源管理最佳实践指南(v1.8.79)
### 重命名文件
-
### 修改文件
- manifest.json -
版本号更新(v1.8.67、v1.8.68、v1.8.69、v1.8.70、v1.8.71、v1.8.72、v1.8.73、v1.8.74、v1.8.79、v1.8.83);添加
contextMenus 权限(v1.8.67)
- TODO.md - 修改待办事项(v1.8.67、v1.8.79)
- Update.md -
版本更新记录(v1.8.67、v1.8.68、v1.8.69、v1.8.70、v1.8.71、v1.8.72、v1.8.73、v1.8.74、v1.8.79、v1.8.83)
- background.js - 添加右键菜单初始化标志(v1.8.67);重构 contextMenus
创建逻辑(async/await),右键菜单统一使用英文,去除 i18n 化(v1.8.68);修复 `tabs.onUpdated` 的
URL 过滤条件
Bug(v1.8.68);简化URL检查条件(v1.8.68);重构了初始化和事件处理逻辑(v1.8.69);修复动态规则清理范围过宽问题(v1.8.70);优化动态规则ID数组创建逻辑(v1.8.70);引入并发控制机制,添加
Promise 队列和防抖机制,修复并发与竞态问题(v1.8.71);优化异步操作并移除错误处理冗余(v1.8.73);
修复自动切换时的无效更新与性能浪费问题(v1.8.73);收窄 DNR
资源类型与匹配范围(v1.8.74);添加完整的resourceTracker系统管理事件监听器和定时器(v1.8.80);替换setTimeout调用为resourceTracker.setTimeout,跟踪所有Chrome
API事件监听器(v1.8.81);添加扩展暂停时的自动清理机制(v1.8.82)
- shared-i18n-base.js - 优化翻译加载机制,避免重复加载脚本文件,完善翻译回退(v1.8.68)
- I18n_Usage_Guide.md - 内容更新(v1.8.67、v1.8.68)
- .gitignore - git忽略文件更新(v1.8.67)
- Problems.md - 问题列表更新(v1.8.68、v1.8.69、v1.8.70、v1.8.71、v1.8.73、v1.8.74)
- Wiki.md - Wiki更新(v1.8.69、v1.8.70)
- Wiki_EN.md - 英文Wiki更新(v1.8.70)
- i18n/background-*.js - 完善相关翻译(v1.8.71、v1.8.73)
- toggle.js -
优化按钮代码(v1.8.71);添加完整的resourceTracker系统管理事件监听器(v1.8.80);替换addEventListener调用为resourceTracker.addEventListener(v1.8.81);添加页面卸载时的自动清理机制(v1.8.82);跟踪语言切换按钮、主题切换按钮、系统主题监听器和页面加载事件(v1.8.83)
- popup.js - 优化 Chrome API 调用方式,直接使用
async/await(v1.8.72);优化按钮处理逻辑为event事件处理(v1.8.73)
- debug-ui.js - 优化代码结构,将回调函数改为 async/await
方式,调整了部分变量和函数的命名,移除冗余的代码(v1.8.72);添加resourceTracker系统统一管理资源生命周期(v1.8.75);修复15+个未管理的事件监听器内存泄漏(v1.8.76);修复1个setInterval和2个setTimeout定时器泄漏(v1.8.77);修复2个消息监听器资源泄漏(v1.8.78);添加页面卸载时的自动清理机制(v1.8.79)
- shared-utils.js - 完善fallback翻译键(v1.8.72)
- Code_Style_Guide.md - 代码风格指南更新(v1.8.72)
- shared-update-checker.js - 优化异步操作并移除错误处理冗余(v1.8.73)
- domain-rules-manager.js - 优化异步操作并移除错误处理冗余(v1.8.73)
- detect.js -
添加完整的resourceTracker系统管理所有资源类型(v1.8.80);替换多个函数创建为resourceTracker.create函数,替换定时器调用为resourceTracker.setTimeout(v1.8.81);-
添加页面卸载时的自动清理机制(v1.8.82)
### 移除内容
- 移除未使用的变量 chrome.runtime.lastError 读取语句
- 已完成的TODO / 已修复的问题
- 将 `performInitialization` 和 `handleAutoSwitchToggleRequest`
中的重复规则应用逻辑提取到新的共享函数 `applyLanguageRulesBasedOnState` 中
- 移除大量prromise包装8 files changed
Lines changed: 863 additions & 118 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
16 | 55 | | |
17 | 56 | | |
18 | 57 | | |
| |||
336 | 375 | | |
337 | 376 | | |
338 | 377 | | |
339 | | - | |
| 378 | + | |
340 | 379 | | |
341 | 380 | | |
342 | 381 | | |
| |||
450 | 489 | | |
451 | 490 | | |
452 | 491 | | |
453 | | - | |
454 | | - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
455 | 496 | | |
456 | 497 | | |
457 | 498 | | |
| |||
1215 | 1256 | | |
1216 | 1257 | | |
1217 | 1258 | | |
1218 | | - | |
| 1259 | + | |
1219 | 1260 | | |
1220 | 1261 | | |
1221 | 1262 | | |
| |||
1232 | 1273 | | |
1233 | 1274 | | |
1234 | 1275 | | |
1235 | | - | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
3 | 85 | | |
4 | 86 | | |
5 | 87 | | |
| |||
65 | 147 | | |
66 | 148 | | |
67 | 149 | | |
68 | | - | |
| 150 | + | |
69 | 151 | | |
70 | 152 | | |
71 | 153 | | |
72 | 154 | | |
73 | 155 | | |
74 | 156 | | |
75 | 157 | | |
76 | | - | |
| 158 | + | |
77 | 159 | | |
78 | 160 | | |
79 | 161 | | |
| |||
213 | 295 | | |
214 | 296 | | |
215 | 297 | | |
216 | | - | |
| 298 | + | |
217 | 299 | | |
218 | 300 | | |
219 | 301 | | |
| |||
223 | 305 | | |
224 | 306 | | |
225 | 307 | | |
226 | | - | |
| 308 | + | |
227 | 309 | | |
228 | 310 | | |
229 | 311 | | |
230 | 312 | | |
231 | 313 | | |
232 | 314 | | |
233 | | - | |
| 315 | + | |
234 | 316 | | |
235 | 317 | | |
236 | 318 | | |
| |||
253 | 335 | | |
254 | 336 | | |
255 | 337 | | |
256 | | - | |
| 338 | + | |
257 | 339 | | |
258 | 340 | | |
259 | 341 | | |
| |||
265 | 347 | | |
266 | 348 | | |
267 | 349 | | |
268 | | - | |
| 350 | + | |
269 | 351 | | |
270 | 352 | | |
271 | 353 | | |
| |||
353 | 435 | | |
354 | 436 | | |
355 | 437 | | |
356 | | - | |
| 438 | + | |
357 | 439 | | |
358 | 440 | | |
359 | 441 | | |
| |||
397 | 479 | | |
398 | 480 | | |
399 | 481 | | |
400 | | - | |
| 482 | + | |
401 | 483 | | |
402 | 484 | | |
403 | 485 | | |
| |||
511 | 593 | | |
512 | 594 | | |
513 | 595 | | |
514 | | - | |
| 596 | + | |
515 | 597 | | |
516 | 598 | | |
517 | 599 | | |
| |||
589 | 671 | | |
590 | 672 | | |
591 | 673 | | |
592 | | - | |
| 674 | + | |
593 | 675 | | |
594 | 676 | | |
595 | 677 | | |
| |||
671 | 753 | | |
672 | 754 | | |
673 | 755 | | |
674 | | - | |
| 756 | + | |
675 | 757 | | |
676 | 758 | | |
677 | 759 | | |
| |||
697 | 779 | | |
698 | 780 | | |
699 | 781 | | |
700 | | - | |
| 782 | + | |
701 | 783 | | |
702 | 784 | | |
703 | 785 | | |
| |||
815 | 897 | | |
816 | 898 | | |
817 | 899 | | |
818 | | - | |
| 900 | + | |
819 | 901 | | |
820 | 902 | | |
821 | 903 | | |
| |||
847 | 929 | | |
848 | 930 | | |
849 | 931 | | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
850 | 937 | | |
851 | 938 | | |
852 | 939 | | |
| |||
859 | 946 | | |
860 | 947 | | |
861 | 948 | | |
862 | | - | |
| 949 | + | |
863 | 950 | | |
864 | 951 | | |
865 | 952 | | |
866 | 953 | | |
867 | 954 | | |
868 | | - | |
| 955 | + | |
869 | 956 | | |
870 | 957 | | |
871 | 958 | | |
872 | 959 | | |
873 | 960 | | |
874 | | - | |
| 961 | + | |
875 | 962 | | |
876 | 963 | | |
877 | 964 | | |
878 | 965 | | |
879 | 966 | | |
880 | | - | |
| 967 | + | |
881 | 968 | | |
882 | 969 | | |
883 | 970 | | |
884 | 971 | | |
885 | 972 | | |
886 | | - | |
| 973 | + | |
887 | 974 | | |
888 | 975 | | |
889 | 976 | | |
890 | 977 | | |
891 | 978 | | |
892 | | - | |
| 979 | + | |
893 | 980 | | |
894 | 981 | | |
895 | 982 | | |
896 | | - | |
| 983 | + | |
897 | 984 | | |
898 | 985 | | |
899 | 986 | | |
| |||
908 | 995 | | |
909 | 996 | | |
910 | 997 | | |
911 | | - | |
| 998 | + | |
912 | 999 | | |
913 | 1000 | | |
914 | 1001 | | |
| |||
0 commit comments