KM Koushik
e246d32ef9
fix: prevent duplicate notification emails via atomic Redis SET NX ( #346 )
...
The warning and limit-reached notification emails were being sent
multiple times because of a race condition: concurrent workers could
both read the Redis cooldown key as empty (GET), both send emails,
then both set the key (SETEX). Replaced the non-atomic GET + SETEX
pattern with a single atomic SET ... NX EX that claims the cooldown
slot before any emails are sent. Also increased cooldown from 6 hours
to 24 hours so each notification is sent at most once per day.
https://claude.ai/code/session_01VBYXi5e64Vtq1cXWsfTYTw
Co-authored-by: Claude <noreply@anthropic.com >
2026-02-01 07:24:02 +11:00
KM Koushik
1b3b8f5751
fix: add repository field for npm provenance
2026-01-18 22:08:26 +11:00
KM Koushik
4c4d150dba
fix: configure npm OIDC trusted publishing correctly
2026-01-18 22:03:24 +11:00
KM Koushik
b3b7bddafb
Change publish command from pnpm to npm
2026-01-18 21:56:01 +11:00
KM Koushik
b0575ea9fc
Update release workflow with OIDC permissions
...
Added permissions for OIDC and updated job steps.
2026-01-18 21:54:08 +11:00
KM Koushik
eed37d09c6
fix build
2026-01-18 21:44:25 +11:00
KM Koushik
d3b6ba7c0a
fix: add tsup config for SDK and bump version to 1.6.0 ( #343 )
2026-01-18 21:04:43 +11:00
KM Koushik
8676965019
feat: add webhooks ( #334 )
2026-01-18 20:50:54 +11:00
KM Koushik
f40a311cc9
fix: enforce contact book ownership ( #341 )
2026-01-17 18:08:05 +11:00
Dave Stockley
6786ff003e
feat: contact books public api ( #336 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-01-17 17:24:25 +11:00
Thiago Praxedes
83119f97c8
Refine suppression list to include only affected recipients ( #339 )
2026-01-17 17:00:43 +11:00
Dave Stockley
68d951c55a
feat: v1/campaign public api endpoint ( #335 )
...
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-11 09:37:57 +11:00
KM Koushik
bba9e937bb
fix seg fault ( #329 )
2025-12-30 07:45:34 +11:00
KM Koushik
95dfa6b532
Upgrade Next.js to 15.5.9 ( #326 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-18 06:48:24 +11:00
KM Koushik
bef580ff92
use turbo in dev mode ( #321 )
2025-12-14 20:29:53 +11:00
KM Koushik
11b5ac1bf7
Fix bar chart hover on zero delivery days ( #320 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-14 10:27:28 +11:00
KM Koushik
1e79f13bd4
add export contact book option ( #318 )
2025-12-14 10:08:54 +11:00
KM Koushik
461cd949e5
Fix Infinity% display bug in email chart ( #319 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-14 09:35:05 +11:00
KM Koushik
fd3c600b2e
add upload contacts support ( #314 )
2025-12-13 08:15:42 +11:00
Vincent Vu
9c1c6f3538
fix(security): CVE-2025-55184, CVE-2025-55183 ( #313 )
2025-12-12 10:11:43 +11:00
KM Koushik
7fdb82a9e9
Fix version display in side navigation ( #306 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-08 09:19:37 +11:00
KM Koushik
3e3f6d521a
Display Docker image version in sidebar ( #304 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-12-07 22:18:56 +11:00
Krish Parekh
641d5f36d2
Feat/code blocks with copy
2025-12-07 16:38:54 +11:00
KM Koushik
b4640ac5e4
update mintlify ( #302 )
2025-12-07 07:48:33 +11:00
KM Koushik
693ec9c0ce
bump nextjx version ( #301 )
2025-12-07 07:41:15 +11:00
Krish Parekh
a3b7e4c877
refactor: replace Image component with Avatar for improved user display in TrustedBy section ( #297 )
2025-12-06 07:29:29 +11:00
KM Koushik
d6be1af5b9
fix image position issue
2025-12-04 08:24:06 +11:00
KM Koushik
e1b64d0d7b
Add feedback dialog for cloud dashboard ( #293 )
2025-11-29 10:22:12 +11:00
Deepak S
357d561a8e
"[feat] Emails retention periods/cleanup #158 " ( #286 )
2025-11-29 08:13:41 +11:00
KM Koushik
05a02844b2
Update prisma version in start script
2025-11-21 20:14:05 +11:00
KM Koushik
b2e0233758
fix: update docker node version ( #290 )
2025-11-20 18:08:07 +11:00
KM Koushik
cb489654b5
idempotency ( #282 )
2025-11-17 11:42:09 +11:00
mino
eacf231173
docs: add .env symlink setup instructions for apps/web ( #287 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-08 06:52:47 +11:00
KM Koushik
f525381fb9
send free limit reached email for inactive plans
2025-10-26 11:05:51 +11:00
KM Koushik
7edff5b783
Add subscription ID search to admin team lookup ( #284 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-26 09:40:11 +11:00
KM Koushik
4fe354b85a
Fix free limits and email notifications for inactive users ( #283 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-26 07:52:44 +11:00
KM Koushik
8e569f886e
fix build
2025-10-25 05:43:00 +11:00
KM Koushik
1c9056ba75
Configure Email Usage Alert Logic ( #278 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-25 05:37:46 +11:00
KM Koushik
374f173a09
add delete resource modal ( #280 )
2025-10-25 05:37:16 +11:00
KM Koushik
f1e63b6c46
add team ID column to email analytics page ( #279 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-25 04:49:45 +11:00
KM Koushik
77b0239b92
add contact to users on waitlist removal ( #276 )
2025-10-19 15:08:33 +11:00
KM Koushik
78db758512
product update
2025-10-19 08:15:04 +11:00
KM Koushik
189b44bc1e
fix campaign update not working
2025-10-19 07:14:03 +11:00
KM Koushik
367457997e
add changelog page ( #275 )
2025-10-19 06:57:23 +11:00
KM Koushik
a5ca3b2f87
add campaign api ( #274 )
2025-10-18 10:31:43 +11:00
KM Koushik
e631f16c85
feat: batch campaigns ( #227 )
2025-10-12 22:43:16 +11:00
KM Koushik
159b15e37e
queue bulk contacts ( #273 )
2025-10-12 06:18:04 +11:00
KM Koushik
2fe2d5cdab
update package version and response return tyupe for delete domain api ( #272 )
2025-10-11 06:37:24 +11:00
Kuntal Majee
3f6a02ac56
delete-domain route added ( #267 )
2025-10-11 05:56:45 +11:00
Vamsi Sai
3388426929
fix: template-edit-page-responsiveness ( #268 )
2025-10-11 05:08:11 +11:00