Skip to content

fix(PLT-4375): fix deploy_preview (jarvis crash) and functional auto-close e2e - #775

Draft
mfrederic wants to merge 4 commits into
mainfrom
fix/NOJIRA-123_octokit_rest_resolution
Draft

mfrederic wants to merge 4 commits into
mainfrom
fix/NOJIRA-123_octokit_rest_resolution

Conversation

@mfrederic

@mfrederic mfrederic commented Oct 6, 2026 •

Copy link
Copy Markdown

Fixes two CI failures that predate #769 and show up on every recent branch.

1. deploy_preview: jarvis crash

TypeError: isPlainObject.isPlainObject is not a function
  at node_modules/@octokit/rest/node_modules/@octokit/endpoint/dist-node/index.js:22

CI runs yarn add -W @typeform/jarvis on top of yarn install --frozen-lockfile. Jarvis (25.1.18) needs @octokit/rest@^22, but the lockfile also has @octokit/rest@^16 via lerna → @lerna/github-client. Yarn 1 hoists rest@22 to the root and nests rest@16's sub-dependencies (request@5, endpoint@6) under it, while is-plain-object@5 lands under @lerna/github-client. The nested endpoint@6 then resolves the root is-plain-object@2, which has no isPlainObject named export. Jarvis is installed unpinned, so a recent jarvis release triggered it.

Fix: "@octokit/rest": "^22.0.1" in resolutions, so only one version is installed. lerna only uses the GitHub client for lerna publish --create-release, which this repo doesn't use. yarn.lock regenerated via yarn install; besides octokit packages, yarn pruned the unused @typeform/embed@5.5.1 and @typeform/embed-react@4.7.0 entries.

Verified in a clean copy: frozen install then yarn add -W @typeform/jarvis gives no nested @octokit/rest/node_modules, and the jarvis binary starts without the error.

2. functional: auto-close e2e

auto-close.cy.ts (JS and HTML tests) timed out on [data-qa-index="10"]. The test opens the hosted demo form (HLjqXS5W), whose opinion scale is now rendered by echo-rx. Echo-rx (Radix RadioGroup) never emits data-qa-index; only the legacy Sampler component did, and the renderer repo removed that fallback in Sept 2026 (renderer#1474, blocks#3105).

Fix: select the radio by role and value: button[role="radio"][value="10"]. I checked this selector against the live form's DOM in a browser; the updated spec has not been run in Cypress locally, so this PR's CI is the first real run.

Not addressed

visual (mobile fullscreen VRT diffs) and the PR size labeler (401, likely missing pull-requests: write) are separate.

🤖 Generated with Claude Code

mfrederic and others added 2 commits October 6, 2026 17:55
deploy_preview installs @typeform/jarvis (needs @octokit/rest@22) on top of
a lockfile that also has @octokit/rest@16 via lerna. Yarn 1 nests rest@16's
sub-dependencies under rest@22, so endpoint@6 resolves is-plain-object@2 and
crashes with "isPlainObject.isPlainObject is not a function".

Resolve @octokit/rest to ^22.0.1 so only one version is installed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…e e2e

The hosted form now renders the echo-rx OpinionScale, which does not emit
data-qa-index (only the legacy Sampler component did), so
[data-qa-index="10"] is never found. Select the Radix radio by role and
value instead.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@mfrederic mfrederic changed the title fix(PLT-4375): force single @octokit/rest version to fix jarvis crash fix(PLT-4375): fix deploy_preview (jarvis crash) and functional auto-close e2e Oct 6, 2026
@Typeform Typeform deleted a comment from typeform-ops-gha Oct 7, 2026
…and reload e2e

The hosted form now renders the echo-rx OpinionScale, which emits neither
data-value-number nor data-qa-index. Select the Radix radio by role and
value instead, as done for auto-close.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@mfrederic
mfrederic force-pushed the fix/NOJIRA-123_octokit_rest_resolution branch from 4845d53 to 1056e26 Compare October 7, 2026 10:29
@jenkins-tf

Copy link
Copy Markdown
Collaborator

[BOT] Preview available with hash 71ff0d91d44ce188947c3a092085abc5d7e96946 here.

This branch has not been deployed

No deployments
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