JasonOA888
2d055d3909
style: fix Prettier formatting
2026-03-10 15:10:17 +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
928d8d2fb3
fix: allow ContentEditable in inputTextElement; clean up code
2026-03-09 19:05:32 +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
28f836674c
feat: edge feedback for scroll actions
2026-01-16 15:53:47 +08:00
Simon
683602bb6b
refactor(PageController): implement PageController
2025-12-05 16:18:01 +08:00
Simon
ad19a26a57
refactor(PageController): mv dom and actions
2025-12-02 21:30:39 +08:00