From 3f4bf25309d13c33f6cbd44da9ddd3c4fe3569a2 Mon Sep 17 00:00:00 2001 From: Don Artkins Date: Tue, 29 Sep 2026 03:52:02 +0300 Subject: [PATCH] refactor: Replace PR description with reusable template --- .github/pull_request_template.md | 92 +++++++------------------------- 1 file changed, 20 insertions(+), 72 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 645e9665..84a8048d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,85 +1,33 @@ -# Fix: Vercel Free Domain Verification (Issue #1373) - ## Description -Fixes verification of Vercel free tier domains (`*.vercel.app`) in the Strix platform. + -**Issue:** usestrix/strix#1373 +## Type of Change -## Problem +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] Documentation update +- [ ] Dependency update -When attempting to review a Vercel free deployment using a default domain (e.g., `demo.vercel.app`), the verification failed with: +## Related Issue -``` -vercel.app was not found in the connected Vercel account. -Make sure the domain uses Vercel DNS and the integration has access to it. -``` - -## Root Cause - -The domain verification system did not recognize Vercel's default free tier domains (`*.vercel.app`) as valid provider-hosted domains. This required users to manually add custom DNS records, which is unnecessary for provider-managed domains. - -## Solution - -### New Module: `strix/interface/cloud/domain_verifier.py` - -Adds special handling for cloud provider default domains: - -- **`PROVIDER_DEFAULT_DOMAINS`**: Dictionary mapping provider domain patterns to metadata -- **`is_provider_default_domain()`**: Checks if a domain is a recognized provider default -- **`get_provider_info()`**: Returns provider metadata (name, DNS requirements) -- **`validate_domain_verification_method()`**: Determines appropriate verification flow (DNS vs provider) -- **`verify_provider_domain()`**: Handles provider-specific domain verification - -### Supported Providers - -- **Vercel**: `*.vercel.app` (no DNS verification required) -- **Netlify**: `*.netlify.app` -- **GitHub Pages**: `*.github.io` -- **Heroku**: `*.herokuapp.com` - -### Key Features - -1. **Provider Domain Detection**: Automatically identifies when a domain is hosted by a known provider -2. **Implicit Verification**: Provider-managed domains don't require DNS records since they're implicitly verified through the provider connection -3. **Extensible Design**: Easy to add support for additional providers -4. **Case-Insensitive Matching**: Handles domain names regardless of case + ## Testing -Comprehensive test suite in `tests/test_domain_verification.py` covers: +- [ ] Unit tests added/updated +- [ ] Integration tests added/updated +- [ ] Manual testing completed -- Provider domain pattern recognition -- Case-insensitive domain matching -- Trailing dot handling -- Custom domain exclusion -- Verification method selection -- Provider information retrieval +## Checklist -## Usage +- [ ] Code follows project style guidelines +- [ ] Documentation has been updated +- [ ] No new warnings generated +- [ ] Tests pass locally +- [ ] Changes are backwards compatible -```python -from strix.interface.cloud.domain_verifier import ( - is_provider_default_domain, - validate_domain_verification_method, - verify_provider_domain, -) +## Additional Context -# Check if domain is provider-hosted -if is_provider_default_domain("demo.vercel.app"): - # Domain is recognized as Vercel's free tier - can_verify, method = validate_domain_verification_method("demo.vercel.app") - if method == "provider": - verified, msg = await verify_provider_domain("demo.vercel.app") -``` - -## Impact - -- **User Experience**: Users can now verify Vercel free tier deployments without manual DNS configuration -- **Consistency**: Matches behavior of other platforms (Netlify, GitHub Pages, Heroku) -- **Maintainability**: Centralized provider domain logic is easier to extend and test - -## Related - -- Resolves: usestrix/strix#1373 -- Related to: Vercel integration improvements +