-
Notifications
You must be signed in to change notification settings - Fork 1.3k
don't require experimental: true for iframes
#913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 4d5ae09 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
miguelg719
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changeset
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Summary
This PR graduates iframe functionality from experimental status to a stable feature in the Stagehand library. The changes remove three validation checks in the StagehandPage.ts file that previously prevented users from using iframe options in the act(), extract(), and observe() methods unless the experimental flag was explicitly set to true.
Specifically, the PR removes:
- The
ExperimentalNotConfiguredErrorimport (no longer needed) - Experimental validation checks in
act()method (lines 621-625) - Experimental validation checks in
extract()method (lines 750-755) - Experimental validation checks in
observe()method (lines 853-857)
This change integrates with the existing iframe handling infrastructure that's already present throughout the codebase - the DOM processing scripts, accessibility tree handling, and evaluation tests all have mature iframe support. By removing these experimental gates, iframe functionality becomes available by default, making it easier for users to interact with content inside iframes without needing to enable experimental mode.
PR Description Notes:
- The PR body sections (why, what changed, test plan) are empty and should be filled out to provide context for reviewers
Confidence score: 5/5
- This is a very safe change that simply removes validation barriers to existing functionality
- The code removal is clean and doesn't introduce any new logic or potential failure points
- No files need additional attention - the change is straightforward and well-contained
1 file reviewed, no comments
experimental: true for iframes
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @browserbasehq/stagehand@2.4.2 ### Patch Changes - [#865](#865) [`6b4e6e3`](6b4e6e3) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - improve type safety for trimTrailingTextNode - [#897](#897) [`e77d018`](e77d018) Thanks [@miguelg719](https://github.com/miguelg719)! - Fix selfHeal to remember intially received arguments - [#920](#920) [`c20adb9`](c20adb9) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - fix: tab handling on API - [#882](#882) [`b86df93`](b86df93) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - remove elements that don't have xpaths from observe response - [#905](#905) [`023c2c2`](023c2c2) Thanks [@tkattkat](https://github.com/tkattkat)! - Delete old images from anthropic cua client - [#925](#925) [`8c28647`](8c28647) Thanks [@miguelg719](https://github.com/miguelg719)! - Remove \_refreshPageFromApi() - [#887](#887) [`87e09c6`](87e09c6) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - fix: allow xpaths with prepended 'xpath=' for targeted extract - [#864](#864) [`a611115`](a611115) Thanks [@miguelg719](https://github.com/miguelg719)! - Temporarily patch custom clients serialization error on api - [#881](#881) [`69913fe`](69913fe) Thanks [@miguelg719](https://github.com/miguelg719)! - Pass sdk version number to API for debugging - [#913](#913) [`b1b83a1`](b1b83a1) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - move iframe out of 'experimental' - [#891](#891) [`be8497c`](be8497c) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - fix: nested iframe xpath bug - [#883](#883) [`98704c9`](98704c9) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - add timeout for JS click - [#907](#907) [`04978bd`](04978bd) Thanks [@seanmcguire12](https://github.com/seanmcguire12)! - store mapping of CDP frame ID -> page ## @browserbasehq/stagehand-evals@1.0.6 ### Patch Changes - Updated dependencies \[[`6b4e6e3`](6b4e6e3), [`e77d018`](e77d018), [`c20adb9`](c20adb9), [`b86df93`](b86df93), [`023c2c2`](023c2c2), [`8c28647`](8c28647), [`87e09c6`](87e09c6), [`a611115`](a611115), [`69913fe`](69913fe), [`b1b83a1`](b1b83a1), [`be8497c`](be8497c), [`98704c9`](98704c9), [`04978bd`](04978bd)]: - @browserbasehq/stagehand@2.4.2 ## @browserbasehq/stagehand-examples@1.0.6 ### Patch Changes - Updated dependencies \[[`6b4e6e3`](6b4e6e3), [`e77d018`](e77d018), [`c20adb9`](c20adb9), [`b86df93`](b86df93), [`023c2c2`](023c2c2), [`8c28647`](8c28647), [`87e09c6`](87e09c6), [`a611115`](a611115), [`69913fe`](69913fe), [`b1b83a1`](b1b83a1), [`be8497c`](be8497c), [`98704c9`](98704c9), [`04978bd`](04978bd)]: - @browserbasehq/stagehand@2.4.2 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
why
iframesparameter without settingexperimental: truewhat changed
iframesis defined andexperimentalis not set totruetest plan
regressionevals