iachat/spec/services/whatsapp
Gabriel Jablonski 8cf6e8907f
release v4.12.0-fazer-ai.47 (#259)
* fix(whatsapp): add idempotent message sending to prevent duplicates on timeout retry

When sending media messages via Baileys, Net::ReadTimeout causes Sidekiq to
retry the job, potentially sending the same message multiple times. This adds
a chatwootMessageId parameter to the Baileys API request, enabling server-side
deduplication via Redis. Also increases HTTP timeout to 120s and channel lock
to 130s to reduce false timeouts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: address review feedback

- Use error.class.name assertions for parallel/reloading safety
- Assert reconnect endpoint was not called on 409 (stronger assertion)

* fix: address review feedback (round 2)

- Only release channel lock in ensure if it was actually acquired (prevents
  clearing another worker's lock on timeout)
- Assert chatwootMessageId in reproduction spec body matcher

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 20:52:26 -03:00
..
baileys_handlers fix(whatsapp): resolve phone_number conflict when converting inbox between providers (#252) 2026-04-01 16:51:38 -03:00
providers release v4.12.0-fazer-ai.47 (#259) 2026-04-08 20:52:26 -03:00
zapi_handlers fix(whatsapp): resolve phone_number conflict when converting inbox between providers (#252) 2026-04-01 16:51:38 -03:00
channel_creation_service_spec.rb Chore/merge upstream 4.8.0 (#150) 2025-11-19 16:25:58 -03:00
contact_inbox_consolidation_service_spec.rb fix(whatsapp): resolve phone_number conflict when converting inbox between providers (#252) 2026-04-01 16:51:38 -03:00
csat_template_service_spec.rb Merge branch 'main' into chore/merge-upstream-4.12.0 2026-03-19 23:24:55 -03:00
embedded_signup_service_spec.rb feat: Add WhatsApp health monitoring and self-service registration completion (#12556) 2025-10-02 11:25:48 +05:30
facebook_api_client_spec.rb fix: Subscribe app to WABA before overriding webhook callback URL (#13279) 2026-02-02 16:50:35 +05:30
incoming_message_baileys_service_spec.rb feat: group conversations (#228) 2026-03-19 21:56:58 -03:00
incoming_message_service_spec.rb Merge branch 'main' into chore/merge-upstream-4.11.0 2026-02-17 23:05:26 -03:00
incoming_message_whatsapp_cloud_service_spec.rb release v4.12.0-fazer-ai.44 (#253) 2026-04-03 12:03:12 -03:00
incoming_message_zapi_service_spec.rb feat(zapi): handle contact messages and ignore notifications (#124) 2025-10-26 10:48:06 -03:00
message_dedup_lock_spec.rb fix: duplicate message_created webhooks for WhatsApp messages (#13523) 2026-02-17 14:01:10 +05:30
oneoff_campaign_service_spec.rb Merge branch 'main' into chore/merge-upstream-4.5.0 2025-08-20 11:20:31 -03:00
phone_info_service_spec.rb feat: Whatsapp embedded signup (#11612) 2025-07-14 21:37:06 -07:00
populate_template_parameters_service_spec.rb fix: Normalize URLs with spaces in WhatsApp template parameters (#12594) 2025-10-08 15:33:06 +05:30
send_on_whatsapp_service_spec.rb release v4.12.0-fazer-ai.47 (#259) 2026-04-08 20:52:26 -03:00
template_parameter_converter_service_spec.rb fix: Handle nil processed_params for WhatsApp templates without params (#12177) 2025-08-12 22:56:53 +05:30
token_exchange_service_spec.rb feat: Whatsapp embedded signup (#11612) 2025-07-14 21:37:06 -07:00
token_validation_service_spec.rb feat: Whatsapp embedded signup (#11612) 2025-07-14 21:37:06 -07:00
webhook_setup_service_spec.rb fix: Setup webhooks for manual WhatsApp Cloud channel creation (#13278) 2026-01-19 14:12:36 +04:00
webhook_teardown_service_spec.rb feat: add reauth flow for wa embedded signup (#11940) 2025-08-08 01:48:45 +05:30