fix: improve webhook verification with retries and better error handling

main
borja (aider) 3 months ago
parent abb3decd40
commit 7003e50a41

@ -121,10 +121,17 @@ export class WebhookServer {
if (process.env.NODE_ENV !== 'test') { if (process.env.NODE_ENV !== 'test') {
try { try {
await WebhookManager.registerWebhook(); await WebhookManager.registerWebhook();
// Add small delay to allow webhook to propagate
await new Promise(resolve => setTimeout(resolve, 1000));
const isActive = await WebhookManager.verifyWebhook(); const isActive = await WebhookManager.verifyWebhook();
if (!isActive) { if (!isActive) {
console.error('❌ Webhook verification failed'); console.error('❌ Webhook verification failed - retrying in 2 seconds...');
process.exit(1); await new Promise(resolve => setTimeout(resolve, 2000));
const isActiveRetry = await WebhookManager.verifyWebhook();
if (!isActiveRetry) {
console.error('❌ Webhook verification failed after retry');
process.exit(1);
}
} }
} catch (error) { } catch (error) {
console.error('❌ Failed to setup webhook:', error instanceof Error ? error.message : error); console.error('❌ Failed to setup webhook:', error instanceof Error ? error.message : error);

@ -130,11 +130,19 @@ export class WebhookManager {
headers: this.getHeaders(), headers: this.getHeaders(),
}); });
if (!response.ok) return false; if (!response.ok) {
console.error('Webhook verification failed:', response.status, response.statusText);
return false;
}
const data = await response.json(); const data = await response.json();
return data?.webhook?.enabled === true; const isEnabled = data?.enabled === true;
} catch { if (!isEnabled) {
console.error('Webhook not enabled in verification response:', data);
}
return isEnabled;
} catch (error) {
console.error('Webhook verification error:', error instanceof Error ? error.message : error);
return false; return false;
} }
} }

Loading…
Cancel
Save