akinshaywai
90e1c297f4
style(ui): improve HistoryList loading/empty states and add button tooltips
...
- Replace plain 'Loading...' text in HistoryList with animated skeleton
placeholder rows that match the shape of real history items
- Replace plain 'No history yet' text with a centred History icon +
label for a more polished empty state
- Add aria-label and title to the Back button in HistoryList header
- Add aria-label and title to History and Settings buttons in main header
- Add aria-label and title to Send and Stop task buttons in footer
2026-04-16 15:56:57 +08:00
Simon
e9eaf44bdd
docs(ext): no more need to build libs before ext
2026-04-15 04:02:16 +08:00
Simon
2ad2d06d01
chore(version): bump version to 1.8.0
2026-04-15 03:11:14 +08:00
Simon
354397a1b4
Merge pull request #449 from alibaba/dependabot/npm_and_yarn/development-dependencies-d34cd256e0
...
chore(deps-dev): bump the development-dependencies group with 11 updates
2026-04-14 15:53:22 +08:00
dependabot[bot]
28a2ebb817
chore(deps-dev): bump the development-dependencies group with 11 updates
...
Bumps the development-dependencies group with 11 updates:
| Package | From | To |
| --- | --- | --- |
| [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor ) | `7.58.1` | `7.58.2` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `25.5.2` | `25.6.0` |
| [dotenv](https://github.com/motdotla/dotenv ) | `17.4.1` | `17.4.2` |
| [globals](https://github.com/sindresorhus/globals ) | `17.4.0` | `17.5.0` |
| [prettier](https://github.com/prettier/prettier ) | `3.8.1` | `3.8.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.58.1` | `8.58.2` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome ) | `0.1.39` | `0.1.40` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `1.7.0` | `1.8.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react ) | `19.2.4` | `19.2.5` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) | `19.2.4` | `19.2.5` |
| [simple-icons](https://github.com/simple-icons/simple-icons ) | `16.15.0` | `16.16.0` |
Updates `@microsoft/api-extractor` from 7.58.1 to 7.58.2
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md )
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-extractor_v7.58.2/apps/api-extractor )
Updates `@types/node` from 25.5.2 to 25.6.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `dotenv` from 17.4.1 to 17.4.2
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md )
- [Commits](https://github.com/motdotla/dotenv/compare/v17.4.1...v17.4.2 )
Updates `globals` from 17.4.0 to 17.5.0
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0 )
Updates `prettier` from 3.8.1 to 3.8.2
- [Release notes](https://github.com/prettier/prettier/releases )
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.8.2 )
Updates `typescript-eslint` from 8.58.1 to 8.58.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/typescript-eslint )
Updates `@types/chrome` from 0.1.39 to 0.1.40
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome )
Updates `lucide-react` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.8.0/packages/lucide-react )
Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom )
Updates `simple-icons` from 16.15.0 to 16.16.0
- [Release notes](https://github.com/simple-icons/simple-icons/releases )
- [Commits](https://github.com/simple-icons/simple-icons/compare/16.15.0...16.16.0 )
---
updated-dependencies:
- dependency-name: "@microsoft/api-extractor"
dependency-version: 7.58.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/node"
dependency-version: 25.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: dotenv
dependency-version: 17.4.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: globals
dependency-version: 17.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: prettier
dependency-version: 3.8.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: typescript-eslint
dependency-version: 8.58.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: "@types/chrome"
dependency-version: 0.1.40
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: lucide-react
dependency-version: 1.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: react
dependency-version: 19.2.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: react-dom
dependency-version: 19.2.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development-dependencies
- dependency-name: simple-icons
dependency-version: 16.16.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-13 20:13:25 +00:00
Simon
78c829d955
fix: global helper functions redeclaration
2026-04-14 02:57:13 +08:00
Simon
5008345ce8
Merge pull request #425 from XePope/fix/autofixer-wait-fallback-format
...
fix(core): correct autoFixer wait fallback action format
2026-04-13 20:33:08 +08:00
Simon
a1b7684bf2
Merge pull request #418 from lgy2020/fix/simulator-mask-raf-leak
...
fix(mask): dispose 后 requestAnimationFrame 循环未停止导致内存泄漏
2026-04-13 20:14:32 +08:00
Simon
da67f3b07e
chore(controller): .disposed guard
2026-04-13 20:13:41 +08:00
Simon
c72ff95670
docs: update links in troubleshooting page
2026-04-13 17:21:26 +08:00
Simon
ca197d14e9
fix: dom typing
2026-04-12 03:16:39 +08:00
Simon
acfb336a9a
fix: pre-publish and post-publish hooks
2026-04-12 03:16:13 +08:00
Simon
4d27d49752
refactor(setup): upgrade to TypeScript 6 with source-first monorepo resolution
2026-04-12 02:04:21 +08:00
XePope
b46693f525
fix(core): correct autoFixer wait fallback action format
2026-04-09 16:49:16 +08:00
Simon
e9784a16d0
chore: upgrade deps
2026-04-08 22:00:29 +08:00
Simon
ebe3a3f7c3
chore: rm eslint-config-prettier and eslint-plugin-react-refresh
2026-04-08 21:58:03 +08:00
Simon
9ebb629aca
fix: wxt vite-plugin error
2026-04-08 21:16:29 +08:00
Simon
4f80ec1459
refactor: upgrade ESLint 9→10 and simplify React lint toolchain
...
- Upgrade eslint and @eslint/js to v10
- Replace eslint-plugin-react-x + eslint-plugin-react-dom + eslint-plugin-react-hooks
with unified @eslint-react/eslint-plugin
- Raise dev Node.js requirement to ^22.13.0 || >=24 (runtime packages unaffected)
- Add .npmrc with engine-strict=true
- Move all @eslint-react rule overrides to eslint.config.js,
eliminating plugin-specific inline eslint-disable comments
- Fix real issues caught by new rules: useless assignments,
leaked setTimeout, ref naming, useState setter naming
2026-04-08 20:31:31 +08:00
liuguiyuan
9104064e8c
fix(mask): stop requestAnimationFrame loop on dispose to prevent memory leak
...
The #moveCursorToTarget() method recursively schedules itself via
requestAnimationFrame, creating a continuous animation loop for the
AI cursor. However, dispose() only removes the DOM wrapper element
without stopping this loop, causing:
- CPU waste: rAF callback continues executing every frame (~60fps)
after the mask is disposed, performing unnecessary calculations
on a detached cursor element.
- Resource leak: Each SimulatorMask instance creates an unrecoverable
animation loop that persists for the lifetime of the page.
- Console noise: style assignments to removed DOM nodes may produce
browser warnings.
Fix: Add a #disposed boolean flag, checked at the top of
#moveCursorToTarget() to short-circuit the recursion. Set the flag
to true in dispose() before removing DOM elements.
Changes:
- Add #disposed field (default false)
- Guard #moveCursorToTarget() with early return when #disposed
- Set #disposed = true in dispose() before cleanup
2026-04-08 18:53:42 +08:00
Simon
12b6001d53
fix(ui): make panel history max-height responsive to viewport
2026-04-08 17:05:10 +08:00
Simon
362bf822f7
fix(ext): increase result card font size and use foreground color
...
Fixes conflicting text-xs/text-[11px] classes and muted color on the
ResultCard component, making the result text more readable.
Closes #360
2026-04-08 16:50:09 +08:00
dependabot[bot]
4734e2df26
chore(deps-dev): bump the development-dependencies group with 6 updates ( #405 )
2026-04-07 15:39:11 +08:00
Simon
7071a6c26a
fix(mcp): bind HTTP+WS server to localhost only ( #399 )
2026-04-04 03:15:20 +08:00
Simon
cb55daf47d
chore(version): bump version to 1.7.1
2026-04-04 01:37:49 +08:00
Simon
43415d3139
feat(website): sticky header
2026-04-04 01:34:54 +08:00
Simon
9cc9edf17e
docs: lm studio ( #398 )
...
* docs(page): lm studio doc
* docs: update documentation and improve model section
2026-04-04 01:15:41 +08:00
Simon
4272939217
fix(controller): treat interactive with aria as distinct
2026-04-03 20:21:11 +08:00
Lubrsy
148bdb6839
fix: recognize role="listitem" as interactive element ( #203 )
...
* fix: recognize role="listitem" as interactive element
* fix: DISTINCT_INTERACTIVE_ROLES
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Simon <10131203+gaomeng1900@users.noreply.github.com >
2026-04-03 20:09:48 +08:00
Simon
7e9027167d
feat(controller): add keepSemanticTags config to keep the semantic structure of the page
2026-04-03 19:01:54 +08:00
Simon
0ca1c8de0b
feat(controller): consider hasScrollbarSignal when detecting scrollable
2026-04-03 16:09:35 +08:00
Simon
85a33ac1a4
feat(controller): improve scroll action
2026-04-02 22:05:47 +08:00
Simon
13d952dc9d
fix(ext): guard postMessage listeners against iframe sources
...
Add `e.source !== window` check to both content script and main-world
script message handlers, preventing iframes from injecting or
intercepting extension bridge messages.
2026-04-02 18:53:59 +08:00
Simon
8159aa58a6
Merge branch 'main' into fix/scroll-direction-pixels
2026-04-02 18:31:56 +08:00
Simon
2bdb3be81c
Merge pull request #356 from lgy2020/fix/aria-attribute-detection
...
fix(isInteractiveCandidate): use hasAttribute with known aria list to detect aria- attributes
2026-04-02 17:41:36 +08:00
Simon
bde630f55d
chore(controller): add @edit mark
2026-04-02 17:38:02 +08:00
Simon
3efef0ec42
fix(controller): clean up INTERACTIVE_ARIA_ATTRS
2026-04-02 17:33:27 +08:00
Simon
ec08b05da1
feat(ext): add systemInstruction to ExecuteConfig
...
Expose a serializable `systemInstruction` string field on the
page-facing ExecuteConfig, mapped to `instructions.system` when
creating MultiPageAgent. Functions cannot cross the postMessage
boundary, so this flat string field replaces the object form.
Closes #359
2026-04-02 16:34:57 +08:00
Simon
5ea2edd13c
Merge pull request #384 from Anyexyz/main
...
fix: extract currentScript outside setTimeout to avoid null pointer
2026-04-02 16:20:17 +08:00
Anyexyz
1999bbeda9
fix: extract currentScript outside setTimeout to avoid null pointer
2026-04-02 16:17:46 +08:00
Simon
d0de8ad838
docs(website): add qwen3.6-plus to models page
2026-04-02 15:30:58 +08:00
Simon
0402a6be03
fix(tabs): error message typo
2026-03-31 21:04:53 +08:00
Simon
6823e04ca9
chore(version): bump version to 1.7.0
2026-03-31 20:45:12 +08:00
Simon
2b20b48dff
chore(controller): reuse pointer xy
2026-03-31 20:27:04 +08:00
Simon
296459924a
feat(controller): enhance click action with elementFromPoint
2026-03-31 20:02:39 +08:00
Simon
8eee3b27e2
feat(controller): fix SimulatorMast mem leak; add passthrough events
2026-03-31 19:59:57 +08:00
Simon
32d6f0c74b
fix(controller): click action robust
2026-03-31 17:41:49 +08:00
Simon
da2b7b5a8f
Merge pull request #370 from alibaba/dependabot/npm_and_yarn/production-dependencies-90c90c5d9d
...
chore(deps): bump @modelcontextprotocol/sdk from 1.27.1 to 1.29.0 in the production-dependencies group
2026-03-31 15:09:37 +08:00
dependabot[bot]
784627a7c1
chore(deps-dev): bump the development-dependencies group with 3 updates
...
Bumps the development-dependencies group with 3 updates: [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ), [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) and [simple-icons](https://github.com/simple-icons/simple-icons ).
Updates `typescript-eslint` from 8.57.2 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/typescript-eslint )
Updates `lucide-react` from 1.0.1 to 1.7.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.7.0/packages/lucide-react )
Updates `simple-icons` from 16.13.0 to 16.14.0
- [Release notes](https://github.com/simple-icons/simple-icons/releases )
- [Commits](https://github.com/simple-icons/simple-icons/compare/16.13.0...16.14.0 )
---
updated-dependencies:
- dependency-name: typescript-eslint
dependency-version: 8.58.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: lucide-react
dependency-version: 1.7.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
- dependency-name: simple-icons
dependency-version: 16.14.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 20:22:53 +00:00
dependabot[bot]
46d6c02c95
chore(deps): bump @modelcontextprotocol/sdk
...
Bumps the production-dependencies group with 1 update: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk ).
Updates `@modelcontextprotocol/sdk` from 1.27.1 to 1.29.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases )
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.29.0 )
---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
dependency-version: 1.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 20:21:25 +00:00
liuguiyuan
f2b6c9dfd2
fix: use hasAttribute with known aria list for interactive candidate detection
...
Replace broken el.hasAttribute("aria-") with a curated list of 27
aria attributes checked via hasAttribute. Each check is O(1).
WAI-ARIA 1.2 defines ~50 aria attributes total per MDN.
Of these ~27 appear on interactive elements such as buttons,
inputs, sliders, and dialogs. The remaining ~20 are structural
container attributes like aria-live, aria-colcount, and
aria-rowspan that only appear on non-interactive containers.
Checking them would not change results.
2026-03-31 00:57:44 +08:00