You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge branch 'main' into feat/chatwoot-multi-device
Keep main's ad_jid as migration 35 and renumber Chatwoot
per-device config migrations to 36-42 so upgrades from main
apply both schemas in order.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Or environment variable: `WHATSAPP_WEBHOOK_IGNORE_JIDS=@g.us`
163
+
- Supports the `@g.us` / `@s.whatsapp.net` / `@lid` wildcards (match a whole address space) and exact JIDs.
164
+
- This filters by conversation/sender and is independent of `--webhook-events` (which filters by event type). The Chatwoot integration keeps its own `CHATWOOT_IGNORE_JIDS`.
158
165
-**Webhook TLS Configuration**
159
166
160
167
If you encounter TLS certificate verification errors when using webhooks (e.g., with Cloudflare tunnels or self-signed
@@ -222,8 +229,10 @@ To use environment variables:
222
229
|`WHATSAPP_WEBHOOK_SECRET`| Webhook secret for validation |`secret`|`WHATSAPP_WEBHOOK_SECRET=super-secret-key`|
223
230
|`WHATSAPP_WEBHOOK_INSECURE_SKIP_VERIFY`| Skip TLS verification for webhooks (insecure) |`false`|`WHATSAPP_WEBHOOK_INSECURE_SKIP_VERIFY=true`|
224
231
|`WHATSAPP_WEBHOOK_EVENTS`| Whitelist of events to forward (comma-separated, empty = all) | - |`WHATSAPP_WEBHOOK_EVENTS=message,message.ack`|
232
+
|`WHATSAPP_WEBHOOK_IGNORE_JIDS`| JIDs/wildcards to skip when forwarding (comma-separated) | - |`WHATSAPP_WEBHOOK_IGNORE_JIDS=@g.us`|
| ✅ | Logout Device | POST | /devices/:device_id/logout |
581
590
| ✅ | Reconnect Device | POST | /devices/:device_id/reconnect |
582
591
| ✅ | Get Device Status | GET | /devices/:device_id/status |
@@ -663,7 +672,6 @@ You can fork or edit this source code !
663
672
664
673
-`*User My Groups`: Returns a maximum of 500 groups due to WhatsApp protocol limitation. This is enforced by WhatsApp servers, not this API. See [whatsmeow source](https://github.com/tulir/whatsmeow/blob/main/group.go) for details.
665
674
-`/health` is public and always registered at the root path, even when `APP_BASE_PATH` is set.
666
-
- Device-specific login routes are reserved by the router but not implemented by the current usecase. Use `/app/login` or `/app/login-with-code` with `X-Device-Id` or `device_id` to pair a specific slot.
667
675
- Chatwoot routes are registered only when `CHATWOOT_ENABLED=true`.
`whitelist of events to forward to webhook (empty = all events) --webhook-events <string> | example: --webhook-events="message,message.ack,group.participants"`,
356
372
)
373
+
rootCmd.PersistentFlags().StringSliceVarP(
374
+
&config.WhatsappWebhookIgnoreJids,
375
+
"webhook-ignore-jids", "",
376
+
config.WhatsappWebhookIgnoreJids,
377
+
`comma-separated WhatsApp JIDs (or "@g.us"/"@s.whatsapp.net"/"@lid" wildcards) to skip when forwarding to webhooks --webhook-ignore-jids <list> | example: --webhook-ignore-jids="@g.us,628123456789@s.whatsapp.net"`,
378
+
)
357
379
rootCmd.PersistentFlags().BoolVarP(
358
380
&config.WhatsappAccountValidation,
359
381
"account-validation", "",
@@ -372,6 +394,12 @@ func initFlags() {
372
394
config.WhatsappPresenceOnConnect,
373
395
`presence to send on connect: "available", "unavailable", or "none" --presence-on-connect <string> | example: --presence-on-connect="unavailable"`,
374
396
)
397
+
rootCmd.PersistentFlags().StringVarP(
398
+
&config.WhatsappProxy,
399
+
"whatsapp-proxy", "",
400
+
config.WhatsappProxy,
401
+
`outbound proxy for the WhatsApp WebSocket dialer --whatsapp-proxy <string> | example: --whatsapp-proxy="socks5://user:pass@host:1080"`,
0 commit comments