From 0f7fc98ab554068bfd733473c43220b27681b609 Mon Sep 17 00:00:00 2001 From: Ricardo Rocha Date: Fri, 26 Jun 2026 19:14:28 -0300 Subject: [PATCH] fix: Invalid time value --- classes/CEconItem.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/classes/CEconItem.js b/classes/CEconItem.js index b3bf2df..a149563 100644 --- a/classes/CEconItem.js +++ b/classes/CEconItem.js @@ -68,9 +68,20 @@ function CEconItem(item, description, contextID, assetProperties) { // Restore cache_expiration, if we can (for CS:GO items) if (this.appid == 730 && this.contextid == 2 && this.owner_descriptions) { - let description = this.owner_descriptions.find(d => d.value && d.value.indexOf('Tradable/Marketable After ') == 0); + let description = this.owner_descriptions.find((d) => d.value && d.value.indexOf("Tradable/Marketable After ") == 0); if (description) { - let date = new Date(description.value.substring(26).replace(/[,()]/g, '')); + const match = description.value.match(/(\d{1,2}) (\w+) @ (\d{1,2}:\d{2})(am|pm)/i); + const [, day, month, time, meridian] = match; + const now = new Date(); + let year = now.getFullYear(); + let date = new Date(`${day} ${month} ${year} ${time} ${meridian}`); + + if (date.getTime() < now.getTime()) { + date = new Date( + `${day} ${month} ${year + 1} ${time} ${meridian}`, + ); + } + if (date) { this.cache_expiration = date.toISOString(); }