fix bugs and report better errors

This commit is contained in:
tdurieux
2026-05-06 17:26:47 +03:00
parent 3b27816702
commit 6bad6c2f09
2 changed files with 11 additions and 2 deletions
+4 -2
View File
@@ -84,8 +84,9 @@ export default async function (job: SandboxedJob<RepoJobData, void>) {
} catch { /* ignored */ }
}
logger.error("finished with error", {
...serializeError(error),
repoId: job.data.repoId,
err: serializeError(error),
url: `/api/repo/${job.data.repoId}`,
});
try {
await repo.updateStatus(
@@ -94,8 +95,9 @@ export default async function (job: SandboxedJob<RepoJobData, void>) {
);
} catch (persistError) {
logger.error("failed to persist ERROR status", {
...serializeError(persistError),
repoId: job.data.repoId,
err: serializeError(persistError),
url: `/api/repo/${job.data.repoId}`,
});
}
throw error;
+7
View File
@@ -304,6 +304,7 @@ router.get("/:repoId/", async (req: express.Request, res: express.Response) => {
function validateNewRepo(repoUpdate: any): void {
const validCharacters = /^[0-9a-zA-Z\-_]+$/;
if (
typeof repoUpdate.repoId !== "string" ||
!repoUpdate.repoId.match(validCharacters) ||
repoUpdate.repoId.length < 3
) {
@@ -312,6 +313,12 @@ function validateNewRepo(repoUpdate: any): void {
httpStatus: 400,
});
}
if (!repoUpdate.source) {
throw new AnonymousError("source_not_provided", {
object: repoUpdate,
httpStatus: 400,
});
}
if (!repoUpdate.source.branch) {
throw new AnonymousError("branch_not_specified", {
object: repoUpdate,