case-create: surface Gitea repo result + UI retry button
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m29s
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m29s
The auto-creation in case_create had two failure modes that combined to
make repos silently missing: a stale GITEA_TOKEN returning 401, and the
outer try/except in case_create that swallowed every exception with a
bare pass. Result: cases like 8174-24 ended up with a local git repo and
Paperclip project but no Gitea repo, with no signal anywhere.
_setup_gitea_remote now returns {ok, url, error} and never raises; the
result is attached to the case JSON and the FastAPI endpoint logs a
warning when ok=false. The UI gets a "צור ריפו ב-Gitea" button on the
case header that appears only when the repo or remote is missing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -217,6 +217,30 @@ export function useGitStatus(caseNumber: string | undefined) {
|
||||
});
|
||||
}
|
||||
|
||||
export type CreateGiteaRepoResult = {
|
||||
repo_url: string;
|
||||
clone_url: string;
|
||||
pushed: boolean;
|
||||
};
|
||||
|
||||
export function useCreateGiteaRepo(caseNumber: string | undefined) {
|
||||
const qc = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: (input: { title: string; description?: string }) =>
|
||||
apiRequest<CreateGiteaRepoResult>(`/api/integrations/gitea/create-repo`, {
|
||||
method: "POST",
|
||||
body: {
|
||||
case_number: caseNumber,
|
||||
title: input.title,
|
||||
description: input.description ?? "",
|
||||
},
|
||||
}),
|
||||
onSuccess: () => {
|
||||
qc.invalidateQueries({ queryKey: [...casesKeys.all, "git-status", caseNumber ?? ""] });
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export type StartWorkflowResult = {
|
||||
case_number: string;
|
||||
status: string;
|
||||
|
||||
Reference in New Issue
Block a user