Commit Graph

95 Commits

Author SHA1 Message Date
雨霖铃 63c8fe805e feat: add StorageCleanerPage component 2026-03-20 01:09:36 +08:00
雨霖铃 83dbf0b3e9 feat: add storage cleaning utility functions 2026-03-20 01:03:30 +08:00
雨霖铃 2faa66a880 feat: add cookies permission to manifest 2026-03-20 00:56:59 +08:00
雨霖铃 de3ae93ea9 feat: add TypeScript types for storage cleaner 2026-03-20 00:53:38 +08:00
雨霖铃 480af5f969 docs: update implementation plan with code review feedback
- Add Button import in App.tsx
- Enhance confirmation dialog with selected storage types
- Add color="error" to confirm button
- Add httponly/secure cookies test to checklist
- Add localhost test to checklist

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:45:00 +08:00
雨霖铃 f530cfa7ac docs: fix typo in implementation plan
- Fix subskill name typo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:38:19 +08:00
雨霖铃 1e4a9375df docs: add storage cleaner implementation plan
- Add TypeScript types task
- Add cookies permission task
- Create storage cleaning utilities task
- Create StorageCleanerPage component task
- Update App.tsx with tab switching task
- Build and test task
- Add testing checklist and rollback plan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:37:20 +08:00
雨霖铃 8f53849429 docs: remove duplicate TypeScript type definitions
- Fix duplicate StorageCleanerOptions, StorageCleanResult, and CleaningResult definitions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:31:39 +08:00
雨霖铃 a7c6fb6339 docs: add user preferences and more edge case handling
- Add user preferences persistence section
- Add file:// and data:// to restricted protocols
- Add empty state UI handling
- Add refresh delay for better UX
- Update TypeScript types for StorageSchema integration
- Add more test cases for edge scenarios

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:29:17 +08:00
雨霖铃 6f0031cf74 docs: fix duplicate content and typo in spec
- Fix duplicate IndexedDB.databases method call typo
- Remove duplicate Popup lifecycle notes section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:24:22 +08:00
雨霖铃 11af171212 docs: update storage cleaner design with code review feedback
- Add routing implementation details
- Add restricted page detection
- Add complete executeScript examples
- Add error handling for IndexedDB.databases
- Add Service Workers multiple registrations handling
- Add popup lifecycle notes
- Improve TypeScript types with error handling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:22:34 +08:00
雨霖铃 d2dc0057b3 docs: add storage cleaner feature design document
- Design for browser extension storage cleaning feature
- Supports localStorage, sessionStorage, IndexedDB, Cookies, Cache Storage, Service Workers
- Uses chrome.cookies API for cookie cleaning
- Implements IndexedDB onblocked event handling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 00:18:02 +08:00
雨霖铃 a9021b6397 Refactor code structure for improved readability and maintainability 2026-03-19 08:47:15 +08:00
雨霖铃 050621d3dc refactor: 精简时间戳功能为简约单页面
- 将3个时间戳组件合并为一个简约页面
- 移除路由、导航栏等不必要组件
- 预填充当前时间/时间戳
- 始终显示结果框
- 清理测试文件和依赖
2026-03-19 00:18:09 +08:00
雨霖铃 9db9481ef4 refactor: 移除测试页面路由配置 2026-03-19 00:01:46 +08:00
雨霖铃 dec0da2ff3 refactor: 移除测试页面 2026-03-18 23:58:55 +08:00
雨霖铃 4d52cbb12f refactor: 移除所有录制功能代码
- 删除录制相关页面组件(RecordReplayPage、ReplayListPage、ReplayPlayerPage)
- 删除录制工具文件(recordEventsDb、recordUtils、useRecorder、tabUtils)
- 清理 background.ts 和 content.ts 中的录制代码
- 更新 App.tsx 移除录制路由
- 清理 messages.tsx 中的消息定义
- 删除 types.tsx 中的录制状态
- 移除 package.json 中的 rrweb 相关依赖
- 更新 wxt.config.ts 移除 offscreen、downloads 权限
- 删除 offscreen 目录

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 23:57:32 +08:00
雨霖铃 789705c33b feat: 添加内置回放界面和错误修复 2026-03-16 23:40:56 +08:00
雨霖铃 9ff6b8985c refactor: 优化组件并添加测试覆盖
- 创建 CLAUDE.md 项目开发指导文档
- 提取公共常量到 components/constants.ts
- 修复 TimestampToDatetime 重复插件扩展问题
- 修复 DatetimeToTimestamp 时区解析问题
- 优化 RoutePersistence 移除不必要依赖
- 添加 Vitest 测试框架配置
- 为所有组件编写单元测试 (16个测试用例)
- 更新 .gitignore 忽略测试结果目录

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 22:10:02 +08:00
LingandRX c9f8fe4d29 Merge pull request #3 from LingandRX/develop
refactor(storage): 将 storage 工具类导出名重命名为 storageUtil
2026-02-27 16:17:23 +08:00
LingandRX 6458500d5a Merge pull request #2 from LingandRX/develop
Develop
2026-02-27 16:14:59 +08:00
雨霖铃 f0bb1b21ab refactor(storage): 将 storage 工具类导出名重命名为 storageUtil
- 将 utils/chromeStorage.ts 中的 storage 导出重命名为 storageUtil
- 更新 RoutePersistence.tsx 中的导入和引用以使用新名称
- 优化 recordUtils.tsx 中 chrome.downloads 的链式调用格式

