Skip to content

Document custom staging domain#106

Merged
BASIC-BIT merged 2 commits into
mainfrom
chore/document-custom-domains
May 30, 2026
Merged

Document custom staging domain#106
BASIC-BIT merged 2 commits into
mainfrom
chore/document-custom-domains

Conversation

@BASIC-BIT
Copy link
Copy Markdown
Owner

@BASIC-BIT BASIC-BIT commented May 30, 2026

What changed

  • Records https://staging.vrdex.net as the primary Vercel staging URL.
  • Documents the Route 53 CNAME and Vercel custom-environment binding.
  • Records the Convex custom-domain plan and dashboard/Pro-plan blocker.
  • Waits for local Convex functions to become callable before Playwright starts the web server, preventing image-diff runs from racing function compilation.

Testing

Risk

Docs are declarative. The script change only affects local Convex/Playwright startup sequencing and keeps the existing local deployment/env-sync behavior.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vr-dex-web Ready Ready Preview, Comment May 30, 2026 9:43pm

Request Review

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

Playwright Hosted Data-Flow

Outcome: success
Target: https://staging.vrdex.net
Run: https://github.com/BASIC-BIT/VRDex/actions/runs/26695680066
Artifact: playwright-hosted-data-flow

This optional check runs the mutation-backed profile flow against a configured hosted dev/staging target with isolated E2E test data.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

Playwright Data-Flow Preview

Outcome: success
Run: https://github.com/BASIC-BIT/VRDex/actions/runs/26695680066
Artifact: playwright-data-flow

Captured flow:

  • test-gated profile submission form
  • gated helper rejection without the Playwright token
  • Convex profile creation
  • submission success state
  • public profile page readback
  • discovery search readback

Artifacts include screenshots, traces, and recorded video for the flow run.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

Playwright Public Screenshot Preview

Outcome: success
Run: https://github.com/BASIC-BIT/VRDex/actions/runs/26695680066
Artifact: playwright-public-preview

Screenshots: all public route checks passed on desktop and mobile.

Full screenshot set is available in the artifact. Pixel diff baselines are handled by the separate Playwright Image Diff check.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

Playwright Image Diff

Outcome: success
Run: https://github.com/BASIC-BIT/VRDex/actions/runs/26695680066
Artifact: playwright-image-diff

Changed screenshot baselines: none in this PR.

This check compares public route screenshots against committed baselines. Inline images show only added or modified baseline PNGs.

@BASIC-BIT BASIC-BIT marked this pull request as ready for review May 30, 2026 22:54
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@BASIC-BIT BASIC-BIT merged commit b5937cf into main May 30, 2026
18 checks passed
@BASIC-BIT BASIC-BIT deleted the chore/document-custom-domains branch May 30, 2026 22:55
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 30, 2026

Greptile Summary

This PR records https://staging.vrdex.net as the primary staging URL across deployment and testing docs, documents the Route 53 CNAME and Vercel custom-environment binding, and adds a readiness-poll loop to sync-convex-local-env.mjs so Playwright waits for local Convex functions to compile before starting the web server.

  • Docs (vercel-preview.md, playwright-visual-preview.md): swap the Vercel-generated alias for the stable custom domain in all URL references, and add the Route 53 CNAME record for reproducibility.
  • Docs (convex-environments.md): adds a "Candidate direction" section for future Convex custom domains with clear prerequisite notes (Pro plan, dashboard-first DNS binding).
  • Script (sync-convex-local-env.mjs): introduces waitForFunctionsReady() using ConvexHttpClient, polling health:status up to 180 s (configurable) before proceeding with env-var sync; a newly added runConvex helper is unused.

Confidence Score: 4/5

Safe to merge — documentation changes are accurate and declarative, and the readiness-poll logic is well-structured with configurable knobs.

