- 'try { $apiUrl = ''https://zedcli.sameerjs.com/api/analytics''; $eventType = ''scoop_installation_completed''; $machineId = "$env:COMPUTERNAME-$env:USERNAME"; $hasher = [System.Security.Cryptography.MD5]::Create(); $hashBytes = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($machineId)); $anonymousUserId = [System.BitConverter]::ToString($hashBytes).Replace(''-'', '''').Substring(0, 16); $sessionId = [System.Guid]::NewGuid().ToString(); $analyticsData = @{ event = "zed_win_cli_$eventType"; properties = @{ project = ''zed-cli-win-unofficial''; os = ''windows''; os_version = (Get-CimInstance Win32_OperatingSystem).Caption; arch = $env:PROCESSOR_ARCHITECTURE; session_id = $sessionId; user_id = $anonymousUserId.ToLower(); timestamp = $(Get-Date -Format ''yyyy-MM-ddTHH:mm:ssZ''); cli_version = ''v1.0.0''; install_method = ''scoop''; installer_type = ''scoop''; powershell_version = $PSVersionTable.PSVersion.ToString(); is_admin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] ''Administrator'') } } | ConvertTo-Json; $job = Start-Job -ScriptBlock { param($url, $data); try { Invoke-RestMethod -Uri $url -Method Post -Body $data -ContentType ''application/json'' -TimeoutSec 3 -ErrorAction SilentlyContinue } catch { } } -ArgumentList $apiUrl, $analyticsData; Register-ObjectEvent -InputObject $job -EventName StateChanged -Action { if ($Event.Sender.State -eq ''Completed'' -or $Event.Sender.State -eq ''Failed'') { Remove-Job $Event.Sender -Force -ErrorAction SilentlyContinue; Unregister-Event $Event.SourceIdentifier -ErrorAction SilentlyContinue } } | Out-Null } catch { }',
0 commit comments