Skip to main content

Troubleshooting

Module not initialized

Make sure @quik/communication is registered in your bootstrap module and appears after its dependencies.

send() does nothing

QCommunicationEngine.send is a silent no-op when the channel's enabled flag is false (communication.email.enabled, communication.sms.enabled, or communication.whatsapp.enabled). No error is thrown — check the config value first if messages appear to vanish.

Email engine not registered

The smtp/test email engines are only registered by module setup() if nodemailer resolves as an installed dependency. If it isn't installed, EmailEngineStore.get('smtp') throws EngineNotLoadedError. Install nodemailer, or register a custom engine with EmailEngineStore.add(name, EngineClass).

SMS engine not registered

vonage/twilio SMS engines are only registered if their respective client packages resolve at setup time. Only test is always registered. SMSEngineStore.get(name) throws EngineNotLoadedError for an unregistered name.

Requests keep retrying and eventually fail

send() retries on timeouts and unexpected errors according to communication.<channel>.retry.attempts (delayed by retry.delayMilliseconds * retry.backoffFactor^(attempt-1)). After the last attempt it throws CommunicationProviderError (or lets CommunicationProviderTimeoutError propagate for timeouts). Errors that are already a QTranslatableError (validation-style failures) are not retried.

Common Errors

  • quik.errors.communication.engine-not-loaded: EmailEngineStore/SMSEngineStore/WhatsAppEngineStore.get(name) was called with a name that was never registered.
  • quik.errors.communication.email-no-transport: an email engine attempted to send without a configured transport.
  • quik.errors.communication.provider-failure: the underlying provider call failed after exhausting retries.
  • quik.errors.communication.provider-timeout: the provider call exceeded communication.<channel>.timeoutMilliseconds.
  • quik.errors.communication.whatsapp-missing-config: communication.whatsapp.config.accessToken/phoneNumberIdentifier are not set.
  • quik.errors.communication.whatsapp-send-failed: the Meta WhatsApp API rejected the send request.