make-mp-data 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/generators/funnels.js +16 -5
- package/package.json +1 -1
|
@@ -361,19 +361,30 @@ async function generateFunnelEvents(
|
|
|
361
361
|
);
|
|
362
362
|
|
|
363
363
|
if (index === 0) {
|
|
364
|
-
|
|
364
|
+
const parsedTime = dayjs(newEvent.time);
|
|
365
|
+
// Validate the first event's time - if invalid, use TimeSoup-generated time as-is
|
|
366
|
+
funnelStartTime = parsedTime.isValid() ? parsedTime : null;
|
|
367
|
+
delete newEvent.relativeTimeMs;
|
|
368
|
+
return newEvent;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// If funnelStartTime is invalid, just use the TimeSoup-generated time from makeEvent
|
|
372
|
+
if (!funnelStartTime || !funnelStartTime.isValid()) {
|
|
365
373
|
delete newEvent.relativeTimeMs;
|
|
366
374
|
return newEvent;
|
|
367
375
|
}
|
|
368
376
|
|
|
369
377
|
try {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
.toISOString();
|
|
378
|
+
const computedTime = dayjs(funnelStartTime).add(event.relativeTimeMs, "milliseconds");
|
|
379
|
+
if (computedTime.isValid()) {
|
|
380
|
+
newEvent.time = computedTime.toISOString();
|
|
381
|
+
}
|
|
382
|
+
// If invalid, keep the TimeSoup-generated time from makeEvent
|
|
373
383
|
delete newEvent.relativeTimeMs;
|
|
374
384
|
return newEvent;
|
|
375
385
|
} catch (e) {
|
|
376
|
-
|
|
386
|
+
// Graceful fallback: keep the TimeSoup-generated time from makeEvent
|
|
387
|
+
delete newEvent.relativeTimeMs;
|
|
377
388
|
return newEvent;
|
|
378
389
|
}
|
|
379
390
|
}));
|