Simon
ddcfa5b499
Merge branch 'main' into fix/contenteditable-input-events
2026-03-10 17:37:20 +08:00
JasonOA888
441b41c713
fix(page-controller): address all Copilot review feedback
...
## Changes
1. **Fix early return bypassing cleanup**
- Remove early return when beforeinput is canceled
- Use shouldInsert flag to skip mutation but continue cleanup
- Ensures waitFor and blurLastClickedElement always run
2. **Fix duplicate input events**
- Contenteditable path now dispatches its own input events with inputType
- Skip shared input dispatch for contenteditable
- Prevents double-triggering framework listeners
3. **Fix event order (mutation before events)**
- Clear content now dispatches beforeinput(inputType:deleteContent) first
- Then performs the clear mutation
- Then dispatches input event for the deletion
- Proper event-mutation ordering
4. **Single-character keyboard events remain**
- PR description clarified this is intentional
- Multi-character input uses bulk insertion (not per-character typing)
- Maintains semantic consistency
5. **Fix duplicate focusout event**
- blur() already triggers native focusout
- Removed manual focusout dispatch
- Prevents double validation handlers
All changes follow Copilot's suggested fixes.
2026-03-10 16:03:25 +08:00
fancy
1c354ab5d3
refactor(page-controller): remove viewportExpansion constants module
2026-03-10 15:34:24 +08:00
JasonOA888
2d055d3909
style: fix Prettier formatting
2026-03-10 15:10:17 +08:00
fancy
16da7d936d
fix(page-controller): honor viewportExpansion in DOM extraction
2026-03-10 12:28:54 +08:00
JasonOA888
efe08f445f
fix(page-controller): address Copilot review feedback
...
## Changes
1. **Check beforeinput cancellation**
- dispatchEvent returns false if canceled
- Check defaultPrevented as well
- Abort mutation if event was canceled by any listener
2. **Fix event order to match real user typing**
- Before: beforeinput -> mutation -> input -> keydown -> keyup
- After: keydown -> beforeinput -> mutation -> input -> keyup
- This matches typical browser event sequence
3. **Fix blur event semantics**
- blur doesn't bubble; focusout does
- Call editableElement.blur() to actually change focus
- Dispatch focusout with bubbles:true for listeners
- Then refocus
4. **Keep single-character keyboard events**
- Already fixed in previous commit
- Maintained here with correct order
All changes follow Copilot's suggested fixes.
2026-03-10 12:02:01 +08:00
JasonOA888
4e7f755ae9
fix(page-controller): address PR review feedback
...
## Changes
1. **Fix keyboard event semantics** (per review feedback)
- Only dispatch keydown/keyup for single-character input
- Avoids inconsistent event payloads for multi-character strings
- Prevents confusion in editors that correlate key events with text changes
2. **Remove extra blank line**
- Formatting consistency
Reviewer noted that dispatching key events with only the last character
of multi-character text creates semantic inconsistency with the actual
DOM mutation (which inserts the full string at once).
This fix follows the suggested change from the review.
2026-03-10 12:00:47 +08:00
JasonOA888
28bb2204e7
fix(page-controller): improve contenteditable input with proper events
...
## Problem
Input into contenteditable elements (like LinkedIn post editor) fails
because simply setting innerText does not trigger framework event listeners.
## Solution
Dispatch a full sequence of events that rich text editors expect:
- beforeinput (for React apps)
- input (standard)
- keydown/keyup (for keyboard listeners)
- change (for validation)
- blur + refocus (to trigger change detection)
## Testing
Tested on:
- LinkedIn post editor
- Draft.js editors
- Contenteditable divs with React listeners
Fixes #168
2026-03-10 10:32:07 +08:00
Simon
b4ebb2b98f
chore(version): bump version to 1.5.4
2026-03-09 23:35:04 +08:00
Simon
5873e68d63
Merge pull request #175 from alibaba/copilot/sub-pr-173-again
...
perf(page-controller): cache compiled regexes in `globToRegex`
2026-03-09 22:34:58 +08:00
copilot-swe-agent[bot]
d46a57f8ef
refactor: use Object.keys() instead of for...in in matchAttributes
...
Co-authored-by: gaomeng1900 <10131203+gaomeng1900@users.noreply.github.com >
2026-03-09 14:32:20 +00:00
copilot-swe-agent[bot]
5852054e3a
perf: cache compiled regexes in globToRegex to avoid repeated compilation
...
Co-authored-by: gaomeng1900 <10131203+gaomeng1900@users.noreply.github.com >
2026-03-09 14:29:56 +00:00
Simon
01db520881
feat: support wildcard in includeAttributes
2026-03-09 22:02:35 +08:00
Simon
4b37a3e538
feat(controller): add contenteditable to DEFAULT_INCLUDE_ATTRIBUTES
2026-03-09 19:15:51 +08:00
Simon
928d8d2fb3
fix: allow ContentEditable in inputTextElement; clean up code
2026-03-09 19:05:32 +08:00
Simon
15d609aebc
chore(version): bump version to 1.5.3
2026-03-09 17:02:34 +08:00
Simon
27e9e78636
chore(version): bump version to 1.5.2
2026-03-07 03:08:33 +08:00
Simon
a0c979602e
feat: do not throw for webgl2 fail
2026-03-07 03:07:21 +08:00
Simon
19b03b83ea
chore(version): bump version to 1.5.1
2026-03-05 19:28:19 +08:00
Simon
8bc27414a4
chore(version): bump version to 1.4.4
2026-03-05 16:25:16 +08:00
Simon
76509d93f0
feat: replace data-browser-use-ignore with data-page-agent-ignore
2026-03-05 16:24:50 +08:00
Simon
2754023a80
chore(version): bump version to 1.4.3
2026-03-04 21:18:51 +08:00
Simon
4807d550a3
chore(version): bump version to 1.4.2
2026-03-03 21:54:41 +08:00
Simon
f9722f0619
Merge branch 'main' of https://github.com/alibaba/page-agent
2026-03-03 21:53:35 +08:00
Simon
06280c2ba5
chore(core): add wait time between steps for the page to react
2026-03-03 21:51:10 +08:00
hobostay
a47c72ce84
fix(actions): remove debug console.log statements
...
Remove [SCROLL DEBUG] console.log statements that were left over
from development in scrollVertically and scrollHorizontally
functions. These debug statements should not be in production code.
2026-03-03 21:36:59 +08:00
Simon
b4b9f6ce2d
chore(version): bump version to 1.4.1
2026-03-03 20:56:24 +08:00
Simon
0ffd221a61
chore(version): bump version to 1.4.0
2026-02-27 21:59:00 +08:00
Simon
3e7851849f
chore(version): bump version to 1.3.0
2026-02-13 18:50:32 +08:00
Simon
20e947a1c1
chore(version): bump version to 1.2.0
2026-02-11 20:09:23 +08:00
Simon
3f284cf2e6
chore(controller): remove link hint
2026-02-10 17:19:02 +08:00
Simon
67f6a56a87
chore(version): bump version to 1.1.2
2026-02-09 17:50:34 +08:00
Simon
d00a8dcc21
feat: improve prompt; update model list
2026-02-09 15:50:20 +08:00
Simon
5b2a11c0b2
chore(version): bump version to 1.1.0
2026-02-02 17:28:40 +08:00
Simon
74aea50875
feat: rename include_attributes to includeAttributes
2026-02-02 17:24:08 +08:00
Simon
da440f63c3
chore(version): bump version to 1.0.1
2026-01-30 16:59:11 +08:00
Simon
04d51c566d
feat: delay mask import
2026-01-28 17:16:39 +08:00
Simon
142231a16c
fix(PageController): use local svg for cursor mask to fix CSP errors
2026-01-28 17:04:54 +08:00
Simon
94ae80ff6a
chore: move title line from Agent to PageController
2026-01-28 15:38:05 +08:00
Simon
501411b254
feat: improve date format and error message for llm
2026-01-28 15:24:08 +08:00
Simon
fdc3cf4e6d
feat(ext): handcraft the whole ext from scratch
...
AI coding doesn't work for MV3 extensions.
Threading was an unfixable mess.
Removed everything and rebuilt by hand.
2026-01-27 17:21:32 +08:00
Simon
299a5b2075
chore(version): bump version to 1.0.0
2026-01-22 15:38:21 +08:00
Simon
785a2d194e
chore(version): bump version to 1.0.0-beta.5
2026-01-22 15:17:19 +08:00
Simon
6cbb4e99c4
chore(version): bump version to 1.0.0-beta.4
2026-01-21 18:55:07 +08:00
Simon
34ce56b446
feat(PageController): make sure page is indexed before calling actions on elements
2026-01-21 18:54:17 +08:00
Simon
536e5076da
chore(version): bump version to 1.0.0-beta.3
2026-01-21 17:00:08 +08:00
Simon
897b919044
chore(version): bump version to 1.0.0-beta.2
2026-01-21 01:23:42 +08:00
Simon
5c80f2b002
chore: prettier json indentation
2026-01-20 14:08:42 +08:00
Simon
28c128645e
chore(version): bump version to 1.0.0-beta.1
2026-01-19 20:51:37 +08:00
Simon
f83a4174cc
chore(version): bump version to 1.0.0-beta.0
2026-01-19 20:39:57 +08:00