Add feature flag to skip screenshot annotations (#3932)
This commit is contained in:
@@ -1697,6 +1697,43 @@ class ForgeAgent:
|
|||||||
|
|
||||||
return actions
|
return actions
|
||||||
|
|
||||||
|
async def _should_skip_screenshot_annotations(self, task: Task, draw_boxes: bool) -> bool:
|
||||||
|
"""
|
||||||
|
Check PostHog feature flag to determine if screenshot annotations should be skipped.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
task: The task being executed
|
||||||
|
draw_boxes: Current value indicating if boxes should be drawn
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
bool: True if annotations should be drawn, False if they should be skipped
|
||||||
|
"""
|
||||||
|
if not draw_boxes: # Only check if we were going to draw boxes
|
||||||
|
return draw_boxes
|
||||||
|
|
||||||
|
try:
|
||||||
|
distinct_id = task.workflow_run_id if task.workflow_run_id else task.task_id
|
||||||
|
skip_annotations = await app.EXPERIMENTATION_PROVIDER.is_feature_enabled_cached(
|
||||||
|
"SKIP_SCREENSHOT_ANNOTATIONS",
|
||||||
|
distinct_id,
|
||||||
|
properties={"organization_id": task.organization_id},
|
||||||
|
)
|
||||||
|
if skip_annotations:
|
||||||
|
LOG.info(
|
||||||
|
"Skipping screenshot annotations per SKIP_SCREENSHOT_ANNOTATIONS feature flag",
|
||||||
|
task_id=task.task_id,
|
||||||
|
workflow_run_id=task.workflow_run_id,
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
except Exception:
|
||||||
|
LOG.warning(
|
||||||
|
"Failed to check SKIP_SCREENSHOT_ANNOTATIONS feature flag, using default behavior",
|
||||||
|
task_id=task.task_id,
|
||||||
|
exc_info=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
return draw_boxes
|
||||||
|
|
||||||
async def _pre_scrape_for_next_step(
|
async def _pre_scrape_for_next_step(
|
||||||
self,
|
self,
|
||||||
task: Task,
|
task: Task,
|
||||||
@@ -1717,6 +1754,9 @@ class ForgeAgent:
|
|||||||
draw_boxes = False
|
draw_boxes = False
|
||||||
scroll = False
|
scroll = False
|
||||||
|
|
||||||
|
# Check PostHog feature flag to skip screenshot annotations
|
||||||
|
draw_boxes = await self._should_skip_screenshot_annotations(task, draw_boxes)
|
||||||
|
|
||||||
scraped_page = await scrape_website(
|
scraped_page = await scrape_website(
|
||||||
browser_state,
|
browser_state,
|
||||||
task.url,
|
task.url,
|
||||||
@@ -1977,6 +2017,10 @@ class ForgeAgent:
|
|||||||
max_screenshot_number = 1
|
max_screenshot_number = 1
|
||||||
draw_boxes = False
|
draw_boxes = False
|
||||||
scroll = False
|
scroll = False
|
||||||
|
|
||||||
|
# Check PostHog feature flag to skip screenshot annotations
|
||||||
|
draw_boxes = await self._should_skip_screenshot_annotations(task, draw_boxes)
|
||||||
|
|
||||||
return await scrape_website(
|
return await scrape_website(
|
||||||
browser_state,
|
browser_state,
|
||||||
task.url,
|
task.url,
|
||||||
|
|||||||
Reference in New Issue
Block a user