{{STATUS}} loses emoji in customResponseHeaders / announce after Remnawave 3.x

After updating to Remnawave backend 3.2.0, the {{STATUS}} template variable no longer returns the status emoji when used inside customResponseHeaders, for example in the announce header.

My customResponseHeaders:

{"announce": "rwEncodeBase64:MRM VPN\nUser: {{USERNAME}}\nStatus: {{STATUS}}"}

Expected result:
Status: :white_check_mark: Active

Actual result:
Status: Active

I checked the bundled backend code and USER_STATUSES_TEMPLATE still contains emojis:

ACTIVE: " :white_check_mark: Active"
EXPIRED: " :warning: Expired"
DISABLED: “:cross_mark: Disabled”
LIMITED: “:red_circle: Limited”

But customResponseHeaders are rendered with transliteration enabled:

formatWithUser(value, user, settings, subPublicDomain, true)

Because of this, {{STATUS}} is passed through transliterate(), and emoji is stripped from the result.

Please either:

  1. Do not transliterate {{STATUS}} in customResponseHeaders,
  2. Add a separate variable like {{STATUS_EMOJI}},
  3. Or make transliteration optional for custom response headers.

Environment:
Remnawave backend: 3.2.0
Subscription page: v8.0.0
Docker image: remnawave/backend:3.2.0

Starting from Remnawave 3.2.1 you can fully customize text for {{STATUS}} and {{RESET_STRATEGY}}.

Example:

rwEncodeBase64: You subscription is {{STATUS:ACTIVE=active ❤️ |EXPIRED=expired 🥺}}