Skip to content
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

misc: ACI empty state slideshows #26692

Merged
merged 19 commits into from
May 12, 2023
Merged

Conversation

mike-plummer
Copy link
Contributor

@mike-plummer mike-plummer commented May 8, 2023

Additional details

Replacing four views with a new slideshow design from Figma (see referenced issue for links)

  • Debug: Not Logged In
  • Debug: No Recorded Runs
  • Runs: No Recorded Runs
  • Runs: Not Logged In and/or Project Not Connected

For slides I just did the MVP of cross-slide fade for now, described "extra credit" enhancements can be implemented later if determined to be worth it.

Each Promo will record an event when it is seen, CTAs & links include UTM params to determine source.

Steps to test

Easiest way to test this is to use DebugEmptyStates.cy.tsx and RunsContainer.cy.tsx specs

How has the user experience changed?

Debug: Not Logged In

debug_notLoggedIn.mov

Debug: No Recorded Runs
Note: Mocked state for this video so no record key is showing in command

debug_empty.mov

Runs: Not Connected

runs_connect.mov

Runs: No Recorded Runs
Note: Mocked state for this video so no record key is showing in command

runs_empty.mov

PR Tasks

@mike-plummer mike-plummer force-pushed the mikep/26181-aci-empty-states branch from d5fabc2 to b5597e1 Compare May 8, 2023 19:55
@mike-plummer mike-plummer changed the title feat: ACI empty state slideshows misc: ACI empty state slideshows May 8, 2023
@cypress
Copy link

cypress bot commented May 8, 2023

8 failed and 8 flaky tests on run #46064 ↗︎

8 14924 600 0 Flakiness 8

Details:

run ci
Project: cypress Commit: c5d404a426
Status: Failed Duration: 17:30 💡
Started: May 8, 2023 8:11 PM Ended: May 8, 2023 8:29 PM
Failed  commands/aliasing.cy.js • 0 failed tests • 5x-driver-firefox

View Output Video

Test Artifacts
Failed  e2e/origin/commands/traversal.cy.ts • 0 failed tests • 5x-driver-firefox

View Output Video

Test Artifacts
Failed  cypress/cy.cy.js • 0 failed tests • 5x-driver-firefox

View Output Video

Test Artifacts
Failed  commands/waiting.cy.js • 0 failed tests • 5x-driver-firefox

View Output Video

Test Artifacts
Failed  commands/command_option_immutability.cy.js • 0 failed tests • 5x-driver-firefox

View Output Video

Test Artifacts

The first 5 failed specs are shown, see all 887 specs in Cypress Cloud.

Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-firefox

View Output Video

Test Artifacts
network stubbing > intercepting request > can delay and throttle a StaticResponse Output
Flakiness  create-from-component.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
... > runs generated spec Output Screenshots Video
Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-electron

View Output Video

Test Artifacts
network stubbing > intercepting request > can delay and throttle a StaticResponse Output Video
Flakiness  commands/net_stubbing.cy.ts • 2 flaky tests • 5x-driver-chrome:beta

View Output Video

Test Artifacts
network stubbing > intercepting request > can delay and throttle a StaticResponse Output Video
... > stops waiting when an fetch request is canceled Output Video
Flakiness  commands/net_stubbing.cy.ts • 1 flaky test • 5x-driver-chrome

View Output Video

Test Artifacts
network stubbing > intercepting request > can delay and throttle a StaticResponse Output Video

The first 5 flaky specs are shown, see all 6 specs in Cypress Cloud.

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

@cypress
Copy link

cypress bot commented May 8, 2023

5 flaky tests on run #46265 ↗︎

0 464 6 0 Flakiness 5

Details:

fix scrolling with centered flexbox
Project: cypress Commit: 460313f447
Status: Passed Duration: 12:56 💡
Started: May 12, 2023 5:43 PM Ended: May 12, 2023 5:56 PM
Flakiness  create-from-component.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
... > runs generated spec Output Screenshots Video
Flakiness  runs.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
App: Runs > Runs - Create Project > when a project is created, injects new projectId into the config file, and sends expected UTM params Output Screenshots Video
Flakiness  specs_list_latest_runs.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
App/Cloud Integration - Latest runs and Average duration > when no runs are recorded > shows placeholders for all visible specs Output Screenshots Video
Flakiness  cypress-in-cypress-component.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
Cypress In Cypress CT > default config > redirects to the specs list with error if a spec is not found Output Screenshots Video
Flakiness  cypress-origin-communicator.cy.ts • 1 flaky test • app-e2e

View Output Video

Test Artifacts
Cypress In Cypress Origin Communicator > cy.origin passivity with app interactions > passes upon test reload mid test execution Output Screenshots Video

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

@mike-plummer mike-plummer marked this pull request as ready for review May 9, 2023 16:29
Copy link
Contributor

@lmiller1990 lmiller1990 left a comment

