Canned response search now removes NUL bytes from user-provided search text before passing it to PostgreSQL, so malformed input returns normal search results instead of a database encoding error. ## Closes - [CW-7922](https://linear.app/chatwoot/issue/CW-7922/harden-backend-paths-causing-production-sentry-errors) - [Sentry 7663466064](https://chatwoot-p3.sentry.io/issues/7663466064/) ## How to reproduce Call the canned responses endpoint with a search parameter containing a NUL byte. PostgreSQL previously raised `PG::UntranslatableCharacter` while evaluating the search query. ## What changed - Strip NUL bytes once at the controller boundary. - Reuse the sanitized value for matching and result ranking. - Add request coverage for a search term containing a NUL byte.