使工具类的命名更加清晰,避免与全局 storage 概念混淆
2026-02-27 16:12:52 +08:00
雨霖铃 6d2b553ca4 ```
refactor(storage): 将storage工具类重命名为chromeStorage

重命名utils/storage.ts为utils/chromeStorage.ts以更好地反映其功能用途

feat(messages): 简化消息协议定义并移除过时的消息类型

将messages.tsx中的硬编码消息对象替换为ProtocolMap接口定义,
移除了不再使用的popup、content和offscreen相关消息类型,
使消息系统更加简洁和类型安全
```
2026-02-26 17:15:20 +08:00
雨霖铃 c848003214 feat(recorder): 实现IndexedDB分块存储录制事件
- 将录制状态中的events数组替换为sessionId,避免内存溢出问题
- 集成IndexedDB工具模块实现事件分块存储功能
- 修改开始录制逻辑以生成会话ID并初始化数据库会话
- 更新停止录制逻辑从数据库流式读取事件并删除会话数据
- 修复content:save-track-events消息类型的拼写错误
- 在RoutePersistence组件中添加路由恢复和保存的成功提示
- 重构popup应用CSS样式文件,移除冗余导航样式代码
2026-02-21 15:27:30 +08:00
雨霖铃 80e510225c feat(background): 添加录制状态持久化和Tab切换处理
- 实现录制状态存储到本地storage,包括isRecording、recordingTabId、events和startTime
- 添加loadRecorderState和saveRecorderState函数用于状态管理
- 监听Tab切换事件,当切换离开录制Tab时发出警告并通知popup
- 监听Tab关闭事件,自动停止录制并清理状态
- 添加录制状态同步检查,确保content script状态一致
- 在开始录制前检查是否已在录制状态,避免重复录制
- 添加错误处理返回详细错误信息
- 优化回放HTML样式和脚本加载方式
- 添加Tab切换消息通信协议支持
2026-02-21 15:09:07 +08:00
雨霖铃 19b7ab141a feat(extension): 添加调试器功能并优化界面布局
- 集成 Chrome 调试器 API 支持 attach/detach 功能
- 新增 tabUtils 工具模块用于获取活动标签页 ID
- 在背景脚本中添加标签页激活和更新事件监听
- 使用 Material-UI 容器和堆叠组件重构页面布局
- 移除 Chromium 启动参数中的自动打开开发者工具选项
- 更新权限配置添加调试器相关权限
- 在测试页面添加多个调试功能按钮和状态管理
2026-02-15 01:35:23 +08:00
雨霖铃 c01659c9f9 docs(readme): 更新项目文档以反映浏览器扩展功能
- 将原有 Create React App 模板文档替换为 Testing Tools 浏览器扩展介绍
- 添加项目概述、功能特性和技术栈说明
- 提供详细的安装运行指南和构建命令
- 补充项目结构、权限说明和主要依赖信息
- 增加贡献指南和许可证说明
2026-02-14 01:53:27 +08:00
雨霖铃 3ece5e2e96 fix: 修复 ESLint 配置及组件弃用属性警告,优化代码格式
1. 工程配置:
- 更新 tsconfig.json include 规则,解决 eslint.config.ts 未被包含的问题。

2. 组件重构 (Material UI 适配):
- Navbar: 替换已弃用的 PaperProps 为 slotProps.paper。
- TimestampToDatetime / DatetimeToTimestamp: 替换已弃用的 InputProps 为 slotProps.input。

3. 类型与逻辑修复:
- utils/recordUtils.tsx: 引入缺失依赖,忽略 UNSAFE_replayCanvas 等类型报错,修复构建问题。
- utils/messages.tsx: 完善事件参数类型定义。

