Skip to content

Commit 33d5da5

Browse files
committed
```
fix(cursor_win_id_modifier): 修复 firstSessionDate 时间格式问题 - 使用 UTC 时间生成/规范化 firstSessionDate,避免本地时间却带 Z 的语义错误 - 兼容 ConvertFrom-Json 可能返回 DateTime 类型的情况 - 在所有场景下都使用 ToUniversalTime() 确保时间格式的一致性 ```
1 parent c57a474 commit 33d5da5

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

scripts/run/cursor_win_id_modifier.ps1

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,19 @@ function Modify-CursorJSFiles {
395395
# 机器 GUID 用于模拟注册表/原始机器码读取
396396
$machineGuid = if ($global:CursorIds.machineGuid) { [string]$global:CursorIds.machineGuid } else { [System.Guid]::NewGuid().ToString().ToLower() }
397397
$sessionId = if ($global:CursorIds.sessionId) { [string]$global:CursorIds.sessionId } else { [System.Guid]::NewGuid().ToString().ToLower() }
398-
$firstSessionDateValue = if ($global:CursorIds.firstSessionDate) { [string]$global:CursorIds.firstSessionDate } else { (Get-Date).ToString("yyyy-MM-ddTHH:mm:ss.fffZ") }
398+
# 使用 UTC 时间生成/规范化 firstSessionDate,避免本地时间却带 Z 的语义错误;同时兼容 ConvertFrom-Json 可能返回 DateTime
399+
$firstSessionDateValue = if ($global:CursorIds.firstSessionDate) {
400+
$rawFirstSessionDate = $global:CursorIds.firstSessionDate
401+
if ($rawFirstSessionDate -is [DateTime]) {
402+
$rawFirstSessionDate.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
403+
} elseif ($rawFirstSessionDate -is [DateTimeOffset]) {
404+
$rawFirstSessionDate.UtcDateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
405+
} else {
406+
[string]$rawFirstSessionDate
407+
}
408+
} else {
409+
(Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
410+
}
399411
$macAddress = if ($global:CursorIds.macAddress) { [string]$global:CursorIds.macAddress } else { "00:11:22:33:44:55" }
400412
$useConfigIds = $true
401413
} else {
@@ -414,7 +426,8 @@ function Modify-CursorJSFiles {
414426
# 机器 GUID 用于模拟注册表/原始机器码读取
415427
$machineGuid = [System.Guid]::NewGuid().ToString().ToLower()
416428
$sessionId = [System.Guid]::NewGuid().ToString().ToLower()
417-
$firstSessionDateValue = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
429+
# 使用 UTC 时间生成 firstSessionDate,避免本地时间却带 Z 的语义错误
430+
$firstSessionDateValue = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
418431
$macAddress = "00:11:22:33:44:55"
419432
}
420433

@@ -609,7 +622,8 @@ function Modify-CursorJSFiles {
609622

610623
# 🔧 新增: firstSessionDate(重置首次会话日期)
611624
if (-not $firstSessionDateValue) {
612-
$firstSessionDateValue = (Get-Date).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
625+
# 使用 UTC 时间生成 firstSessionDate,避免本地时间却带 Z 的语义错误
626+
$firstSessionDateValue = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
613627
}
614628

615629
$placeholders = @(

0 commit comments

Comments
 (0)