AOSSIE-Org / AOSSIE-Org/Devr.AI

BUG : Repository indexing can get stuck in pending with no recovery path

Aberta
#228 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
102
Forks
137
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### Is there an existing issue for this?

- [x] I have searched the existing issues

### What happened?

## 📌 Issue Overview
While reviewing the repository indexing flow, I noticed that a repository can get permanently stuck in the pending state if the indexing process is interrupted (e.g. backend crash or network failure).

This results in users being blocked from re-indexing the repository, even though no indexing job may actually be running.

## 🎯 Expected Behavior
The user should be able to re-index the repo if the previous indexing is stuck in "pending" state.

## 🚨 Actual Behavior
The indexing flow in RepoService.index_repo() behaves as follows:

1. `status = completed` : Indexing is considered done.

2. `status = pending` :
Backend returns : “Repository indexing in progress. Please wait.”

3. `status = failed` : Backend resets state to pending and re-triggers `/analyze_repo`.

For a new repository :
A database row is inserted with `status = pending` and `/analyze_repo` is called.

If the backend crashes or the request never completes after this point, the repository remains in pending. Any subsequent indexing request will hit case (2) and be blocked indefinitely.

## 💡 Suggested Improvements
Treat pending as a retryable state, similar to failed.

- Allow re-indexing when `status = pending`.
- Reset state to pending.
- Clear any previous error.
- Re-trigger `/analyze_repo`.

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.