manage errors
This commit is contained in:
@@ -123,6 +123,7 @@ const GeneratingSong = () => {
|
||||
voice: cfg?.voice,
|
||||
instruments: cfg?.instruments,
|
||||
tempo: cfg?.tempo,
|
||||
projectId: selectedProjectId || selectedProject?.id || null,
|
||||
});
|
||||
const taskId =
|
||||
data?.response?.data?.taskId || data?.response?.data?.task_id;
|
||||
@@ -130,6 +131,7 @@ const GeneratingSong = () => {
|
||||
const baseUpdate = {
|
||||
sunoTaskId: taskId,
|
||||
musicStatus: "GENERATING",
|
||||
musicError: firebase.firestore.FieldValue.delete(),
|
||||
generationStartAt: firebase.firestore.FieldValue.serverTimestamp(),
|
||||
updatedAt: firebase.firestore.FieldValue.serverTimestamp(),
|
||||
};
|
||||
@@ -152,6 +154,42 @@ const GeneratingSong = () => {
|
||||
}
|
||||
} catch (e) {
|
||||
console.log("GeneratingSong error", e?.message);
|
||||
const rawMessage = e?.message || "";
|
||||
const sanitized =
|
||||
typeof rawMessage === "string"
|
||||
? rawMessage.replace(/^INTERNAL:/i, "").trim()
|
||||
: "";
|
||||
const fallbackMessage =
|
||||
e?.details?.message ||
|
||||
e?.details?.status ||
|
||||
"Le service Suno est indisponible. Veuillez réessayer plus tard.";
|
||||
AppAlert(
|
||||
"Impossible de générer la musique",
|
||||
sanitized || fallbackMessage
|
||||
);
|
||||
if (selectedProjectId) {
|
||||
try {
|
||||
await projectsRef.doc(selectedProjectId).set(
|
||||
{
|
||||
musicStatus: "FAILED",
|
||||
sunoTaskId: firebase.firestore.FieldValue.delete(),
|
||||
generationStartAt: firebase.firestore.FieldValue.delete(),
|
||||
updatedAt: firebase.firestore.FieldValue.serverTimestamp(),
|
||||
musicError: {
|
||||
source: "SUNO_API",
|
||||
message: sanitized || fallbackMessage,
|
||||
},
|
||||
},
|
||||
{ merge: true }
|
||||
);
|
||||
} catch (firestoreError) {
|
||||
console.log(
|
||||
"GeneratingSong Firestore update error",
|
||||
firestoreError?.message
|
||||
);
|
||||
}
|
||||
}
|
||||
askedRef.current = false;
|
||||
} finally {
|
||||
await setIsLoading(false);
|
||||
}
|
||||
@@ -181,7 +219,8 @@ const GeneratingSong = () => {
|
||||
status == null ||
|
||||
status === "" ||
|
||||
status === "PENDING" ||
|
||||
status === "READY";
|
||||
status === "READY" ||
|
||||
status === "FAILED";
|
||||
|
||||
if (titleOk && isIdle && !askedRef.current) {
|
||||
askedRef.current = true;
|
||||
|
||||
Reference in New Issue
Block a user