- 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
- 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
- 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
* 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>
* 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>
* fix(web-integration): cache hit when element.id exist and scroll element instantly
* fix(web-integration): use parent xpath for text node
* fix(web-integration): only scroll in to view when element is not completly visible
* fix(shared): distinct text node
* test(web-integration): getElementInfoByXpath
* test(web-integration): rename desc
* test(web-integration): fix
* test(web-integration): snapshot attributes only
* test(web-integration): fix test
* feat(web-integration): use xpath for cache instead of id
* feat(web-integration): enhance TaskCache to support xpaths for cache matching and add new test cases
* feat(web-integration): add debug log for unknown page types in TaskCache
* feat(web-integration): update caching logic and cache hit conditions for Plan and Locate tasks
* chore(core): update debug log
* feat(web-integration): update rspress.config and enhance TaskCache structure with new properties
* feat(web-integration): recalculate id when hit cache
* fix(web-integration): update mock implementation in task-cache test to use evaluate method
* feat(web-integration): enhance element caching by adding XPath support and improving cache hit logic
* chore(core): lint
* feat(web-integration): improve XPath handling in web-extractor
* test(web-integration): fix tests
* feat(core, web-integration): add attributes to LocateResultElement and enhance element handling
* fix(core): lint
* feat(web-integration): add midsceneVersion to TaskCache and update cache validation logic
* fix(core): test
* fix(web-integration): update cache validation logic to prevent reading outdated midscene cache files
* feat(web-integration): enhance TaskCache to track used cache items and improve cache retrieval logic
* fix(core): xpath logic (#710)
* feat(core): resue context for locate
* feat(core): build yamlFlow from aiAction
* feat(core): refine task-cache
* feat(core): update cache
* feat(core): refine task-cache
* feat(core): refine task-cache
* feat(core): remove unused checkElementExistsByXPath
* feat(core): use yaml file as cache
* chore(core): fix lint
* chore(core): print warning for previous cache
* refactor(core): remove quickAnswer references and improve element matching logic
* fix(core): update import path for buildYamlFlowFromPlans
* chore(web-integration): update output image and skip task error test
* fix(web-integration): update test snapshots to handle beta versions
* fix(web-integration): adjust test snapshots for version consistency
* fix(web-integration): track original cache length and adjust matching logic in tests
* fix(web-integration): update test URLs to reflect new target site and enable previously skipped test
* chore(core): update cache docs
* fix(core): test
* feat(core): try to match element from plan
* fix(web-integration): cache id stable when retry in palywright
* fix(web-integration): typo
* style(web-integration): lint
* fix(web-integration): stable cacheid in tests
* fix(web-integration): cache id
---------
Co-authored-by: quanruzhuoxiu <quanruzhuoxiu@gmail.com>
* feat(android): implement repeat function for scrolling until actions
* fix(shared): fix potential error in getAIConfig by ensuring trim is called correctly
* feat(android): update scrolling behavior with adjustable duration and added sleep
* feat(android): refine scrolling durations with new constants for fast and normal scroll
* feat(web-integration): add support for new agent method(aiBoolean, aiString, aiNumber, aiLocate)
* fix(core, web-integration): update data extraction logic and refine return types for agent methods
* feat(site): add detailed descriptions and examples
* fix(web-integration): remove unused properties from aiLocate return type and update UI titles
* fix(core): enhance agent methods for better extraction and querying
* fix(core): update test scripts and refine data extraction prompts
* fix(core): refine return type in ExecutionTaskApply and remove unused import in inspect
* fix(core): update data extraction logic and enhance type handling in Insight class
* fix(web-integration): update import path for puppeteerAgentForTarget in player test file
* fix(core): tests fix
* fix(core): fix tests
* fix(shared): enhance imageInfo tests by validating individual properties and updating snapshots
* fix(site): remove waitForNavigationTimeout from Playwright integration examples
* fix(site): update timeout configuration examples in FAQ for clarity
* test(web-integration): remove unused client-extractor test and related snapshots
* chore(core): fix query implementation
* fix(report): improve data handling in DetailSide component and enhance output display
* fix(core): refine data extraction prompts and improve error handling in PageTaskExecutor
* fix(core): update data extraction prompt for clarity and type validation
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* feat(core): support custom midscene_run dir
* feat(report): add search functionality to PlaywrightCaseSelector component
* refactor(shared): simplify base directory resolution and remove unused environment variable
* feat(shared): integrate shared environment variables across multiple packages
* refactor(shared): update base directory resolution to use dynamic midscene_run directory
* fix(puppeteer): increase screenshot timeout from 3s to 10s for improved reliability
* feat: allow running javascript in yaml
* feat: change the output dir
* fix: CI
* docs: update docs about evaluate javascript
* chore: merge main
* chore: merge main
* refactor: android api
* refactor: enhance Android agent to accept options for device connection
* fix: type error
* fix: click after clearInput
* fix: click before clearInput
* feat: android playground
* feat: support npx package name
* feat: android playground joint
* fix: git ignore conflicts
* feat: ensure adb server is running before initializing adb client
* fix: deps consistency
* ci: add android playground
* feat: integrate shared constants and improve server configuration in android playground
* feat: android playground style
* feat: style opt
* feat: add @rsbuild/plugin-svgr dependency and improve URI handling in adb
* feat: remove unused water flow scripts and update comments to English
* feat: download report file
* feat: standalone android playground
* feat: use dynamic import
* feat: migrate CSS to LESS and remove unused styles in chrome extension and report
* feat: enhance Android playground with ScrcpyPlayer ref integration and device management improvements
* feat: optimize styles and layout in Android playground and visualizer components
* chore: add bin back
* chore: update build script to exclude documentation generation
* feat: add not ready message to PlaygroundResult for improved user guidance
* feat: add error handling for screenshot capture in Android page
* docs: update readme
* feat: add PNG validation for screenshot buffer in Android page
* feat: enhance UI components with improved styling and tooltips in ScrcpyPlayer and PromptInput
* docs: update uri parameter description in integrate-with-android documentation and improve uri handling in launch function
* style: update primary color to #2B83FF across multiple components and adjust margin in App.less
* refactor: replace userConfig with globalConfig for environment configuration management and update related functions
* feat: integrate server validation logic in App, AdbDevice, and ScrcpyPlayer components for improved connection handling
* style: enhance player component layout with overflow handling and margin adjustments
* style: refine player component layout with flex adjustments and improved spacing
* feat: add midscene model name display and improve layout in EnvConfig component
* feat: integrate ShinyText component for enhanced loading progress display in PlaygroundResult
* test: add test for isValidPNGImageBuffer
* style: remove background color from App.less and adjust AI config override behavior in env.ts
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* chore: add element detail info
* chore: add element detail info
* chore: add element detail info
* chore: optimize logger logic
* chore: optimize logger logic