Skip to content

Conversation

@porcellus
Copy link
Collaborator

Summary of change

(A few sentences about this PR)

Related issues

  • Link to issue1 here
  • Link to issue1 here

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)

Documentation changes

(If relevant, please create a PR in our docs repo, or create a checklist here highlighting the necessary changes)

Checklist for important updates

  • Changelog has been updated
  • frontendDriverInterfaceSupported.json file has been updated (if needed)
  • Changes to the version if needed
    • In package.json
    • In package-lock.json
    • In lib/ts/version.ts
  • Had run npm run build-pretty
  • Had installed and ran the pre-commit hook
  • Issue this PR against the latest non released version branch.
    • To know which one it is, run find the latest released tag (git tag) in the format vX.Y.Z, and then find the latest branch (git branch --all) whose X.Y is greater than the latest released tag.
    • If no such branch exists, then create one from the latest released branch.
  • If added a new recipe interface, then make sure that the implementation of it uses NON arrow functions only (like someFunc: function () {..}).
  • If I added a new recipe, I also added the recipe entry point into the size-limit section of package.json with the size limit set to the current size rounded up.
  • If I added a new recipe, I also added the recipe entry point into the rollup.config.mjs
  • If I added a new login method, I modified the list in lib/ts/types.ts
  • If I added a factor id, I modified the list in lib/ts/recipe/multifactorauth/types.ts

Remaining TODOs for this PR

  • Item1
  • Item2

@github-actions
Copy link
Contributor

github-actions bot commented Aug 8, 2025

size-limit report 📦

Path Size
lib/build/index.js 24.83 KB (0%)
recipe/session/index.js 25.53 KB (0%)
recipe/session/prebuiltui.js 30.33 KB (0%)
recipe/thirdparty/index.js 32.5 KB (0%)
recipe/emailpassword/index.js 11.92 KB (0%)
recipe/emailverification/index.js 8.17 KB (0%)
recipe/passwordless/index.js 15.77 KB (0%)
recipe/emailverification/prebuiltui.js 35.08 KB (0%)
recipe/thirdparty/prebuiltui.js 54.28 KB (0%)
recipe/emailpassword/prebuiltui.js 41.29 KB (0%)
recipe/passwordless/prebuiltui.js 129.41 KB (0%)
recipe/multitenancy/index.js 7.02 KB (0%)
recipe/multifactorauth/index.js 11.79 KB (0%)
recipe/multifactorauth/prebuiltui.js 34.01 KB (0%)
recipe/oauth2provider/index.js 7.78 KB (0%)
recipe/oauth2provider/prebuiltui.js 32.44 KB (0%)
recipe/webauthn/index.js 10.74 KB (0%)
recipe/webauthn/prebuiltui.js 58.57 KB (0%)

);
});
page.on("requestfinished", async (req) => {
if (req.method() === "OPTION") {
Copy link

Choose a reason for hiding this comment

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

The HTTP method should be OPTIONS (with an 'S' at the end) rather than OPTION. This typo will prevent the condition from matching actual OPTIONS requests, causing them to be processed when they should be skipped.

Suggested change
if (req.method() === "OPTION") {
if (req.method() === "OPTIONS") {

Spotted by Diamond

Is this helpful? React 👍 or 👎 to let us know.

Comment on lines +120 to +128
const resp = await req.response();
let respText;
try {
respText = req.url().startsWith(TEST_APPLICATION_SERVER_BASE_URL)
? await resp.text()
: "response omitted";
} catch (e) {
respText = "response loading failed " + e.message;
}
Copy link

Choose a reason for hiding this comment

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

When handling failed requests, resp could be null or undefined, which would cause errors when calling resp.status() or resp.text(). Consider adding a null check before accessing response properties:

const resp = await req.response();
let respText;

if (!resp) {
    respText = 'No response available';
} else {
    try {
        respText = req.url().startsWith(TEST_APPLICATION_SERVER_BASE_URL)
            ? await resp.text()
            : "response omitted";
    } catch (e) {
        respText = "response loading failed " + e.message;
    }
}

This will prevent potential runtime errors when processing failed requests.

Suggested change
const resp = await req.response();
let respText;
try {
respText = req.url().startsWith(TEST_APPLICATION_SERVER_BASE_URL)
? await resp.text()
: "response omitted";
} catch (e) {
respText = "response loading failed " + e.message;
}
const resp = await req.response();
let respText;
if (!resp) {
respText = 'No response available';
} else {
try {
respText = req.url().startsWith(TEST_APPLICATION_SERVER_BASE_URL)
? await resp.text()
: "response omitted";
} catch (e) {
respText = "response loading failed " + e.message;
}
}

Spotted by Diamond

Is this helpful? React 👍 or 👎 to let us know.

@porcellus porcellus closed this Aug 10, 2025
@porcellus porcellus deleted the ci/test-example-failure-debug branch August 10, 2025 18:40
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.

2 participants