Skip to content

Conversation

@jcpage573
Copy link
Contributor

@jcpage573 jcpage573 commented Dec 9, 2025

Important

Add atomic metadata operations, enhance task listing by container, and fix route plan functionalities across multiple services.

  • Metadata Operations:
    • Add MetadataSet and MetadataPop functions to client.go in service/admin, service/destination, service/recipient, service/task, and service/worker for atomic metadata operations.
    • Implement tests for MetadataSet and MetadataPop in client_test.go for admin, destination, recipient, task, and worker.
  • Task Listing:
    • Modify List function in service/task/client.go to support filtering by state and containers.
    • Update TaskListQueryParams in task.go to include state and containers fields.
    • Add tests for filtering tasks by state and containers in service/task/client_test.go.
  • Route Plan:
    • Remove RoutePlansPaginated struct from routePlan.go.
    • Update List function in service/routePlan/client.go to return a slice of RoutePlan instead of RoutePlansPaginated.
    • Adjust tests in service/routePlan/client_test.go to reflect changes in List function.

This description was created by Ellipsis for 5c5f722. You can customize this summary. It will automatically update as commits are pushed.

@ellipsis-dev
Copy link

ellipsis-dev bot commented Dec 9, 2025

⚠️ This PR modifies application logic but lacks adequate unit test coverage. Please ensure all new logic is tested.

This pull request introduces several new methods across multiple service files:

  • MetadataSet and MetadataPop methods in: service/admin/client.go, service/destination/client.go, service/recipient/client.go, service/task/client.go, and service/worker/client.go
  • Updated API methods in service/routePlan/client.go (AddTasks and List)
  • New filtering and field changes in task.go

These changes affect application logic and should be accompanied by unit tests to verify:

  1. Metadata operations (Set and Pop) work correctly
  2. Route plan methods function as expected with the API changes
  3. Task filtering by state and container works properly

Please add corresponding unit tests to cover these changes.

Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to d6d744d in 2 minutes and 26 seconds. Click for details.
  • Reviewed 319 lines of code in 7 files
  • Skipped 0 files when reviewing.
  • Skipped posting 4 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. service/routePlan/client.go:90
  • Draft comment:
    List() now returns a slice of RoutePlan instead of a paginated struct. Please confirm this aligns with the API design and that pagination (e.g. handling of 'lastId') is no longer needed.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to confirm their intention regarding a change in the API design, specifically about pagination. This violates the rule against asking the author to confirm their intention or to ensure behavior is intended.
2. service/routePlan/client.go:59
  • Draft comment:
    AddTasks() now appends "tasks" to the URL path—verify that this change correctly reflects the intended API endpoint.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
3. task.go:271
  • Draft comment:
    TaskListQueryParams has been updated: 'Dependencies' changed from []string to string, and new fields 'State' and 'Containers' were added. Confirm these changes match API expectations and client usage.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
4. service/admin/client.go:105
  • Draft comment:
    MetadataSet and MetadataPop methods are added across multiple client files with similar implementations. Consider refactoring common metadata operations into a shared helper to reduce code duplication.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% The comment is about cross-file duplication, suggesting that similar metadata operations exist in multiple client files. However, the rules explicitly state "Ignore cross-file issues. Only think about the file you are reviewing." This is a cross-file refactoring suggestion that would require looking at other files to validate and implement. Within this single file, the two methods (MetadataSet and MetadataPop) are different enough (one uses "$set" with metadata, the other uses "$pop" with names) that extracting a helper might not provide significant value. The comment violates the rule about cross-file issues. While code duplication is generally a valid concern, I might be too quick to dismiss this. If the pattern is truly repeated across multiple files, it could be a legitimate architectural issue worth addressing. However, without seeing the other files, I cannot verify the claim. The rules are explicit: "Ignore cross-file issues. Only think about the file you are reviewing." Even if this is a legitimate concern, it requires context from other files that aren't in the diff. The reviewer cannot make an informed decision about whether this refactoring is worthwhile without seeing those other files, and the comment doesn't provide enough specific guidance to be actionable. This comment should be deleted because it addresses a cross-file issue, which violates the explicit rule to only comment on the file being reviewed. The suggestion requires examining other client files to validate and implement, making it not actionable based solely on this diff.

Workflow ID: wflow_3Uf9yi3RXW9nBi4q

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@jcpage573 jcpage573 marked this pull request as draft December 17, 2025 19:55
…ts a full metadata object or just 'name' so I am just passing a list of names.
…orrect url in testing and fixed route plan list test.
@jcpage573 jcpage573 marked this pull request as ready for review December 17, 2025 20:39
@ellipsis-dev
Copy link

ellipsis-dev bot commented Dec 17, 2025

⚠️ This PR modifies application logic but lacks adequate unit test coverage. Please ensure all new logic is tested.

This PR adds several new functions (MetadataSet, MetadataPop) and modifies existing logic (task listing by container, route plan fixes) across multiple service files. While I can see that test files have been updated in some cases (e.g., service/admin/client_test.go, service/task/client_test.go), please verify that:

  1. All new MetadataSet and MetadataPop functions have corresponding unit tests
  2. The new containers field in TaskListQueryParams is tested
  3. The route plan List function fix has adequate test coverage

This ensures the new logic works correctly and continues to work as expected in the future.

Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to 5c5f722 in 55 seconds. Click for details.
  • Reviewed 1620 lines of code in 14 files
  • Skipped 0 files when reviewing.
  • Skipped posting 3 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. task.go:138
  • Draft comment:
    Consider documenting the use of the 'any' type in TaskParams (for Destination and Recipients). Using 'any' here reduces type‐safety. Clarify valid types (e.g. string ID vs. full object) to improve maintainability.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. task.go:39
  • Draft comment:
    Check consistency of JSON tag naming for tracking fields. 'TrackingUrl' is tagged as 'trackingURL' while 'TrackingViewed' uses lowercase. Ensure these match the API spec and use consistent naming conventions.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
3. task.go:271
  • Draft comment:
    Consider adding comments or more explicit type definitions for fields with complex behavior (e.g., TaskBatchCreateResponseAsync, TaskBatchStatusResponseAsync). This helps future developers understand the expected API behavior.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50% None

Workflow ID: wflow_wW5VuTL99kdNv1Ch

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant