Skip to content

Conversation

@arjav1528
Copy link

Description

Problem

Tasks could form circular dependencies (e.g., A → B → C → A), making them impossible to complete.

Solution

  • Added circular dependency detection utility using DFS algorithm
  • Integrated validation in EditTaskHandler to check dependencies before allowing edits
  • Added comprehensive tests for all edge cases

Changes

  • backend/utils/validation.go: Added DetectCircularDependency function
  • backend/controllers/edit_task.go: Added validation before task edits
  • backend/utils/utils_test.go: Added test coverage

Fixes the issue where circular dependencies could be created without validation.

Checklist

  • Ran npx prettier --write . (for formatting)
  • Ran gofmt -w . (for Go backend)
  • Ran npm test (for JS/TS testing)
  • Added unit tests, if applicable
  • Verified all tests pass
  • Updated documentation, if needed

@github-actions
Copy link

Thank you for opening this PR!

Before a maintainer takes a look, it would be really helpful if you could walk through your changes using GitHub's review tools.

Please take a moment to:

  • Check the "Files changed" tab
  • Leave comments on any lines for functions, comments, etc. that are important, non-obvious, or may need attention
  • Clarify decisions you made or areas you might be unsure about and/or any future updates being considered.
  • Finally, submit all the comments!

More information on how to conduct a self review:
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request

This helps make the review process smoother and gives us a clearer understanding of your thought process.

Once you've added your self-review, we'll continue from our side. Thank you!

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.

Circular dependency in task dependencies

1 participant