chore: enable verbose error logging on experiment calculations to reveal silent production errors

This commit is contained in:
Christian Vidal Wolf
2026-02-21 21:56:35 +01:00
parent 9259129f95
commit 58cc863748
3 changed files with 23 additions and 10 deletions
+1
View File
@@ -85,6 +85,7 @@ export default async function handler(req: VercelRequest, res: VercelResponse) {
if (req.method === 'PUT') {
const { id } = req.query;
const updates = req.body;
console.log('Update payload for id', id, ':', updates);
const { data, error } = await supabase
.from('experiments')
+3
View File
@@ -55,9 +55,12 @@ const ExperimentDetail: React.FC<ExperimentDetailProps> = ({ experimentId, onClo
setLoading(true);
try {
const perf = await calculateExperimentPerformance(experiment, salesData);
console.log('Calculation yielded performance delta payload:', perf);
const updated = await updateExperiment(experiment.id, perf);
console.log('Update return from backend:', updated);
setExperiment(updated);
} catch (e: any) {
console.error('Full calculation error:', e);
alert(`Error calculating results: ${e.message}`);
} finally {
setLoading(false);
+11 -2
View File
@@ -59,6 +59,7 @@ export const updateExperiment = async (
id: string,
updates: Partial<Experiment>
): Promise<Experiment> => {
try {
const response = await fetch(`${API_BASE}?id=${id}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
@@ -66,11 +67,19 @@ export const updateExperiment = async (
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'Failed to update experiment');
let errText = await response.text();
try {
const errJson = JSON.parse(errText);
errText = errJson.error || errText;
} catch (e) { }
throw new Error(errText);
}
return response.json();
} catch (err: any) {
console.error('API Error in updateExperiment:', err);
throw err;
}
};
export const deleteExperiment = async (id: string): Promise<void> => {