diff --git a/app/client/modules/repositories/tabs/info.tsx b/app/client/modules/repositories/tabs/info.tsx index bd198ea8..ac56cbd7 100644 --- a/app/client/modules/repositories/tabs/info.tsx +++ b/app/client/modules/repositories/tabs/info.tsx @@ -87,7 +87,7 @@ export const RepositoryInfoTabContent = ({ repository }: Props) => {
Unique identifier for the repository.
{new Date(repository.createdAt * 1000).toLocaleString()}
+{new Date(repository.createdAt).toLocaleString()}
{repository.lastChecked ? new Date(repository.lastChecked).toLocaleString() : "Never"}
diff --git a/app/server/modules/repositories/repositories.service.ts b/app/server/modules/repositories/repositories.service.ts index 00bc8cf5..6af84fd9 100644 --- a/app/server/modules/repositories/repositories.service.ts +++ b/app/server/modules/repositories/repositories.service.ts @@ -360,23 +360,31 @@ const doctorRepository = async (name: string) => { error: recheckResult.error, }); } + } catch (error) { + steps.push({ + step: "unexpected_error", + success: false, + output: null, + error: toMessage(error), + }); } finally { releaseLock(); } - const allSuccessful = steps.every((s) => s.success); + const doctorSucceeded = steps.every((step) => step.success); + const doctorError = steps.find((step) => step.error)?.error ?? null; await db .update(repositoriesTable) .set({ - status: allSuccessful ? "healthy" : "error", + status: doctorSucceeded ? "healthy" : "error", lastChecked: Date.now(), - lastError: allSuccessful ? null : steps.find((s) => !s.success)?.error, + lastError: doctorError, }) .where(eq(repositoriesTable.id, repository.id)); return { - success: allSuccessful, + success: doctorSucceeded, steps, }; };