Commit Graph

30 Commits

Author SHA1 Message Date
Baptiste Arnaud
e296c870bc
🐛 Fix WhatsApp webhook verification (#2498)
- Verify Meta WhatsApp webhooks with optional app secrets while
preserving soft compatibility for existing credentials.
- Add optional 360Dialog webhook secret validation and update flows for
existing WhatsApp credentials.
- Validate Meta WABA and phone number access, then auto-subscribe the
Meta app to the WABA during setup.
- Clear and disable WhatsApp integration when the active credentials are
removed, including published bot state.
- Preserve raw webhook request bodies, document preview app secret
configuration, and add focused webhook verification tests.
- Update related tooling, Biome ignore rules, opensrc guidance, and
small formatting/type-safety cleanup.
2026-05-21 16:45:32 +02:00
Baptiste Arnaud
d6bcc26f27
🐛 Fix cross-workspace credential theft via preview endpoint (#2430)
## Summary
- **Fixes
[GHSA-cq66-9cwr-x8jr](https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-cq66-9cwr-x8jr)**
— the previous fix for GHSA-4xc5-wfwc-jw47 was incomplete: the
bot-engine runtime still allowed any authenticated user to exfiltrate
credentials from any workspace via the preview endpoint by passing
`workspaceId: ""`
- Invert the falsy check in `getCredentials()` so that missing or empty
`workspaceId` **denies** access instead of skipping validation
- Add `z.string().min(1)` on the typebot schema's `workspaceId` to
reject empty strings at the Zod validation layer
- Tighten `getGoogleSpreadsheet` param type from `string | undefined` to
`string`

## Test plan
- [x] Typecheck passes on `credentials`, `bot-engine`, `whatsapp`
- [x] All tests pass (lint, bot-engine, whatsapp, results, lib,
rich-text, emails, builder)
- [ ] Verify that preview mode still works correctly with valid
workspaceId
- [ ] Verify that forged blocks, Google Sheets, and streaming endpoints
still load credentials for legitimate users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:21:17 +02:00
Baptiste Arnaud
acd2f2971b
🔧 Remove "baseUrl": "." from tsconfigs 2026-03-25 16:40:12 +01:00
Baptiste Arnaud
a9b2af116d
🐛 Fix code scanning findings 2026-03-19 10:21:03 +01:00
Baptiste Arnaud
c2b251c7e5
♻️ Migrate to NX (#2418) 2026-03-18 15:29:32 +00:00
Baptiste Arnaud
14ec3a2598
🔧 Enable PR2 Biome rules and mechanical autofixes 2026-03-13 11:46:28 +01:00
Baptiste Arnaud
5e0de89911
🔧 Add forward WA errors and campaign statuses option 2026-02-11 16:46:35 +01:00
Baptiste Arnaud
80db9565cd
♻️ Upgrade to Zod v4 (#2355) 2026-01-19 10:51:20 +01:00
Baptiste Arnaud
69efa2f3c9
🚑️ Fix app router automatically adding transfer-encoding: chunked header to backend requests
Fixes #2336
2026-01-11 21:47:24 +01:00
Baptiste Arnaud
dd82c4d318
♻️ Migrate to Bun test 2025-11-27 12:08:31 +01:00
Baptiste Arnaud
9688a297ad
🔧 Revert to carret version pinning 2025-10-03 10:51:27 +02:00
Baptiste Arnaud
278dd37016
🚸 Improve spreadsheet error management 2025-09-30 11:14:46 +02:00
Baptiste Arnaud
b1f030be19
♻️ Re-use MoreInfoTooltip for lp and builder 2025-09-17 15:04:01 +02:00
Baptiste Arnaud
2b6964d1a8
🐛 Fix potential invalid_grant error for google sheet credentials refresh 2025-09-17 11:09:59 +02:00
Baptiste Arnaud
afdcde79c8
🔧 Add support for http requests proxy 2025-09-03 18:28:00 +02:00
Baptiste Arnaud
43328f4844
Add 360Dialog provider
Behind feature flag

Closes #925
2025-08-06 15:59:24 +02:00
Baptiste Arnaud
77eb695f00
🐛 Fix gmail add label 2025-07-22 16:34:28 +02:00
Baptiste Arnaud
f33d3b224d
🚑️ Fix Google Sheet authentication not refreshing 2025-07-22 10:58:37 +02:00
Baptiste Arnaud
40884d5df9
Add Gmail block (#2253)
Some checks failed
Create Tag / create-tag (push) Has been cancelled
Deploy Partykit server / deploy (push) Has been cancelled
2025-07-21 16:13:42 +02:00
Baptiste Arnaud
e98c7c2087
💚 Fix getCredentials incompatible with legacy viewer API 2025-03-03 13:16:34 +01:00
Baptiste Arnaud
8d86535e42
🔥 Remove workspaceId optionnality in chat session state 2025-03-03 10:53:50 +01:00
Baptiste Arnaud
27366dde5a
💚 Add missing packages and clean up unused packages 2025-02-04 11:39:17 +01:00
Baptiste Arnaud
24ac865f17
🚸 Move group title generation feature to user preferences
Introduces user credentials. We now have 2 credentials scopes: workspace and user
2025-02-04 09:58:53 +01:00
Baptiste Arnaud
aae6caaa0a
Revert "build: add ts references for better DX"
This reverts commit b8ffad0159.
2025-01-29 17:44:06 +01:00
Baptiste Arnaud
a03f26b7fc
🔊 improve remove workspaceId log specificity 2025-01-26 09:53:24 +01:00
Baptiste Arnaud
0acb655f33
feat: add workspaceId in session state for credentialsId check 2025-01-25 17:42:10 +01:00
Baptiste Arnaud
61615d8bd6
refactor: centralize credentials in credentials package 2025-01-25 17:32:26 +01:00
Baptiste Arnaud
d97913ac15
refactor: move encryption functions to credentials package 2025-01-25 16:01:48 +01:00
Baptiste Arnaud
b8ffad0159
build: add ts references for better DX 2025-01-25 14:57:01 +01:00
Baptiste Arnaud
10750f54d1
♻️ Use bun, biome, better ts config, new license and remove all barrel files (#1801)
Closes [#1754](https://github.com/baptisteArno/typebot.io/issues/1754)
2024-09-25 14:50:13 +02:00