-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(unify): allow prompts to auto-open after set time #19571
Conversation
Thanks for taking the time to open a PR!
|
Test summaryRun details
View run in Cypress Dashboard ➡️ Flakiness
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. You can manage this integration in this project's settings in the Cypress Dashboard |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -117,6 +117,18 @@ export function makeDataContext (options: MakeDataContextOptions): DataContext { | |||
closeActiveProject () { | |||
return openProject.closeActiveProject() | |||
}, | |||
getCurrentProjectSavedState () { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should make a note to bring savedState
into data-context. We should be able to get this data via data-context
, so the state functionality should be lifted into the ProjectLifecycleManager/config code
@@ -386,4 +414,8 @@ onKeyStroke(' ', (event) => { | |||
resetPrompt(event) | |||
}) | |||
|
|||
onKeyStroke('Escape', (event) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment above: // using onKeyStroke twice as array of keys is not supported till vueuse 6.6:
. We use 7.2.2
now, can we make this simpler?
* 10.0-release: chore: change integration->e2e throughout code base (#19345) fix(unify): correct location of snapshot pinning UI in runner (#19640) fix: runnable header open in IDE and filename (#19630) feat(unify): allow prompts to auto-open after set time (#19571) test(unify): Additional navigation tests for log in workflows (#19574) fix(unify): minor UI bugs in the reporter (#19445) fix: surface openSSL unhandled rejection errors that occur within plugin code (#19598) feat: add spec watcher to data-context (#19583)
* 10.0-release: (28 commits) fix: flake in shelljs scripts during postinstall (#19678) fix: various lifecycle issues, followup to #19572 (#19683) feat: error screens in app when cloud runs are failing (#18980) fix: open browser at correct time during lifecycle (#19572) chore: remove unused types (#19621) fix: fileparts processing and cleanup (#19660) chore: change integration->e2e throughout code base (#19345) fix(unify): correct location of snapshot pinning UI in runner (#19640) fix: runnable header open in IDE and filename (#19630) feat(unify): allow prompts to auto-open after set time (#19571) test(unify): Additional navigation tests for log in workflows (#19574) fix(unify): minor UI bugs in the reporter (#19445) fix: surface openSSL unhandled rejection errors that occur within plugin code (#19598) feat: add spec watcher to data-context (#19583) chore: remove unused components (#19618) fix: dev-server types (#19576) test: ct audit updates (#19464) chore: fix temporarily skipped specs on 10.0-release (#19611) fix: remove gremlins characters from cypress types freeze ipc ...
@marktnoonan I know this is months after this was merged, but I just came across this code, and think we should revisit the approach here a bit. Most of the logic that exists in the client-side would probably be better managed in the GraphQL layer, with fields on
I know it currently works as is (though I ran into it because of a failing test elsewhere), but it's more of a bigger picture keeping where/how we expose information to the client consistent. Not a rush right now, but just wanted to mention it here. Will write up a ticket & put together a time to discuss at some point. |
This is a cleaned up version of #18743 with a couple of minor changes to adapt to the latest and greatest setup.
Additional details
This recreates the functionality developed in the old desktop-gui and applies it to the runner. There's a bit of nuance to the old implementation that implies handling of more than just the 2 prompts the way they work now. I've kept that nuance.
This PR also includes some tweaks to the header that were noticed while working on this ticket. So in Launchpad:
Summary of code changes
This PR:
currentProject
was populating config with a raw json object from the fixture file. The config now matches the array format that comes fromgetResolvedConfigFields
so the mocks and the real app have the same format.ci1
andorchestration1
to denote prompts for consistencyforceOpen
stuff relates toHow has the user experience changed?
If it's been more than 4 days since a project was first opened, and there is not yet a cloud project ID set up, the prompt encouraging the user to set up CI will appear when the runner is launched.
How to test
projectId
from the cypress.json file of the project that you plan to test.To change the saved state of the project, look for the
state.json
files nested under/Library/Application Support/Cypress/cy/staging/projects/
To play around with other things, modify the prompts here in
HeaderBarContent.vue
PR Tasks