Choose a reason for hiding this comment

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

Some basic comments/questions, looking good.

import RecordPromptAdapter from '@cy/gql-components/RecordPromptAdapter.vue'
import { DEBUG_SLIDESHOW } from '../utils/constants'
import GuideCard1 from '../guide/GuideCard1.vue'
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a suggestion for future PRs, I think we can do this like you often see in React using a namespace:

export const Guide = {
  Card1,
  Card2
}

// ...
<template>
  <Guide.Card1 />
  <Guide.Card2 />
</template>

Copy link
Contributor

Choose a reason for hiding this comment

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

This is fine too, though 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Love it, definitely will restructure. I knew exactly how I would structure all of this state & these components in React but was struggling to map that into the "Vue way"

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, no problem - not sure why this is less common in Vue world, same patterns should generally work.

Copy link
Contributor

Choose a reason for hiding this comment

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

LMK when you do this (or if you decide not to) and I can approve, everything else is looking pretty good to me.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I ended up writing a simple wrapper for each of the sets of cards (DebugGuide, DebugTour, etc) so the card components don't have to be referenced en-masse outside that directory. Given how the different slideshows were structured I didn't end up seeing much organizational benefit from the namespacing suggestion

packages/app/src/debug/guide/GuideCard1.vue Show resolved Hide resolved
const { t } = useI18n()

defineProps<{
action: () => void
Copy link
Contributor

Choose a reason for hiding this comment

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

We've got this defineProps a lot. It's quite simple, but might be worth trying to find an abstraction (I suggested one, but it might not work here - I didn't try it yet).

Wouldn't consider this to be a blocker, but food for thought - do you think these duplication is worth the effort to avoid?

packages/frontend-shared/src/components/Slideshow.vue Outdated Show resolved Hide resolved
Copy link
Contributor

@warrensplayer warrensplayer left a comment

Choose a reason for hiding this comment

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

A few layout/component comments while I continue to review the code.

* Implement promo on `DebugNoProject` view
* Move Slideshow & Promo to `packages/app`
* Consolidate Guide & Tour setup into wrapper components
* Fix styling
* Delete unused assets
* Use `grid` layout for `PromoCard`
* Fix button styling in `PromoAction`
* Update changelog
@lmiller1990 lmiller1990 self-requested a review May 10, 2023 22:37
Copy link
Contributor

@lmiller1990 lmiller1990 left a comment

Choose a reason for hiding this comment

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

Works great, left a few comments, ping me for a re-review when you are happy with the stater of things @mike-plummer 💯

Copy link
Contributor

@warrensplayer warrensplayer left a comment

Choose a reason for hiding this comment

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

More style comments. Trying to figure out how far to take this. Still some odd responsive behavior between breakpoints where the image gets shrunk pretty far and then seems overly large once the component stacks vertically.

packages/app/src/components/promo/PromoCard.vue Outdated Show resolved Hide resolved
packages/app/src/components/promo/PromoCard.vue Outdated Show resolved Hide resolved
packages/app/src/components/promo/PromoCard.vue Outdated Show resolved Hide resolved
packages/app/src/components/promo/PromoHeader.vue Outdated Show resolved Hide resolved
packages/app/src/components/promo/PromoAction.vue Outdated Show resolved Hide resolved
packages/app/src/components/promo/PromoAction.vue Outdated Show resolved Hide resolved
@warrensplayer
Copy link
Contributor

@mike-plummer Played around with styles and came up with this PR into this branch: #26733

Let me know what you think.

I still want to go through the code one more time and verify the telemetry and links, but getting close. Also, we should grab Chris France to do quick acceptance test.

@lmiller1990
Copy link
Contributor

I'm going to out, so I won't be able to respond to any comments in a timely fashion - I played with the PR a bit more and it's looking good. I'll leave a tentative approval just to avoid needing a third person to go through the entire thing. I hadn't caught the weirdness with the responsive design in my first pass, but glad we got it fixed.

@lmiller1990 lmiller1990 self-requested a review May 11, 2023 22:24
Copy link
Contributor

@warrensplayer warrensplayer left a comment

Choose a reason for hiding this comment

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

Looks good to me. Still a strange issue with scrolling when the viewport is too short where it will not scroll into view the bottom padding. I think it has something to do with the nested divs that all have to have height of 100% in order to center the component. Not worth fighting any. more.

@mike-plummer mike-plummer merged commit 951abe2 into develop May 12, 2023
@mike-plummer mike-plummer deleted the mikep/26181-aci-empty-states branch May 12, 2023 18:46
@cypress-bot
Copy link
Contributor

cypress-bot bot commented May 23, 2023

Released in 12.13.0.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v12.13.0, please open a new issue.

@cypress-bot cypress-bot bot locked as resolved and limited conversation to collaborators May 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ACI - Run page and Debug page empty state updates
3 participants