chore: update Ory Console links to .com domain#2553
Conversation
📝 WalkthroughWalkthroughThis PR migrates all Ory Console references from the legacy ChangesConsole Domain Migration to ory.com
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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: 2
🧹 Nitpick comments (3)
.github/workflows/static_checks.yml (2)
24-34: Consider least-privilege permissions for the new job.This job (like the others in the file) relies on default workflow permissions and persisted credentials. Since it only checks out code and runs a Node script, scoping it to read-only would tighten the security posture without affecting behavior. This applies workflow-wide, so it may be better addressed consistently rather than for this job alone.
🔒 Example
check-console-links: name: Check console links for 404s runs-on: ubuntu-latest + permissions: + contents: read steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v6 + with: + persist-credentials: false🤖 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 @.github/workflows/static_checks.yml around lines 24 - 34, The check-console-links job should use least-privilege credentials: add a permissions block (e.g., permissions: contents: read) at the job or top-level workflow to restrict token scope, and set the checkout action to not persist the workflow token (set actions/checkout's persist-credentials to false) so Node npm commands run without retaining write permissions; update the job named check-console-links and the actions/checkout@v6 step to apply these changes (or apply them workflow-wide for consistency).
33-33: 💤 Low valuePrefer
npm cifor reproducible CI installs.
.github/workflows/static_checks.ymlrunsnpm install, but the repo includes a rootpackage-lock.json; switching tonpm cimakes CI installs deterministic and lockfile-faithful.♻️ Proposed change
- - run: npm install + - run: npm ci🤖 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 @.github/workflows/static_checks.yml at line 33, Replace the CI step that runs the literal command "npm install" with "npm ci" in the workflow so the job uses lockfile-faithful, reproducible installs; locate the step containing the run command "npm install" in the static_checks.yml workflow and change that value to "npm ci".src/components/ConsoleLink/console-link.tsx (1)
63-64: ⚡ Quick winAvoid hardcoding the Console base URL — reuse the centralized route.
routes.default.consolealready holdshttps://console.ory.com/, yet the base is hardcoded again here. This duplication is precisely what forces a multi-file change on each domain migration and risks future divergence. Reuse the single source of truth (mind the trailing slash, sinceresolvedRoutealready begins with/).♻️ Proposed change
const renderedRoute = - "https://console.ory.com" + resolvedRoute.replace("[project]", "current") + routes.default.console.replace(/\/$/, "") + + resolvedRoute.replace("[project]", "current")🤖 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 `@src/components/ConsoleLink/console-link.tsx` around lines 63 - 64, The code hardcodes "https://console.ory.com" when building renderedRoute; instead use the centralized routes.default.console value to avoid duplication. Update the construction of renderedRoute to concatenate routes.default.console with resolvedRoute.replace("[project]", "current"), ensuring you handle the trailing slash (trim a trailing slash from routes.default.console or the leading slash from resolvedRoute so you don't produce a double "//"). Reference: renderedRoute, resolvedRoute, and routes.default.console.
🤖 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 `@src/components/welcomePage/ContentSection.tsx`:
- Line 12: The registration CTA in ContentSection currently hardcodes a URL with
a specific flow query param ("https://console.ory.com/registration?flow=...");
remove the fixed flow parameter so the component/link uses the stable entrypoint
("https://console.ory.com/registration") instead (update the hardcoded string
where it appears in ContentSection.tsx or the constant that provides the URL),
ensuring the anchor/href or NavLink no longer appends "?flow=..." so sign-ups
use the server-generated/active flow.
In `@src/scripts/check-console-links.js`:
- Line 20: SKIP_FILES currently uses a basename set (SKIP_FILES) and walkDir
checks entry.name, which causes entire files like README.md and any file named
console-link.tsx anywhere to be ignored; change the logic to stop skipping
README.md entirely and instead match console-link.tsx by its repo-relative path
(or exact relative path suffix) when deciding to skip only the URL reachability
check. Update the skip check in the walkDir/scan routine to use the file's
repo-relative path (not entry.name) and, for console-link.tsx, only bypass the
external HTTP reachability test while still scanning the file contents for
legacy console.ory.sh links.
---
Nitpick comments:
In @.github/workflows/static_checks.yml:
- Around line 24-34: The check-console-links job should use least-privilege
credentials: add a permissions block (e.g., permissions: contents: read) at the
job or top-level workflow to restrict token scope, and set the checkout action
to not persist the workflow token (set actions/checkout's persist-credentials to
false) so Node npm commands run without retaining write permissions; update the
job named check-console-links and the actions/checkout@v6 step to apply these
changes (or apply them workflow-wide for consistency).
- Line 33: Replace the CI step that runs the literal command "npm install" with
"npm ci" in the workflow so the job uses lockfile-faithful, reproducible
installs; locate the step containing the run command "npm install" in the
static_checks.yml workflow and change that value to "npm ci".
In `@src/components/ConsoleLink/console-link.tsx`:
- Around line 63-64: The code hardcodes "https://console.ory.com" when building
renderedRoute; instead use the centralized routes.default.console value to avoid
duplication. Update the construction of renderedRoute to concatenate
routes.default.console with resolvedRoute.replace("[project]", "current"),
ensuring you handle the trailing slash (trim a trailing slash from
routes.default.console or the leading slash from resolvedRoute so you don't
produce a double "//"). Reference: renderedRoute, resolvedRoute, and
routes.default.console.
🪄 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 Plus
Run ID: 59ec5970-e74a-4547-8361-03494aa15326
⛔ Files ignored due to path filters (56)
docs/_common/get-started-setup.mdxis excluded by!**/*.mdxdocs/_common/need-help.mdxis excluded by!**/*.mdxdocs/account-experience/index.mdxis excluded by!**/*.mdxdocs/actions/live-events.mdxis excluded by!**/*.mdxdocs/concepts/cache.mdxis excluded by!**/*.mdxdocs/concepts/personal-access-token.mdxis excluded by!**/*.mdxdocs/console/change-owner.mdxis excluded by!**/*.mdxdocs/console/single-sign-on.mdxis excluded by!**/*.mdxdocs/console/usage-billing.mdxis excluded by!**/*.mdxdocs/getting-started/_common/configure-production-sdk-url.mdxis excluded by!**/*.mdxdocs/getting-started/_common/create-project.mdxis excluded by!**/*.mdxdocs/getting-started/integrate-auth/14_auth-js.mdxis excluded by!**/*.mdxdocs/getting-started/integrate-auth/16_nextjs_app_router.mdxis excluded by!**/*.mdxdocs/getting-started/integrate-auth/17_nextjs_pages_router.mdxis excluded by!**/*.mdxdocs/getting-started/local-development.mdxis excluded by!**/*.mdxdocs/guides/cli/15_config-identity-service.mdxis excluded by!**/*.mdxdocs/guides/cli/16_configure-oauth2-service.mdxis excluded by!**/*.mdxdocs/guides/cli/17_configure-permission-service.mdxis excluded by!**/*.mdxdocs/guides/cors.mdxis excluded by!**/*.mdxdocs/guides/manage-project-via-api.mdxis excluded by!**/*.mdxdocs/guides/permissions/overview.mdxis excluded by!**/*.mdxdocs/hydra/guides/custom-ui-oauth2.mdxis excluded by!**/*.mdxdocs/identities/get-started/account-recovery.mdxis excluded by!**/*.mdxdocs/identities/get-started/mfa.mdxis excluded by!**/*.mdxdocs/identities/get-started/passwordless.mdxis excluded by!**/*.mdxdocs/identities/get-started/setup.mdxis excluded by!**/*.mdxdocs/identities/get-started/social-sign-in.mdxis excluded by!**/*.mdxdocs/identities/model/manage-identity-schema.mdxis excluded by!**/*.mdxdocs/identities/sign-in/code_submission_limit.mdxis excluded by!**/*.mdxdocs/identities/sign-in/identifier-first-authentication.mdxis excluded by!**/*.mdxdocs/intro.mdxis excluded by!**/*.mdxdocs/keto/index.mdxis excluded by!**/*.mdxdocs/kratos/emails-sms/01_sending-emails-smtp.mdxis excluded by!**/*.mdxdocs/kratos/manage-identities/25_import-user-accounts-identities.mdxis excluded by!**/*.mdxdocs/kratos/mfa/05_step-up-authentication.mdxis excluded by!**/*.mdxdocs/kratos/mfa/15_totp.mdxis excluded by!**/*.mdxdocs/kratos/mfa/20_webauthn-fido-yubikey.mdxis excluded by!**/*.mdxdocs/kratos/mfa/25_lookup-secrets.mdxis excluded by!**/*.mdxdocs/kratos/organizations/organizations.mdxis excluded by!**/*.mdxdocs/kratos/passwordless/05_passkeys.mdxis excluded by!**/*.mdxdocs/kratos/quickstart.mdxis excluded by!**/*.mdxdocs/kratos/sdk/05_go.mdxis excluded by!**/*.mdxdocs/kratos/session-management/10_session-lifespan.mdxis excluded by!**/*.mdxdocs/kratos/social-signin/01_overview.mdxis excluded by!**/*.mdxdocs/kratos/social-signin/90_data-mapping.mdxis excluded by!**/*.mdxdocs/migrate-to-ory/auth0.mdxis excluded by!**/*.mdxdocs/migrate-to-ory/migrate/create-project.mdxis excluded by!**/*.mdxdocs/network/getting-started/index.mdxis excluded by!**/*.mdxdocs/security-compliance/personal-data-location.mdxis excluded by!**/*.mdxdocs/self-hosted/oel/kratos/upgrade.mdxis excluded by!**/*.mdxdocs/self-hosted/oel/oathkeeper/upgrade-oathkeeper.mdxis excluded by!**/*.mdxdocs/troubleshooting/40_mandatory-redirect-uri.mdxis excluded by!**/*.mdxdocs/troubleshooting/50_account-linking-response-code.mdxis excluded by!**/*.mdxsrc/components/Shared/keto/index.mdxis excluded by!**/*.mdxsrc/components/Shared/keto/overview.mdxis excluded by!**/*.mdxsrc/components/Shared/kratos/quickstart.mdxis excluded by!**/*.mdx
📒 Files selected for processing (11)
.github/workflows/static_checks.ymlREADME.mddocs/kratos/guides/multi-tenancy-multitenant.mdpackage.jsonsrc/components/ConsoleLink/console-link.tsxsrc/components/ConsoleLink/console-routes.tssrc/components/OryHeroDemo.jsxsrc/components/OryNetworkCta/ory-network-cta.tsxsrc/components/welcomePage/ContentSection.tsxsrc/hooks/index.tssrc/scripts/check-console-links.js
Related Issue or Design Document
Checklist
If this pull request addresses a security vulnerability,
I confirm that I got approval (please contact security@ory.com) from the maintainers to push the changes.
Summary by CodeRabbit
Release Notes
Documentation
console.ory.shtoconsole.ory.comacross documentation and components.Chores