-
Notifications
You must be signed in to change notification settings - Fork 837
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
UrlBlock - a block to navigate to a url #1461
Conversation
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.
❌ Changes requested. Reviewed everything up to cb50d97 in 1 minute and 59 seconds
More details
- Looked at
137
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_jVv8fXYlRQqHsmqE
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
block_type: Literal[BlockType.GOTO_URL] = BlockType.GOTO_URL | ||
url: str | ||
|
||
async def execute( |
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.
Consider using prepend_scheme_and_validate_url
to validate the URL before navigation to ensure it is well-formed.
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.
👍 Looks good to me! Incremental review on a891ee3 in 35 seconds
More details
- Looked at
89
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. skyvern/forge/sdk/workflow/models/block.py:1809
- Draft comment:
TheUrlBlock
class is missing theexecute
method, which is necessary for its functionality. The PR description mentions implementing theexecute()
method, but it is not present in the code. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable:
The comment is incorrect. The UrlBlock is inheriting from BaseTaskBlock which already has an execute() implementation. This is actually a refactoring to remove duplicate code by reusing the BaseTaskBlock's execute() method. The PR is making the code better by reducing duplication.
Could there be a reason why UrlBlock needed its own custom execute() implementation that's being lost in this change?
Looking at the old execute() implementation, it was doing the same basic task handling and browser management that BaseTaskBlock does. There's no special functionality being lost - this is a clean refactoring.
The comment is incorrect and should be deleted. The execute() method isn't missing - it's intentionally inheriting the implementation from BaseTaskBlock as part of a good refactoring.
Workflow ID: wflow_PWcIcdcziyFUIBmo
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
a891ee3
to
ca18f3e
Compare
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.
👍 Looks good to me! Incremental review on ca18f3e in 37 seconds
More details
- Looked at
114
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. skyvern/forge/sdk/workflow/models/block.py:1805
- Draft comment:
TheUrlBlock
class is missing anexecute
method. This method is essential for the block to perform its intended function of navigating to a URL. Please reintroduce theexecute
method with the necessary logic. - Reason this comment was not posted:
Decided after close inspection that this draft comment was likely wrong and/or not actionable:
The comment suggests adding back the execute method, but this would be incorrect. The change to inherit from BaseTaskBlock is intentional and good - it reuses the common task execution logic. The old execute method was duplicating functionality that already exists in BaseTaskBlock. The comment shows a misunderstanding of the codebase architecture.
Could there be some special URL handling logic in the old execute method that was important to preserve? Could this change break existing functionality?
Looking at the old execute method, it was just doing basic URL navigation which BaseTaskBlock already handles. There's no special logic being lost. The change actually reduces code duplication and improves maintainability.
The comment should be deleted. The change to inherit from BaseTaskBlock is correct and the execute method is not missing - it's properly inherited from BaseTaskBlock.
Workflow ID: wflow_11DOrfYfdBAFjs9s
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Important
Add
UrlBlock
andUrlBlockYAML
for URL navigation in workflows with YAML configuration support.UrlBlock
class inblock.py
for URL navigation in workflows.execute()
method inUrlBlock
for URL navigation and error handling.UrlBlockYAML
class inyaml.py
for YAML configuration ofUrlBlock
.BLOCK_YAML_SUBCLASSES
andBLOCK_YAML_TYPES
to includeUrlBlockYAML
.This description was created by for ca18f3e. It will automatically update as commits are pushed.