The only code change is the new waitForFunctionsReady loop, which is straightforward and was validated by a passing CI run. A runConvex helper is introduced but never wired up, leaving dead code and the syncEnvVarsOnce calls without the 10 s timeout that helper would have provided.

scripts/sync-convex-local-env.mjs — the unused runConvex function should either replace the inline spawnSync calls in syncEnvVarsOnce or be removed.

Important Files Changed

Filename Overview
scripts/sync-convex-local-env.mjs Adds ConvexHttpClient-based readiness poll before env-var sync; logic is sound, but the new runConvex helper is unused dead code.
docs/deployment/vercel-preview.md Replaces the Vercel-generated alias with the stable staging.vrdex.net custom domain across URL references, and documents the Route 53 CNAME binding.
docs/deployment/convex-environments.md Adds a clearly-labeled 'Candidate direction' section for future Convex custom domains with accurate blocker notes (Pro plan, dashboard-first DNS steps).
docs/testing/playwright-visual-preview.md Single-line update to reflect the new stable staging URL and the latest passing workflow run reference.

Sequence Diagram

sequenceDiagram
    participant PW as Playwright / CI
    participant Script as sync-convex-local-env.mjs
    participant CH as ConvexHttpClient
    participant Conv as Local Convex (127.0.0.1)

    PW->>Script: node scripts/sync-convex-local-env.mjs
    Script->>CH: new ConvexHttpClient(localConvexUrl)
    loop Poll every 500 ms (up to 180 s)
        CH->>Conv: "query("health:status", {})"
        alt functions ready
            Conv-->>CH: result
            CH-->>Script: return true
        else not ready yet
            Conv-->>CH: error
            Script->>Script: sleep(readyPollMs)
        end
    end
    alt timeout
        Script-->>PW: process.exit(1)
    else ready
        Script->>Conv: spawnSync convex env set ... (syncEnvVarsOnce)
        Script-->>PW: process.exit(0)
    end
Loading
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
scripts/sync-convex-local-env.mjs:52-60
The `runConvex` helper is introduced in this PR but never called — `syncEnvVarsOnce` still invokes `spawnSync` inline. Either wire it up to replace the inline call (which would also gain the `timeout: 10_000` guard) or remove it to keep the file clean.

```suggestion
// runConvex helper removed — syncEnvVarsOnce uses spawnSync inline.
// Restore and wire up here if you want the 10 s timeout applied to env-set calls.
```

Reviews (1): Last reviewed commit: "Wait for Convex functions before Playwri..." | Re-trigger Greptile

Comment on lines +52 to +60
function runConvex(args) {
return spawnSync(convexBin, args, {
cwd: repoRoot,
encoding: "utf8",
env: convexEnv(),
shell: process.platform === "win32",
timeout: 10_000,
});
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 The runConvex helper is introduced in this PR but never called — syncEnvVarsOnce still invokes spawnSync inline. Either wire it up to replace the inline call (which would also gain the timeout: 10_000 guard) or remove it to keep the file clean.

Suggested change
function runConvex(args) {
return spawnSync(convexBin, args, {
cwd: repoRoot,
encoding: "utf8",
env: convexEnv(),
shell: process.platform === "win32",
timeout: 10_000,
});
}
// runConvex helper removed — syncEnvVarsOnce uses spawnSync inline.
// Restore and wire up here if you want the 10 s timeout applied to env-set calls.
Prompt To Fix With AI
This is a comment left during a code review.
Path: scripts/sync-convex-local-env.mjs
Line: 52-60

Comment:
The `runConvex` helper is introduced in this PR but never called — `syncEnvVarsOnce` still invokes `spawnSync` inline. Either wire it up to replace the inline call (which would also gain the `timeout: 10_000` guard) or remove it to keep the file clean.

```suggestion
// runConvex helper removed — syncEnvVarsOnce uses spawnSync inline.
// Restore and wire up here if you want the 10 s timeout applied to env-set calls.
```

How can I resolve this? If you propose a fix, please make it concise.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant