611 Commits

Author SHA1 Message Date
zhouxiao.shaw
5418ac23ad feat(cache): ensure cache directory exists before writing and improve illegal character handling in paths 2025-06-02 22:20:30 +08:00
zhouxiao.shaw
08e8a81539 feat(record): improve recording state management and handle asynchronous stop actions 2025-06-02 19:22:44 +08:00
zhouxiao.shaw
642c9a8757 feat(record): auto-stop recording when leaving detail view 2025-06-02 16:13:41 +08:00
zhouxiao.shaw
a22106e593 feat(record): refactor stopRecording logic and add visibility change handling for extension popup 2025-06-02 16:05:45 +08:00
zhouxiao.shaw
091ad4f564 feat(record): implement caching for element descriptions and screenshots to enhance performance 2025-06-01 21:28:08 +08:00
zhouxiao.shaw
4de7fd81f7 feat(record): improve session management and code quality
- Optimize session creation to use timestamp naming by default without requiring modal input
     - Improve UI layout to display titles and descriptions more effectively in both list and
     detail views
     - Apply code formatting improvements across the codebase for better readability
     - Fix linting issues in scripts and component files
2025-06-01 11:30:06 +08:00
zhouxiao.shaw
d8cb8cbce7 feat(record): optimize session creation to use timestamp naming by default
- Modified session creation to auto-create with timestamp name without showing modal
- Improved record UI to display session titles more effectively
- Reorganized description display in both list and detail views

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-01 10:42:38 +08:00
zhouxiao.shaw
f5a9cb40a6 feat(record): optimize session creation to auto-start recording with timestamp name 2025-05-31 19:51:22 +08:00
zhouxiao.shaw
4fa5062db8 chore(workflow): add CLAUDE.md with project documentation and development guide
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 19:31:41 +08:00
zhouxiao.shaw
8d7293f9db feat(record): implement smooth scroll with enhanced animations and performance
- Add requestAnimationFrame-based smooth scrolling for better performance
- Implement container-level auto-scroll to bottom when new events arrive
- Extract event optimization logic to separate eventOptimizer utility module
- Add smooth scroll CSS properties and touch optimization for mobile
- Enhance hover animations with cubic-bezier easing and GPU acceleration
- Add slideInUp and fadeInScale keyframe animations for timeline items
- Improve scrollbar styling with transition effects
- Optimize will-change properties for better rendering performance
- Add overscroll-behavior to prevent scroll propagation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 17:57:27 +08:00
zhouxiao.shaw
a0d94029fe feat(record): optimize AI description generation to be asynchronous and non-blocking
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 16:54:03 +08:00
zhouxiao.shaw
e20d18105d chore: delete unless config 2025-05-30 15:46:31 +08:00
zhouxiao.shaw
c3080a7504 chore: optimize select box logic 2025-05-30 15:45:39 +08:00
zhouxiao.shaw
3b8647f9ec feat(record): enhance event data with coordinates in event recorder
- Add x and y coordinates to the event data sent to the Chrome extension
- Update RecordTimeline component to utilize new coordinate properties for element positioning
- Ensure compatibility with existing event handling logic
2025-05-29 22:32:49 +08:00
zhouxiao.shaw
a0f798f6aa feat(chrome-extension): enhance event recording with new features and dependencies
- Add @rsbuild/plugin-node-polyfill to support Node.js polyfills in the project
- Update event recording logic to include viewport dimensions and element positioning
- Improve screenshot handling by integrating new properties in RecordedEvent interface
- Enhance RecordTimeline component to display element positioning and dimensions
- Optimize event handling and UI updates for better user experience
- Clean up and refactor code for improved readability and maintainability
2025-05-29 20:18:00 +08:00
zhouxiao.shaw
cfa45ac11d feat(chrome-extension): align React and TypeScript versions across the project
- Downgrade React and React DOM to 18.3.1 in all packages for consistency
- Update @types/react and @types/react-dom to 18.3.1
- Ensure TypeScript version is consistently set to ^5.8.3
- Adjust dependencies in package.json files for various apps and packages
- Enhance Chrome extension functionality with safe API wrappers for better error handling
- Implement checks for Chrome extension environment in recording components
2025-05-29 16:15:57 +08:00
zhouxiao.shaw
7bbbf403d9 feat(record): add screenshot capture for recorded events
- Add screenshot capture before and after each recorded event
- Implement screenshot capture in chrome extension service worker
- Add screenshot fields to RecordedEvent interface
- Create UI components for displaying screenshot thumbnails in timeline
- Add hover effects and popover for screenshot preview
- Remove unused AGENTS.md file
2025-05-29 15:21:38 +08:00
zhouxiao.shaw
0ee39bd9a6 feat(chrome-extension): enhance recording UI and session management
- Simplified the Record component structure by separating list and detail views for better user experience.
- Improved styling for the recording sessions list and detail views, ensuring better responsiveness and usability.
- Added functionality to switch between list and detail views for recording sessions.
- Updated session management to allow for viewing, editing, and deleting sessions with improved user feedback.
- Enhanced event handling and display for recorded events within the detail view.
2025-05-29 08:32:29 +08:00
zhouxiao.shaw
cd293fcf53 feat(chrome-extension): enhance recording session management and UI
- Introduced RecordingSession interface for better session handling
- Implemented session persistence with localStorage for recording sessions
- Added UI components for creating, editing, and deleting recording sessions
- Enhanced event handling to load and display events from selected sessions
- Improved user feedback with success messages for session actions
- Updated styles for session management and recording status indicators
2025-05-28 21:39:56 +08:00
zhouxiao.shaw
419091ae9b refactor(chrome-extension): rename content-script-wrapper to event-recorder-bridge
- Renamed content-script-wrapper.js to event-recorder-bridge.js
- Updated references in rsbuild.config.ts and record.tsx
- Updated internal comments to match new name
- New name better describes the file's bridge functionality
2025-05-28 15:49:52 +08:00
zhouxiao.shaw
84fb598233 fix(core): align dependency versions across workspace
- Update React to ^19.1.0 and React DOM to >=19.1.0 in all packages
- Update @types/react to ^19.1.4 and @types/react-dom to ^19.1.3
- Update TypeScript to ^5.8.3 across all packages
- Update dayjs to use caret version ^1.11.11
- Align all rsbuild and rslib plugin versions
- Fix dependency version inconsistencies to pass CI checks
2025-05-28 12:31:58 +08:00
zhouxiao.shaw
1136490c72 feat(chrome-extension): improve recording stability with page refresh handling
- Add tab update monitoring to automatically stop recording on page refresh/navigation
- Implement content script injection check with ping mechanism
- Enhance error handling with specific messages for Chrome internal pages
- Improve recording stop reliability when content script becomes unavailable
- Add graceful handling for missing content script during stop operation
2025-05-28 12:29:18 +08:00
zhouxiao.shaw
126b0ce8c2 feat(chrome-extension): add recording functionality
- Add new record UI components (record.tsx, record.less)
- Integrate recording capabilities into popup extension
- Update worker script to handle recording events
- Add content script wrapper for recording injection
- Remove EventRecorder from record-form app (moved to extension)
- Update manifest.json permissions for recording
- Update dependencies for recording functionality
- Enhance store with recording state management
2025-05-28 12:03:02 +08:00
zhouxiao.shaw
df96f7fe7d chore: modify comment 2025-05-27 16:34:23 +08:00
zhouxiao.shaw
5070fd7bb8 chore: delete unless config 2025-05-27 16:17:21 +08:00
zhouxiao.shaw
938153a3cc chore: optimize record iife logic 2025-05-27 16:15:32 +08:00
zhouxiao.shaw
725e0a40a6 chore: add record lib 2025-05-27 15:47:39 +08:00
zhouxiao.shaw
699d203442 chore: modify record log content 2025-05-27 10:59:31 +08:00
zhouxiao.shaw
874abab979 chore: delete unless file 2025-05-26 19:16:42 +08:00
zhouxiao.shaw
4bcb558b17 chore: optimize label input logic 2025-05-26 19:10:22 +08:00
zhouxiao.shaw
2cd35cb31c chore: support horizontal scroll 2025-05-26 18:47:13 +08:00
zhouxiao.shaw
bdbd8e3909 chore: optimize record logic 2025-05-26 17:51:08 +08:00
zhouxiao.shaw
c82d0c493d chore: optimize common logic 2025-05-26 17:15:57 +08:00
zhouxiao.shaw
7cc296031b chore: delete unless file 2025-05-26 16:09:07 +08:00
zhouxiao.shaw
ca52c1a29c chore: add record example 2025-05-26 16:08:42 +08:00
yutao
f291699cbe t push origin main
Merge branch 'wangliang0304-main'
2025-05-22 07:32:14 +08:00
yutao
fd6703c6d5 chore(core): add test cases 2025-05-22 07:31:55 +08:00
yutao
c308853c22 Merge branch 'main' of https://github.com/wangliang0304/midscene-joker into wangliang0304-main 2025-05-22 07:22:21 +08:00
Leyang
7b190ae4ee
fix(web-integration): sanitize content for reportHtmlContent (#745)
* fix(web-integration): sanitize content for reportHtmlContent

* fix(workflow): version

* fix(web-integration): recover after retrieve

* fix(web-integration): test

* chore(core): fix lint

* fix(report): remove ! for content

* chore(core): add test case

* chore(core): add test case

---------

Co-authored-by: yutao <yutao.tao@bytedance.com>
2025-05-22 07:20:32 +08:00
yuyutaotao
08466cac1e
feat(core): add element describer (#750) 2025-05-21 21:05:47 +08:00
Anthony
58c232e395 fix(web-integration): 处理androi模式的yaml格式情况下,deviceId首位为0被去除的问题.数字格式自动转为字符串格式 - new 2025-05-21 20:57:07 +08:00
yuyutaotao
610e7979bf
fix(core): error in report file when planning failed (#747)
* fix(core): error in report file when planning failed

* chore(core): add testcase for aiQuery
2025-05-21 20:36:22 +08:00
yutao
86a495466c Merge branch 'HBLADEH-blade-dev' 2025-05-21 19:56:44 +08:00
yutao
211fbd37d8 feat(core): update aiExtraction prompt 2025-05-21 19:51:34 +08:00
yutao
a192429e08 Merge branch 'blade-dev' of https://github.com/HBLADEH/midscene into HBLADEH-blade-dev 2025-05-21 19:30:10 +08:00
Thulof Qu
1a4eabd577
docs(common): fix broken relative links (#746) 2025-05-21 19:24:11 +08:00
Leyang
4c8d881614
fix(web-integration): handle undefined aiInput case in ScriptPlayer (#743)
* fix(web-integration): handle undefined aiInput case in ScriptPlayer

* fix(workflow): version

* fix(core): yaml player

---------

Co-authored-by: yutao <yutao.tao@bytedance.com>
2025-05-21 19:18:29 +08:00
yuyutaotao
1589d10f35
docs(core): update blog (#735)
* docs(core): update blog

* docs(blog): update workflow blog

* docs(site): add details and pic

* docs(site): update pic

* docs(site): update pic 2

---------

Co-authored-by: quanruzhuoxiu <quanruzhuoxiu@gmail.com>
2025-05-21 16:49:26 +08:00
Leyang
5a1a3ba18a
feat(web-integration): support disable cache for a single api call (#740)
* feat(web-integration): support disable cache for a single api call

* feat(workflow): version mismatch

* feat(web-integration): cache rename to cacheable

* feat(web-integration): add cacheable option to multiple API methods and update caching documentation

* docs(site): update cacheable option descriptions to reference caching feature documentation

* docs(core): update caching doc

---------

Co-authored-by: yutao <yutao.tao@bytedance.com>
2025-05-21 16:46:20 +08:00
github-actions[bot]
049d9f6565 release: v0.17.1 v0.17.1 2025-05-20 09:11:17 +00:00