From ffa39aead8c43ab54a7f0992ce529d6d8584906d Mon Sep 17 00:00:00 2001 From: iamsivin Date: Mon, 23 Feb 2026 18:24:34 +0530 Subject: [PATCH] chore: Minor fix --- app/javascript/dashboard/helper/snoozeDateParser.js | 6 +++++- .../dashboard/helper/specs/snoozeDateParser.spec.js | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/javascript/dashboard/helper/snoozeDateParser.js b/app/javascript/dashboard/helper/snoozeDateParser.js index e892ef508..97a178b42 100644 --- a/app/javascript/dashboard/helper/snoozeDateParser.js +++ b/app/javascript/dashboard/helper/snoozeDateParser.js @@ -901,7 +901,11 @@ const matchSpecial = (text, now) => { if (getDay(now) === 5 && isAfter(fri, now)) return fri; return applyTimeToDate(nextFriday(now), 17, 0); } - if (eof[1] === 'month') return applyTimeToDate(endOfMonth(now), 17, 0); + if (eof[1] === 'month') { + const eom = applyTimeToDate(endOfMonth(now), 17, 0); + if (isAfter(eom, now)) return eom; + return applyTimeToDate(endOfMonth(add(now, { months: 1 })), 17, 0); + } } if (LATER_TODAY_RE.test(text)) return add(now, { hours: 3 }); diff --git a/app/javascript/dashboard/helper/specs/snoozeDateParser.spec.js b/app/javascript/dashboard/helper/specs/snoozeDateParser.spec.js index 81d9c62af..f2302b314 100644 --- a/app/javascript/dashboard/helper/specs/snoozeDateParser.spec.js +++ b/app/javascript/dashboard/helper/specs/snoozeDateParser.spec.js @@ -1100,6 +1100,15 @@ describe('chrono-level patterns', () => { expect(result.date.getDate()).toBe(30); expect(result.date.getHours()).toBe(17); }); + + it('"end of month" on last day after 5pm rolls to next month-end', () => { + const lastDayLate = new Date('2025-06-30T18:00:00'); + const result = parseDateFromText('end of month', lastDayLate); + expect(result).not.toBeNull(); + expect(result.date.getMonth()).toBe(6); + expect(result.date.getDate()).toBe(31); + expect(result.date.getHours()).toBe(17); + }); }); describe('later today', () => {