From 866af0b12e95c9bfaffb13d553db235e986b6855 Mon Sep 17 00:00:00 2001 From: mishkatik Date: Thu, 4 Jun 2026 13:24:55 +0300 Subject: [PATCH] fix(templates): handle unlimited traffic limit in trafficLeft --- src/common/utils/templates/replace-templates-values.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/utils/templates/replace-templates-values.ts b/src/common/utils/templates/replace-templates-values.ts index 11d32cf53..63a537384 100644 --- a/src/common/utils/templates/replace-templates-values.ts +++ b/src/common/utils/templates/replace-templates-values.ts @@ -71,7 +71,11 @@ export class TemplateEngine { subPublicDomain: string, forHeader: boolean = false, ): string { - const trafficLeft = () => user.trafficLimitBytes - user.userTraffic.usedTrafficBytes; + // trafficLimitBytes === 0n means Unlimited, so there is no traffic to subtract from. + const trafficLeft = (): bigint => + user.trafficLimitBytes === 0n + ? 0n + : user.trafficLimitBytes - user.userTraffic.usedTrafficBytes; return this.replace(template, { DAYS_LEFT: () => Math.max(0, dayjs(user.expireAt).diff(dayjs(), 'day')),