[2026-04-28] Add apple-browsers .cursor rules (43 files) + executor v2 context
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
---
|
||||
source: ~/DuckDuckGo/apple-browsers.git/main/.cursor/rules/network-quality-test-config.mdc
|
||||
confidence: 0.9
|
||||
namespace: work
|
||||
last_synced: 2026-04-28
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# NetworkQualityMonitor Test Configuration
|
||||
|
||||
## Optimized Test Parameters
|
||||
|
||||
The NetworkQualityMonitor uses carefully tuned parameters to balance speed and accuracy for browser performance testing.
|
||||
|
||||
## Test Phases and Data Sizes
|
||||
|
||||
### HTTP Response Testing (Latency)
|
||||
- **Samples**: 15 per endpoint
|
||||
- **Endpoints**: ~12 globally distributed CDNs and services
|
||||
- **Methodology**: Warm-up phase + interleaved sampling
|
||||
- **Timeout**: 5 seconds
|
||||
- **Total time**: ~3-4 minutes
|
||||
|
||||
### Bandwidth Testing (Download)
|
||||
- **File size**: 50MB per server (reduced from 100MB)
|
||||
- **Servers**: 3 test servers (CloudFlare, OVH, Hetzner)
|
||||
- **Runs**: 1 per server (reduced from 2)
|
||||
- **Total download**: ~150MB (was 800MB)
|
||||
- **Timeout**: 20 seconds per server
|
||||
- **Measurement window**:
|
||||
- At 100 Mbps: ~4 seconds
|
||||
- At 25 Mbps: ~16 seconds
|
||||
- At 10 Mbps: ~40 seconds
|
||||
|
||||
### Upload Testing
|
||||
- **Chunk size**: 20MB (reduced from 50MB)
|
||||
- **Chunks**: 2 sequential uploads
|
||||
- **Total upload**: 40MB (was 100MB)
|
||||
- **Timeout**: 25 seconds total
|
||||
- **Servers**: 3 endpoints
|
||||
|
||||
### DNS Resolution Testing
|
||||
- **Domains**: 11 popular domains
|
||||
- **Tests**: Resolution time and failure rate
|
||||
- **Timeout**: Default system resolver timeout
|
||||
|
||||
## Performance Optimizations
|
||||
|
||||
### Why These Sizes?
|
||||
|
||||
**50MB for Downloads:**
|
||||
- Large enough to overcome TCP slow start
|
||||
- Provides stable measurement window (4-40 seconds)
|
||||
- Small enough to complete quickly on slower connections
|
||||
- Balances accuracy with user experience
|
||||
|
||||
**20MB for Uploads:**
|
||||
- Sufficient to measure upload capacity
|
||||
- Most users have asymmetric connections (slower upload)
|
||||
- Reduces test time significantly
|
||||
|
||||
### Total Test Duration
|
||||
|
||||
**Typical completion times:**
|
||||
- Fast connection (100+ Mbps): ~2-3 minutes
|
||||
- Good connection (25-50 Mbps): ~3-4 minutes
|
||||
- Fair connection (10-25 Mbps): ~4-5 minutes
|
||||
- Poor connection (<10 Mbps): ~5-7 minutes
|
||||
|
||||
### Data Usage
|
||||
|
||||
**Total data transferred:**
|
||||
- Download: ~150MB
|
||||
- Upload: ~40MB
|
||||
- **Total: ~190MB** (reduced from ~900MB)
|
||||
|
||||
## Configuration Code
|
||||
|
||||
```swift
|
||||
TestConfiguration(
|
||||
latencyTestURLs: [/* 12 CDN endpoints */],
|
||||
bandwidthTestURLs: [
|
||||
"https://speed.cloudflare.com/__down?bytes=52428800", // 50MB
|
||||
"https://proof.ovh.net/files/50Mb.dat", // 50MB
|
||||
"https://speed.hetzner.de/50MB.bin" // 50MB
|
||||
],
|
||||
uploadTestURLs: [/* 3 upload endpoints */],
|
||||
dnsTestDomains: [/* 11 popular domains */],
|
||||
latencySamplesPerEndpoint: 15,
|
||||
bandwidthRunsPerServer: 1,
|
||||
uploadChunkSize: 20_971_520, // 20MB
|
||||
uploadChunkCount: 2,
|
||||
latencyTestTimeout: 5,
|
||||
bandwidthTestTimeout: 20,
|
||||
uploadTestTimeout: 25
|
||||
)
|
||||
```
|
||||
|
||||
## Quick Test Mode
|
||||
|
||||
For rapid connectivity checks, the system also supports:
|
||||
- 10MB quick downloads for server selection
|
||||
- HEAD requests for basic connectivity
|
||||
- Reduced sample counts for faster results
|
||||
Reference in New Issue
Block a user