mirror of
https://github.com/web-infra-dev/midscene.git
synced 2025-06-26 23:30:04 +00:00
8 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
![]() |
c9f9a48c70
|
feat(recorder): add record ability to chrome extension (#769)
* chore: add record example * chore: delete unless file * chore: optimize common logic * chore: optimize record logic * chore: support horizontal scroll * chore: optimize label input logic * chore: delete unless file * chore: modify record log content * chore: add record lib * chore: optimize record iife logic * chore: delete unless config * chore: modify comment * 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 * 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 * 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 * 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 * 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 * 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. * 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 * 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 * 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 * 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 * chore: optimize select box logic * chore: delete unless config * 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> * 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> * 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> * feat(record): optimize session creation to auto-start recording with timestamp name * 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> * 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 * feat(record): implement caching for element descriptions and screenshots to enhance performance * feat(record): refactor stopRecording logic and add visibility change handling for extension popup * feat(record): auto-stop recording when leaving detail view * feat(record): improve recording state management and handle asynchronous stop actions * chore: upgrade lock file * feat(record): add persistence for recording state in local storage * feat(record): add modular structure with components and hooks for improved organization * feat(record): implement AI-generated titles and descriptions for recording sessions * feat(record): enhance recording session management with improved layout and AI title generation * feat(record): enhance recording control hook with session update callback * fix: update coding standards and improve code formatting across multiple files * feat(record): add Playwright test generation feature and export controls * feat(record): enhance AI description generation with caching and callback handling * feat(record): replace RecordedEvent with ChromeRecordedEvent for improved event handling * feat(record): improve debug logging and event handling in recording sessions * feat(record): enhance event optimization and logging, add diagnosis feature for recording chain * feat(record): update RecordDetail and RecordList components, improve diagnostic function and type imports * feat(record): enhance tab monitoring with event listeners for activation and updates * feat(record): sort sessions by updated time in RecordList component * feat(record): implement session ID handling and cleanup for previous recordings * feat(eventOptimizer): improve element rectangle handling and callback updates in description generation * feat(record): enhance AI title and description generation logic, improve event handling and logging * feat(record): implement debounce mechanism for AI description generation and enhance event rectangle validation * feat(record): enhance AI description generation with improved caching and debouncing logic, and add session ID dependency in cleanup * feat(record): update AI title and description generation logic to prevent overwriting existing session names and descriptions, and improve event handling in scroll events * refactor(record): clean up code formatting and improve logging consistency across components * docs(record): update CLAUDE.md with detailed implementation and optimization strategies for the recording system * feat(record): enhance event details display with JSON copy functionality and improved cache key generation * chore(commitlint): increase maximum header length to 300 characters * chore(commitlint): disable scope-enum rule enforcement * feat(record): implement unified logging system and replace console logs with structured logger * feat(record): add hash ID generation for recorded events and clean up elementRect handling * feat(record): add before and after screenshot functionality to event timeline * feat(record): remove event-recorder-bridge script and update build configuration * feat(record): update screenshot handling in RecordTimeline component to display before and after images * refactor(record): clean up code formatting and remove unnecessary lines * feat(build): enhance build configuration with caching and input/output settings * feat(record): pause active recording sessions when creating a new session * feat(record): enhance Playwright export controls with live event handling and improved description checks * refactor(record): streamline configuration and improve logging clarity * feat(record): update YAML generation to follow Midscene.js conventions with enhanced action mapping and descriptive naming * feat(record): simplify YAML generation for Midscene.js with clearer structure and updated action mapping * feat(record): enhance YAML export functionality with improved event handling and loading state * feat(record): add Playwright and YAML test generation utilities with shared types and export controls * feat(record): replace PlaywrightExportControls with a unified ExportControls component * feat(record): integrate Playwright test generation from core package and update language handling in UI components * feat(record): add @midscene/record dependency and integrate YAML test generation from core package * feat(record): enhance event handling by saving current recording events during session updates and cleanup * feat(record): enhance event recording by adding final navigation event and improving error handling in event recorder bridge * feat(record): improve event handling by conditionally clearing events during recording start * feat(record): optimize event handling by implementing debouncing and refining fallback descriptions * feat(record): enhance test generation by extracting navigation and viewport info for improved options * feat(record): implement event persistence with local storage for recording sessions * chore: clean up code formatting and improve readability across multiple files * feat(record): add dropdown menu for code generation and streamline state management * feat(record): remove YAML export functionality from ExportControls and related components * feat(record): add ProgressModal component for enhanced recording feedback * feat(record): enhance ExportControls and ProgressModal with improved UI and confetti animation * feat(record): simplify ExportControls and RecordDetail components by removing unused functionality and improving session details display * feat(record): improve error handling and logging in content script checks and enhance tab URL validation * feat(record): add generatedCode field to RecordingSession and improve error handling in content script checks * feat(record): add canvas-confetti for celebratory effects in ProgressModal and update dependencies * feat(record): refactor RecordDetail to use sessionId and improve session retrieval with error handling * feat(progress-modal): adjust confetti display duration and update completion timing in ProgressModal * chore: upgrade lock file * refactor(snapshot): simplify element description rules for clarity and brevity * feat(record): initialize optimizedEvents state as empty array and refactor logging methods for improved clarity * refactor(export-controls): streamline event description generation and update progress step order for clarity * feat(progress-modal): add ShinyText component for enhanced step title display during loading * refactor(export-controls): consolidate test generation logic into a common function for improved maintainability * refactor(export-controls, eventOptimizer): improve code readability and consistency by formatting and simplifying logic * chore: delete unless config * chore: add ignore file * chore: add ignore file * refactor: migrate from 'record' to 'recorder' package and consolidate related files * refactor: remove playwright example file and integrate example code into prompts and YAML generation * chore: hidden recorder * chore: delete unless file * chore: delete unless file * refactor: migrate from 'record-form' to 'recorder-form' and update related configurations * refactor: remove shiny-text component and update imports in related files * refactor: enhance ProgressModal styling for better alignment and readability * refactor: update finalEvents assignment in ExportControls for session title generation * refactor: comment out recorder section in PlaygroundPopup for future review * chore(ci): fix lint error --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
![]() |
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> |
||
![]() |
2589a9c4ca
|
docs(android): update android docs (#607)
* docs: release android automation * chore(docs): update doubao docs * chore(docs): merge docs for doubao * docs(android): update * docs(site): add more android case * docs(site): update slogan and authors * docs(site): android yaml * docs(core): instruction for override config * docs(core): update readme * Update README.md * docs(core): update readme * docs(core): update readme * docs(core): update readme * docs(core): update readme * docs(core): update README and blog for Android automation support * docs(core): update android playground doc * docs(core): enhance Android integration documentation with setup instructions * docs(core): update android playground doc * docs(core): update Android integration documentation and add setup instructions * docs(core): update bridge mode title * docs(core): update yaml docs * docs(site): chore update * docs(site): update YAML documentation with setup instructions and clarify parameters * docs(core): update instructions * chore: update docs * chore: update bridge mode docs * docs(site): translate to zh * docs(site): translate error * docs(site): remove unnecessary code block in YAML automation documentation * docs(core): update blog * docs(core): update instructions * docs(core): update instructions --------- Co-authored-by: yutao <yutao.tao@bytedance.com> Co-authored-by: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com> |
||
![]() |
69aeadb9a1
|
ci(workflow): dynamically obtain the scope of apps and packages (#602) | ||
![]() |
10efa40c8b
|
fix(cli): keep window after cli running (#598) | ||
![]() |
daf308b1d0
|
fix(mcp): resolve mcp server log error (#599)
* fix(mcp): resolve mcp server log error * chore(shared): delete unless code * chore(workflow): fix lint error |
||
![]() |
76eb4e1417
|
fix(report): ai tap in report (#594)
* fix: ai tap in report * chore(playwright): update lockfile * fix(core): lint --------- Co-authored-by: yutao <yutao.tao@bytedance.com> |
||
![]() |
bc5b6e2121
|
ci(workflow): add commit msg check (#587)
* ci(workflow): add commit check * docs(workflow): add commit check to CONTRIBUTING * chore(workflow): optimize lint error |