Skip to content

Conversation

@chaitanyamedidar
Copy link

Status Report: Issue #517 & Local Development Setup

1. Completed Changes

I have successfully refactored the codebase to consolidate repo_name and repo_path into a single repository_identifier, allowing the system to intelligently distinguish between local paths and remote GitHub repositories.

Backend Changes

  • New Component: I created the RepoResolver class (app/modules/parsing/graph_construction/repo_resolver.py) to handle repository identification logic.
  • Schema Updates: I updated ParsingRequest in parsing_schema.py to replace repo_name/repo_path with repository_identifier.
  • Controller Layer: I updated ParsingController to use RepoResolver for early validation and resolution of repository details.
  • Service Layer: I refactored ParsingService and ParseHelper to work with the new RepoDetails object, streamlining the logic for local vs. remote cloning.
  • Task Layer: I updated Celery tasks to correctly reconstruct RepoDetails from serialized data.
  • Database Layer: I updated ProjectService to handle optional fields and ensure correct type handling (string vs int for project IDs).

Frontend Changes

  • Service Update: I updated BranchAndRepositoryService.ts to send the new repository_identifier payload to the backend.

Bug Fixes

  • Auth Service: I identified and fixed a conflicting decorator issue in auth_service.py (removed @classmethod from check_auth which was causing startup errors).
  • Type Safety: I resolved multiple type mismatch errors (AsyncSession vs Session, str vs int) throughout the parsing module.

2. Current Status & Known Issues

The core refactoring is complete and the backend server starts successfully. However, I am currently facing issues with the local development experience when trying to select a repository in the UI.

Active Issues

  1. Repository Selection Error:

    • Symptom: "Internal Server Error" when opening the repository dropdown in the UI.
    • Cause: The /api/v1/github/user-repos endpoint attempts to authenticate with GitHub. In my local environment (without a GitHub token), this raises an exception, causing the 500 error.
    • Impact: I cannot see the list of repositories or easily input a local path.
  2. Local Path Input:

    • Symptom: The UI dropdown is designed for selecting from a list, not typing a custom local path.
    • Requirement: I need to enable "custom input" in the dropdown so I can type D:\Webdev\Open Source\potpie directly.

3. Work in Progress / Next Steps

To fully resolve the local setup and allow me to test the parsing feature, I need to address the environment and UI limitations:

  1. Fix Repository Listing Endpoint:

    • Modify github_router.py to gracefully handle authentication failures in development mode. Instead of crashing, it should return a default/empty list or demo repos.
  2. Enable Custom Path Input in UI:

    • Update AgentCreationChatPanel.tsx to allow users to type a custom string (local path) and select it, bypassing the requirement for it to exist in the GitHub list.
  3. Environment Configuration:

    • Verify if CODE_PROVIDER_TOKEN or GH_TOKEN_LIST can be added to .env to enable actual GitHub connectivity if desired, though the local path fix (step 2) is the priority for my use case.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 11, 2025

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link

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.

2 participants