# Version 2.5.3 Inbound SMS Save Fix

This patch fixes a regression from v2.5.2.

## Problem

The duplicate-webhook guard was placed before `addMessage()`.

That meant if TextBee delivered a webhook that looked like a recent duplicate, the app returned early and the customer text did not appear in the lead dashboard.

## Fix

Inbound customer texts are now always saved to the lead first.

Then, if the message looks like a duplicate webhook body within 90 seconds, the app suppresses only the extra AI reply.

## New logs

- [Incoming SMS saved to lead]
- [Incoming SMS duplicate body saved; AI reply suppressed]
- [Incoming SMS skipped: duplicate provider message after add]

## Expected behavior

Customer replies should always show in the dashboard conversation.

Duplicate webhook retries may be saved as messages, but they should not trigger duplicate AI replies.