4. 其他优化:
- 统一 App.css 代码格式。
- 补充部分组件 (CopyButton, TimestampExecution) 的 React 导入和类型定义。
2026-02-13 23:46:16 +08:00
雨霖铃 50034331bc refactor: 统一扩展消息机制并优化组件结构
1、统一消息系统:将 background、content 和 popup 的通信方式从原生的 chrome.runtime 迁移至 @webext-core/messaging,修复了消息回调返回 undefined 的问题。
2、优化组件结构:将通用组件从 entrypoints/popup/components 迁移至根目录 components,并使用 MUI 重构了 Navbar。
3、同步更新:调整了录制工具 (useRecorder) 和各页面组件(RecordeReplayPage, TestPage等),以适配新的消息协议和组件路径。
2026-02-13 20:38:15 +08:00
雨霖铃 22985f4c18 feat:添加测试页面并优化时间戳工具
refactor: 优化时间戳转换组件及整体代码结构
chore: 更新构建配置和包依赖项
2026-02-13 17:29:01 +08:00
雨霖铃 ee4d328b9c refactor:
1、添加全局toast
2、将CopyButton拆分为useCopy hook
2026-02-13 00:24:56 +08:00
雨霖铃 a93a8b3e9a refactor:优化时间戳工具,优化CopyButton 2026-02-12 21:26:41 +08:00
雨霖铃 38b7d16c31 feat: 添加导航栏组件,优化路由持久化逻辑,更新存储工具类 2026-02-07 13:17:32 +08:00
雨霖铃 a94ae7421e feat:
1、并发进行脚本注入
2、完善过滤逻辑
2026-02-07 00:31:41 +08:00
雨霖铃 2c0df95104 feat: 添加录制功能,优化消息处理,修复拼写错误,更新下载逻辑 2026-02-04 23:29:42 +08:00
雨霖铃 e6f41032c8 feat: 重构录制逻辑,添加错误处理,更新消息常量,使用 terser 进行构建压缩 2026-02-03 23:42:28 +08:00
雨霖铃 37f8ef9c2b feat: 优化消息处理逻辑,添加录制开始和停止的消息处理,删除未使用的 chromeUtils 文件 2026-02-02 22:57:01 +08:00
雨霖铃 a6d85962b7 feat: 使用 dayjs 替换时间处理逻辑,优化日期时间转换功能,删除不再使用的时间工具函数 2026-02-02 20:58:56 +08:00
雨霖铃 0b70c0c0c1 feat:
1、移动popup的page、components
2、更新wxt的host权限
3、验证message传递逻辑
2026-02-01 00:21:36 +08:00
雨霖铃 4213e70697 feat: update package.json to remove lint-staged, add eslint configuration and dependencies
feat: add state management for recording in RecordeReplayPage component

refactor: remove bridge and storage services as they are no longer needed

chore: update tsconfig.json for improved type checking and module resolution

fix: update downloadHtml function to use eventWithTime type and improve formatting

fix: add error logging in formatWithZone function for better debugging
2026-01-31 18:00:01 +08:00
雨霖铃 88a612f9cf feat: 更新背景脚本和内容脚本,添加录制控制消息处理,优化录制状态检查逻辑,新增消息常量 2026-01-30 23:08:49 +08:00
雨霖铃 0ff33cbeb3 feat: 添加离屏文档创建和下载功能,优化录制逻辑 2026-01-29 19:35:55 +08:00
雨霖铃 ed5e90f0fc feat: 删除不再使用的数据库和环境相关的工具函数 2026-01-29 17:27:18 +08:00
雨霖铃 92026ee7fa Refactor time utility functions for improved type safety and error handling
- Removed deprecated formatDate function.
- Enhanced formatWithZone to support TypeScript types for parameters.
- Updated getTimeZoneOffset to use TypeScript types.
- Improved formatWithDate for better error messages and type safety.
2026-01-28 22:39:44 +08:00
雨霖铃 710bffd2f8 feat: 添加 husky 和 lint-staged 支持,配置 prettier 进行代码格式化 2026-01-28 20:26:48 +08:00
雨霖铃 4edb2f1a47 feat:
1. 重构CopyButton
2. 修改Router特性
3. 修改CopyButton传参
4. 添加options页面
2026-01-28 00:42:05 +08:00
雨霖铃 b33194bd2d 更换使用wxt框架搭建testing tool 2026-01-27 23:09:57 +08:00
雨霖铃 9c84b7adc0 feat(deps): 添加 rrweb 控制台记录和回放插件支持
- 集成 @rrweb/rrweb-plugin-console-record 插件用于控制台记录功能
- 集成 @rrweb/rrweb-plugin-console-replay 插件用于控制台回放功能
- 更新 package-lock.json 中的相关依赖配置
- 添加 tailwindcss 依赖的 yaml 模块支持
2026-01-25 22:25:42 +08:00
雨霖铃 a53b58a007 feat(app): add rrweb recording and replay functionality
- Integrate rrweb library for session recording capabilities
- Add RecordeReplayPage component with start/stop recording buttons
- Implement useRecorder hook to manage recording state and events
- Create bridge service for extension communication
- Add storage service with Chrome extension and web compatibility
- Implement downloadHtml utility for replay file generation
- Update manifest permissions for activeTab, scripting, and tabs
- Add Chrome extension type definitions as development dependencies
2026-01-25 12:36:52 +08:00
雨霖铃 49aaab6e2c Comment out automated test step in workflow
Disables the test command in the CI pipeline, possibly to address failing tests, speed up builds, or troubleshoot issues with the testing environment.
2026-01-21 23:30:39 +08:00