Skip to content

feat(worklof): make chrome extension install workflow more robust#368

Open
paquito-svg wants to merge 3 commits intomediar-ai:mainfrom
paquito-svg:make-chrome-extension-install-workflow-more-robust
Open

feat(worklof): make chrome extension install workflow more robust#368
paquito-svg wants to merge 3 commits intomediar-ai:mainfrom
paquito-svg:make-chrome-extension-install-workflow-more-robust

Conversation

@paquito-svg
Copy link

/claim #352

Description

This PR makes the install_chrome_extension_ui.yml workflow robust and portable. The original script was fragile and only worked on a specific developer's machine with hardcoded values. This version fixes multiple points of failure and will now run reliably across different user environments (language, machine speed, and Chrome profiles).

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Other:

Video Demo

chrome_extension.mp4

AI Review & Code Quality

  • I asked AI to critique my PR and incorporated feedback
  • I formatted my code properly
  • I tested my changes locally

Checklist

  • Code follows project style guidelines
  • Added video demo (recommended)
  • Updated documentation if needed

Additional Notes

This PR is the result of extensive debugging to fix a fragile workflow.

Key Improvements:

  • Handles Chrome Profile Selector: Automatically detects the "Who's using Chrome?" screen and selects "Guest Mode" / "Modo Invitado" to run in a clean environment. This removes the need for hardcoded profile names.
  • Internationalization (i18n): The script now auto-detects the OS language (English or Spanish) for the file-picker dialog (e.g., "Folder:" vs. "Carpeta:") and uses the correct selectors.
  • Robust Waiting: All fixed delay_ms and sleep() pauses have been replaced with event-driven wait_for_element or JS-based waits (desktop.locator().first()). This makes the script faster on quick machines and more reliable on slow ones.
  • Network Retries: The initial file download will retry 3 times to handle unstable connections.
  • Resilient Navigation: Keeps the "address bar fallback" logic (typing chrome://extensions directly) in case the MapsBrowser tool fails.

@louis030195
Copy link
Contributor

did you remove dev mode toggle?

@tribhuwan-kumar
Copy link
Contributor

@paquito-svg

have you addressed this case?

#352 (comment)

@paquito-svg
Copy link
Author

@louis030195 No, I didn't remove it. The logic to toggle Developer Mode is still present in Step 11 (tool_name: run_command).

Updated video demo

chrome_extension1.mp4

Activate developer mode at 52 seconds

@paquito-svg
Copy link
Author

@tribhuwan-kumar Note on the 'Enhanced ad privacy' popup: I want to be transparent that I could not reproduce this specific popup locally to verify the fix 100%. It appears to require specific profile history conditions that are difficult to force in a clean test environment.

However, I am confident the Guest Mode strategy handles this, as these privacy policy prompts are tied to persistent user profiles and typically do not trigger in stateless Guest sessions.

@tribhuwan-kumar
Copy link
Contributor

@tribhuwan-kumar Note on the 'Enhanced ad privacy' popup: I want to be transparent that I could not reproduce this specific popup locally to verify the fix 100%. It appears to require specific profile history conditions that are difficult to force in a clean test environment.

However, I am confident the Guest Mode strategy handles this, as these privacy policy prompts are tied to persistent user profiles and typically do not trigger in stateless Guest sessions.

its not gonna work then!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants