Skip to content

test(e2e): Ignore - #9303

Open
wobsoriano wants to merge 2 commits into
mainfrom
rob/test-fix-android-maestro
Open

test(e2e): Ignore#9303
wobsoriano wants to merge 2 commits into
mainfrom
rob/test-fix-android-maestro

Conversation

@wobsoriano

Copy link
Copy Markdown
Member

Description

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@changeset-bot

changeset-bot Bot commented Jul 31, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c0f648c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@clerk/expo Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview Jul 31, 2026 4:13pm
swingset Ready Ready Preview Jul 31, 2026 4:13pm

Request Review

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-07-31T16:13:59.894Z

Summary

Metric Count
Packages analyzed 19
Packages with changes 0
🔴 Breaking changes 0
🟡 Non-breaking changes 0
🟢 Additions 0

No API Changes Detected

All packages have stable APIs with no detected changes.


Report generated by Break Check

Last ran on c0f648c.

@pkg-pr-new

pkg-pr-new Bot commented Jul 31, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9303

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9303

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9303

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9303

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9303

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9303

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9303

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9303

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9303

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9303

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9303

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9303

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9303

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9303

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9303

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9303

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9303

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9303

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9303

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9303

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9303

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9303

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9303

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9303

commit: c0f648c

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The change adds runtime-controlled Android debug logging for Clerk Expo and the Clerk Android SDK. Native configuration failures now emit warnings in release builds, while development builds retain detailed error logs. The Expo native template adds conditional OkHttp alignment rules. The profile navigation flow now covers separate iOS and Android paths. A patch changeset documents the behavior.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (1 warning, 2 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title references E2E testing but does not describe the Android Maestro, OkHttp alignment, or debug logging changes. Replace the title with a specific summary, such as “test(e2e): Align Android dependencies and update embedded profile flow.”
Description check ❓ Inconclusive The description contains only the default template and checklist, so it does not explain the changes or how to test them. Add a brief summary of the Android dependency, flow, and debug logging changes, plus clear testing instructions.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
packages/expo/android/src/main/java/expo/modules/clerk/ClerkExpoDebug.kt (1)

9-10: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consider consolidating debugLog here instead of duplicating it per module.

debugLog(tag, message) is defined identically in ClerkExpoModule.kt, ClerkAuthViewModule.kt, and ClerkUserProfileViewModule.kt, each guarded by clerkExpoDebugEnabled(). Move a single internal fun debugLog(tag: String, message: String) into this file and have the three modules call the shared version. This keeps the debug-logging policy defined in one place and avoids future drift if the guard condition changes again.

♻️ Proposed consolidation
 internal fun clerkExpoDebugEnabled(): Boolean =
     BuildConfig.DEBUG || Log.isLoggable(CLERK_EXPO_DEBUG_TAG, Log.DEBUG)
+
+internal fun debugLog(tag: String, message: String) {
+    if (clerkExpoDebugEnabled()) {
+        Log.d(tag, message)
+    }
+}

Then remove the private debugLog copies from the three modules.

🤖 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 `@packages/expo/android/src/main/java/expo/modules/clerk/ClerkExpoDebug.kt`
around lines 9 - 10, Move the shared debugLog(tag: String, message: String)
implementation into ClerkExpoDebug.kt, retaining the clerkExpoDebugEnabled()
guard and existing logging behavior. Update ClerkExpoModule,
ClerkAuthViewModule, and ClerkUserProfileViewModule to use this internal helper,
then remove their duplicated private debugLog definitions.
🤖 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.

Nitpick comments:
In `@packages/expo/android/src/main/java/expo/modules/clerk/ClerkExpoDebug.kt`:
- Around line 9-10: Move the shared debugLog(tag: String, message: String)
implementation into ClerkExpoDebug.kt, retaining the clerkExpoDebugEnabled()
guard and existing logging behavior. Update ClerkExpoModule,
ClerkAuthViewModule, and ClerkUserProfileViewModule to use this internal helper,
then remove their duplicated private debugLog definitions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 3a7ea04b-4dd7-40f1-b2c9-fe580acb5f07

📥 Commits

Reviewing files that changed from the base of the PR and between 38f347c and 87b7e3b.

📒 Files selected for processing (7)
  • .changeset/expo-native-debug-logging.md
  • .github/workflows/expo-native-build.yml
  • packages/expo/android/src/main/java/expo/modules/clerk/ClerkAuthViewModule.kt
  • packages/expo/android/src/main/java/expo/modules/clerk/ClerkExpoDebug.kt
  • packages/expo/android/src/main/java/expo/modules/clerk/ClerkExpoModule.kt
  • packages/expo/android/src/main/java/expo/modules/clerk/ClerkUserProfileViewModule.kt
  • packages/expo/src/provider/nativeClientSync.tsx
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)
  • clerk/clerk-ios (auto-detected)
  • clerk/clerk-android (auto-detected)
  • clerk/cli (auto-detected)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 `@integration/templates/expo-native/plugins/withClerkOkHttpAlignment.js`:
- Around line 19-23: Update the injection guard in withClerkOkHttpAlignment to
verify that all three required OkHttp coordinates are already present before
skipping GRADLE_BLOCK, or use a unique marker for the complete injected block.
Ensure configurations containing only com.squareup.okhttp3:okhttp:5.4.0 still
receive the logging-interceptor and okhttp-urlconnection rules.
🪄 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: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 5603267a-a07d-42a2-8355-c906d46e6f66

📥 Commits

Reviewing files that changed from the base of the PR and between 87b7e3b and c0f648c.

📒 Files selected for processing (3)
  • integration/templates/expo-native/app.json
  • integration/templates/expo-native/plugins/withClerkOkHttpAlignment.js
  • integration/tests/expo-native/flows/embedded-profile-host-back.yaml
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)
  • clerk/clerk-ios (auto-detected)
  • clerk/clerk-android (auto-detected)
  • clerk/cli (auto-detected)

Comment on lines +19 to +23
module.exports = function withClerkOkHttpAlignment(config) {
return withAppBuildGradle(config, cfg => {
if (!cfg.modResults.contents.includes('com.squareup.okhttp3:okhttp:5.4.0')) {
cfg.modResults.contents += GRADLE_BLOCK;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect all existing OkHttp declarations and force rules in the Expo fixture.
rg -n -C 3 \
  'com\.squareup\.okhttp3:(okhttp|logging-interceptor|okhttp-urlconnection)|resolutionStrategy|force' \
  integration/templates/expo-native

Repository: clerk/javascript

Length of output: 1983


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- plugin and related tests ---'
sed -n '1,180p' integration/templates/expo-native/plugins/withClerkOkHttpAlignment.js
rg -n -C 4 \
  'withClerkOkHttpAlignment|GRADLE_BLOCK|logging-interceptor|okhttp-urlconnection|resolutionStrategy|okhttp:5\.4\.0' \
  integration packages .github 2>/dev/null | head -n 300 || true

printf '%s\n' '--- Expo template Gradle files ---'
find integration/templates/expo-native -type f \( -name '*.gradle' -o -name '*.gradle.kts' -o -name 'app.json' -o -name 'app.config.*' \) -print

Repository: clerk/javascript

Length of output: 6057


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path

path = Path("integration/templates/expo-native/plugins/withClerkOkHttpAlignment.js")
text = path.read_text()
marker = "com.squareup.okhttp3:okhttp:5.4.0"
block = [
    "com.squareup.okhttp3:okhttp:5.4.0",
    "com.squareup.okhttp3:logging-interceptor:5.4.0",
    "com.squareup.okhttp3:okhttp-urlconnection:5.0.0-alpha.16",
]

def inject(contents):
    return contents + ("""\\nconfigurations.all {
    resolutionStrategy {
        force 'com.squareup.okhttp3:okhttp:5.4.0'
        force 'com.squareup.okhttp3:logging-interceptor:5.4.0'
        force 'com.squareup.okhttp3:okhttp-urlconnection:5.0.0-alpha.16'
    }
}
""" if marker not in contents else "")

cases = {
    "empty": "",
    "complete_block": "\\n".join(f"force '{x}'" for x in block),
    "core_only": "dependencies { implementation 'com.squareup.okhttp3:okhttp:5.4.0' }",
    "core_and_unrelated": "\\n".join([
        "implementation 'com.squareup.okhttp3:okhttp:5.4.0'",
        "force 'com.squareup.okhttp3:other:1.0.0'",
    ]),
}
for name, contents in cases.items():
    output = inject(contents)
    missing = [x for x in block if x not in output]
    print(f"{name}: injected={output != contents}, missing_required_coordinates={missing}")
PY

Repository: clerk/javascript

Length of output: 615


Check all required OkHttp coordinates before skipping injection. If another plugin adds only com.squareup.okhttp3:okhttp:5.4.0, this condition skips the logging-interceptor and okhttp-urlconnection rules. Use a unique block marker or verify all three coordinates before skipping injection.

🤖 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 `@integration/templates/expo-native/plugins/withClerkOkHttpAlignment.js` around
lines 19 - 23, Update the injection guard in withClerkOkHttpAlignment to verify
that all three required OkHttp coordinates are already present before skipping
GRADLE_BLOCK, or use a unique marker for the complete injected block. Ensure
configurations containing only com.squareup.okhttp3:okhttp:5.4.0 still receive
the logging-interceptor and okhttp-urlconnection rules.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant