Update Fleet-maintained apps - #45922
Conversation
Generated automatically with cmd/maintained-apps.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
WalkthroughThis PR updates the Cursor Windows maintained-app configuration in Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ee/maintained-apps/outputs/cursor/windows.json`:
- Line 9: The installer_url value for the Cursor entry is pointing to a URL that
returns HTTP 403 on download; locate the "installer_url" key (the value ending
with "CursorSetup-x64-3.5.17.exe") and replace it with a verified, publicly
downloadable URL (or remove/disable the entry) that returns HTTP 200 for GET
requests; confirm the new URL resolves for both HEAD and GET and update any
checksum or metadata tied to that installer if present (ensure the updated
installer filename/version matches the rest of the JSON metadata).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3c6a3d75-f8dc-432b-81c0-ace44f78b531
📒 Files selected for processing (1)
ee/maintained-apps/outputs/cursor/windows.json
| "patched": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM programs WHERE name = 'Cursor' AND publisher = 'Anysphere' AND version_compare(version, '3.5.17') < 0);" | ||
| }, | ||
| "installer_url": "https://downloads.cursor.com/production/0cf8b06883f54e26bb4f0fb8647c9500ccb4331f/win32/x64/system-setup/CursorSetup-x64-3.4.20.exe", | ||
| "installer_url": "https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/win32/x64/system-setup/CursorSetup-x64-3.5.17.exe", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify Cursor installer URL accessibility and SHA256 checksum
INSTALLER_URL="https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/win32/x64/system-setup/CursorSetup-x64-3.5.17.exe"
EXPECTED_SHA256="69544572efa261a35e04732fc88a246b8116fd1a0e0e438cb1849df909320a2b"
echo "Checking URL accessibility..."
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" -I "$INSTALLER_URL")
if [ "$HTTP_STATUS" = "200" ]; then
echo "✓ URL is accessible (HTTP $HTTP_STATUS)"
echo "Downloading installer to compute SHA256..."
TEMP_FILE=$(mktemp)
curl -s -L "$INSTALLER_URL" -o "$TEMP_FILE"
echo "Computing SHA256 checksum..."
COMPUTED_SHA256=$(sha256sum "$TEMP_FILE" | awk '{print $1}')
echo "Expected: $EXPECTED_SHA256"
echo "Computed: $COMPUTED_SHA256"
if [ "$COMPUTED_SHA256" = "$EXPECTED_SHA256" ]; then
echo "✓ SHA256 checksum matches"
else
echo "✗ SHA256 checksum mismatch!"
exit 1
fi
rm -f "$TEMP_FILE"
else
echo "✗ URL is not accessible (HTTP $HTTP_STATUS)"
exit 1
fiRepository: fleetdm/fleet
Length of output: 373
🏁 Script executed:
#!/bin/bash
# Verify Cursor installer SHA256 using Python
INSTALLER_URL="https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/win32/x64/system-setup/CursorSetup-x64-3.5.17.exe"
EXPECTED_SHA256="69544572efa261a35e04732fc88a246b8116fd1a0e0e438cb1849df909320a2b"
python3 <<'EOF'
import hashlib
import urllib.request
import sys
url = "https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/win32/x64/system-setup/CursorSetup-x64-3.5.17.exe"
expected_sha256 = "69544572efa261a35e04732fc88a246b8116fd1a0e0e438cb1849df909320a2b"
print("Downloading installer...")
try:
with urllib.request.urlopen(url) as response:
sha256_hash = hashlib.sha256()
chunk_size = 8192
while True:
chunk = response.read(chunk_size)
if not chunk:
break
sha256_hash.update(chunk)
computed_sha256 = sha256_hash.hexdigest()
print(f"Expected: {expected_sha256}")
print(f"Computed: {computed_sha256}")
if computed_sha256 == expected_sha256:
print("✓ SHA256 checksum matches")
sys.exit(0)
else:
print("✗ SHA256 checksum mismatch!")
sys.exit(1)
except Exception as e:
print(f"✗ Error: {e}")
sys.exit(1)
EOFRepository: fleetdm/fleet
Length of output: 219
🏁 Script executed:
#!/bin/bash
# Verify Cursor installer SHA256 with SSL verification disabled
python3 <<'EOF'
import hashlib
import urllib.request
import ssl
import sys
url = "https://downloads.cursor.com/production/d5b2fc092e16007956c9e5047f76097b9e626cab/win32/x64/system-setup/CursorSetup-x64-3.5.17.exe"
expected_sha256 = "69544572efa261a35e04732fc88a246b8116fd1a0e0e438cb1849df909320a2b"
# Create SSL context that ignores certificate verification (sandbox limitation)
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False
ssl_context.verify_mode = ssl.CERT_NONE
print("Downloading installer...")
try:
with urllib.request.urlopen(url, context=ssl_context) as response:
sha256_hash = hashlib.sha256()
chunk_size = 8192
total_size = 0
while True:
chunk = response.read(chunk_size)
if not chunk:
break
sha256_hash.update(chunk)
total_size += len(chunk)
computed_sha256 = sha256_hash.hexdigest()
print(f"Downloaded: {total_size} bytes")
print(f"Expected: {expected_sha256}")
print(f"Computed: {computed_sha256}")
if computed_sha256 == expected_sha256:
print("✓ SHA256 checksum matches")
sys.exit(0)
else:
print("✗ SHA256 checksum mismatch!")
sys.exit(1)
except Exception as e:
print(f"✗ Error: {e}")
sys.exit(1)
EOFRepository: fleetdm/fleet
Length of output: 117
🏁 Script executed:
cat -n ee/maintained-apps/outputs/cursor/windows.json | sed -n '5,15p'Repository: fleetdm/fleet
Length of output: 810
The installer URL is inaccessible and returns HTTP 403 Forbidden on download attempts.
The URL passes HEAD requests (HTTP 200) but actively blocks downloads with 403 Forbidden responses. This prevents the installer from being downloaded, making this configuration non-functional. Verify that the installer URL is correct and accessible before proceeding with this update.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ee/maintained-apps/outputs/cursor/windows.json` at line 9, The installer_url
value for the Cursor entry is pointing to a URL that returns HTTP 403 on
download; locate the "installer_url" key (the value ending with
"CursorSetup-x64-3.5.17.exe") and replace it with a verified, publicly
downloadable URL (or remove/disable the entry) that returns HTTP 200 for GET
requests; confirm the new URL resolves for both HEAD and GET and update any
checksum or metadata tied to that installer if present (ensure the updated
installer filename/version matches the rest of the JSON metadata).
Automated ingestion of latest Fleet-maintained app data.
Summary by CodeRabbit