Skip to content

Commit 40c2e5f

Browse files
authored
Merge branch 'develop' into csv-benchmark
2 parents 6c79da7 + fa62998 commit 40c2e5f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+706
-728
lines changed

.github/ISSUE_TEMPLATE/1-bug-report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ body:
55
attributes:
66
value: |
77
## If you are a customer of Cypress Cloud please utilize our [Support Portal](https://www.cypress.io/support/) for our fastest support!
8-
9-
### Have a question? 👉 [Ask in chat](https://on.cypress.io/chat) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
8+
9+
### Have a question? 👉 [Ask in chat](https://on.cypress.io/chat) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
1010
Issues in the Cypress repo are reserved for bugs and feature requests only. Questions on how to use Cypress will be closed.
1111
- type: textarea
1212
id: current-behavior
1313
attributes:
1414
label: Current behavior
15-
description: Please provide a description including screenshots, stack traces, etc. [Troubleshooting tips](https://on.cypress.io/troubleshooting).
15+
description: Please provide a description including screenshots, stack traces, etc. [Troubleshooting tips](https://docs.cypress.io/app/references/troubleshooting).
1616
placeholder: Currently...
1717
validations:
1818
required: true

.github/ISSUE_TEMPLATE/3-install-issue.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,23 @@ body:
66
attributes:
77
value: |
88
## If you are a customer of Cypress Cloud please utilize our [Support Portal](https://www.cypress.io/support/) for our fastest support!
9-
9+
1010
### Have a question? 👉 [Ask in chat](https://on.cypress.io/chat) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
1111
1212
If you're behind a corporate proxy, make sure to [configure it properly](https://on.cypress.io/proxy-configuration) before install.
1313
- type: textarea
1414
id: current-behavior
1515
attributes:
1616
label: Current behavior
17-
description: Please provide a description including screenshots, stack traces, DEBUG logs, etc. [Troubleshooting tips](https://on.cypress.io/troubleshooting)
17+
description: Please provide a description including screenshots, stack traces, DEBUG logs, etc. [Troubleshooting tips](https://docs.cypress.io/app/references/troubleshooting)
1818
placeholder: When I try to download Cypress...
1919
validations:
2020
required: true
2121
- type: textarea
2222
id: debug-logs
2323
attributes:
2424
label: Debug logs
25-
description: Include DEBUG logs setting [`DEBUG=cypress:*`](https://on.cypress.io/troubleshooting#Print-DEBUG-logs/). Include npm/yarn logs if applicable.
25+
description: Include DEBUG logs setting [`DEBUG=cypress:*`](https://docs.cypress.io/app/references/troubleshooting#Print-DEBUG-logs/). Include npm/yarn logs if applicable.
2626
placeholder: Debug logs
2727
render: Text
2828
- type: input

.github/ISSUE_TEMPLATE/5-cy-prompt-issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ body:
1111
id: current-behavior
1212
attributes:
1313
label: Current behavior
14-
description: Please provide a description including screenshots, stack traces, etc. [Troubleshooting tips](https://on.cypress.io/troubleshooting).
14+
description: Please provide a description including screenshots, stack traces, etc. [Troubleshooting tips](https://docs.cypress.io/app/references/troubleshooting).
1515
placeholder: Currently...
1616
validations:
1717
required: true

.github/workflows/update-browser-versions.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
jobs:
88
update-browser-versions:
99
runs-on: ubuntu-latest
10+
permissions:
11+
pull-requests: write
1012
env:
1113
CYPRESS_BOT_APP_ID: ${{ secrets.CYPRESS_BOT_APP_ID }}
1214
BASE_BRANCH: develop
@@ -47,7 +49,7 @@ jobs:
4749
- name: Determine name of new branch and if it already exists
4850
id: check-branch
4951
env:
50-
BRANCH_NAME: update-chrome-stable-from-${{ steps.get-versions.outputs.current_stable_version }}-beta-from-${{ steps.get-versions.outputs.current_beta_version }}
52+
BRANCH_NAME: update-chrome-stable-from-${{ steps.get-versions.outputs.latest_stable_version }}-beta-from-${{ steps.get-versions.outputs.latest_beta_version }}
5153
run: |
5254
echo "branch_name=${{ env.BRANCH_NAME }}" >> $GITHUB_OUTPUT
5355
echo "branch_exists=$(git show-ref --verify --quiet refs/remotes/origin/${{ env.BRANCH_NAME }} && echo 'true')" >> $GITHUB_OUTPUT
@@ -127,5 +129,4 @@ jobs:
127129
branchName: '${{ steps.check-branch.outputs.branch_name }}',
128130
description: '${{ steps.get-versions.outputs.description }}',
129131
body: 'This PR was auto-generated to update the version(s) of Chrome for driver tests',
130-
addToProjectBoard: true,
131132
})

guides/studio-development.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ To ensure that we get the same results from our Studio AI calls every time, we s
7070

7171
```js
7272
const aiOutput = 'cy.get(\'button\').should(\'have.text\', \'Increment\')'
73-
cy.mockNodeCloudStreamingRequest({
73+
cy.mockNodeCloudRequest({
7474
url: '/studio/testgen/n69px6/generate',
7575
method: 'post',
7676
body: { recommendations: [{ content: aiOutput }] },

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
"@types/fs-extra": "^9.0.13",
111111
"@types/getenv": "^1.0.3",
112112
"@types/glob": "7.1.1",
113-
"@types/gulp": "^4.0.9",
113+
"@types/gulp": "^4.0.18",
114114
"@types/lodash": "^4.14.168",
115115
"@types/markdown-it": "12.2.3",
116116
"@types/mocha": "8.0.3",

packages/app/cypress/e2e/studio/studio-state-management.cy.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,12 @@ describe('Cypress Studio - State Management', () => {
6868
it('remains in studio mode when the test name is changed on the file system and file watching is disabled', () => {
6969
launchStudio({ cliArgs: ['--config', 'watchForFileChanges=false'] })
7070

71+
// since we aren't logged in, we need to close the connect to cloud panel
72+
cy.get('[data-cy="studio-error"]').within(() => {
73+
cy.contains('Connect to Cypress Cloud').should('be.visible')
74+
cy.get('[aria-label="Close"]').click()
75+
})
76+
7177
cy.findByTestId('record-button-recording').should('be.visible')
7278

7379
incrementCounter(0)

packages/app/cypress/e2e/studio/studio-ui.cy.ts

Lines changed: 21 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -146,24 +146,23 @@ describe('studio functionality', () => {
146146
cy.location().its('hash').should('contain', 'suiteId=r1').and('not.contain', 'testId=')
147147
})
148148

149-
// TODO: un-skip this test when we enable Studio AI
150-
it.skip('opens a cloud studio session with AI enabled', () => {
149+
it('opens a cloud studio session with AI enabled', () => {
151150
cy.mockNodeCloudRequest({
152-
url: '/studio/testgen/n69px6/enabled',
151+
url: '/studio/config?projectSlug=n69px6',
153152
method: 'get',
154-
body: { enabled: true },
153+
body: { AI: { enabled: true } },
155154
})
156155

157156
// this endpoint gets called twice, so we need to mock it twice
158157
cy.mockNodeCloudRequest({
159-
url: '/studio/testgen/n69px6/enabled',
158+
url: '/studio/config?projectSlug=n69px6',
160159
method: 'get',
161-
body: { enabled: true },
160+
body: { AI: { enabled: true } },
162161
})
163162

164163
const aiOutput = 'cy.get(\'button\').should(\'have.text\', \'Increment\')'
165164

166-
cy.mockNodeCloudStreamingRequest({
165+
cy.mockNodeCloudRequest({
167166
url: '/studio/testgen/n69px6/generate',
168167
method: 'post',
169168
body: { recommendations: [{ content: aiOutput }] },
@@ -182,50 +181,26 @@ describe('studio functionality', () => {
182181
url: 'http://localhost:3000/cypress/e2e/index.html',
183182
})
184183

185-
const deferred = pDefer()
186-
187-
loadProjectAndRunSpec()
188-
189-
cy.findByTestId('studio-panel').should('not.exist')
190-
191-
cy.intercept('/cypress/e2e/index.html', () => {
192-
// wait for the promise to resolve before responding
193-
// this will ensure the studio panel is loaded before the test finishes
194-
return deferred.promise
195-
}).as('indexHtml')
196-
197-
cy.contains('visits a basic html page')
198-
.closest('.runnable-wrapper')
199-
.findByTestId('launch-studio')
200-
.click()
201-
202-
// cloud studio is loaded immediately
203-
cy.findByTestId('studio-panel').then(() => {
204-
// check for the loading panel from the app first
205-
cy.findByTestId('loading-studio-panel').should('be.visible')
206-
// we've verified the studio panel is loaded, now resolve the promise so the test can finish
207-
deferred.resolve()
208-
})
209-
210-
cy.wait('@indexHtml')
211-
212-
// Studio re-executes spec before waiting for commands - wait for the spec to finish executing.
213-
cy.waitForSpecToFinish()
214-
215-
// Verify the studio panel is still open
216-
cy.findByTestId('studio-panel')
217-
218-
// make sure studio is not loading
219-
cy.findByTestId('loading-studio-panel').should('not.exist')
220-
221-
// Verify that AI is enabled
222-
cy.findByTestId('ai-status-text').should('contain.text', 'Enabled')
184+
launchStudio()
223185

224186
// Verify that the AI output is correct
225-
cy.findByTestId('recommendation-editor').should('contain', aiOutput)
187+
cy.get('.cm-is-recommendation-line').should('contain', aiOutput)
226188
})
227189

228190
it('studio AI is marked as coming soon', () => {
191+
cy.mockNodeCloudRequest({
192+
url: '/studio/config?projectSlug=n69px6',
193+
method: 'get',
194+
body: { AI: { enabled: false, disabledReason: 'studio_ai_feature_flag_disabled' }, featureFlags: { studioAI: false } },
195+
})
196+
197+
// this endpoint gets called twice, so we need to mock it twice
198+
cy.mockNodeCloudRequest({
199+
url: '/studio/config?projectSlug=n69px6',
200+
method: 'get',
201+
body: { AI: { enabled: false, disabledReason: 'studio_ai_feature_flag_disabled' }, featureFlags: { studioAI: false } },
202+
})
203+
229204
launchStudio()
230205

231206
// Verify that AI is coming soon

packages/data-context/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
"@types/dedent": "^0.7.2",
102102
"@types/ejs": "^3.1.5",
103103
"@types/fs-extra": "^8.1.5",
104-
"@types/graphql-resolve-batch": "1.1.6",
104+
"@types/graphql-resolve-batch": "1.1.11",
105105
"@types/jest": "^30.0.0",
106106
"@types/micromatch": "4.0.9",
107107
"@types/parse-glob": "3.0.29",

packages/data-context/src/data/ProjectConfigIpc.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ export class ProjectConfigIpc extends EventEmitter {
246246
})
247247

248248
this.once('file:preprocessor:overridden', ({ handlerText }) => {
249+
debug('file:preprocessor:overridden: %s', handlerText)
249250
this.onDebugData({
250251
filePreprocessorHandlerText: handlerText,
251252
})

0 commit comments

Comments
 (0)