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') {
try {
await WebhookManager.registerWebhook();
// Add small delay to allow webhook to propagate
await new Promise(resolve => setTimeout(resolve, 1000));
const isActive = await WebhookManager.verifyWebhook();
if (!isActive) {
console.error('❌ Webhook verification failed');
process.exit(1);
console.error('❌ Webhook verification failed - retrying in 2 seconds...');
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) {
console.error('❌ Failed to setup webhook:', error instanceof Error ? error.message : error);

@ -130,11 +130,19 @@ export class WebhookManager {
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();
return data?.webhook?.enabled === true;
} catch {
const isEnabled = data?.enabled === true;
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;
}
}

Loading…
Cancel
Save