jetpack icon indicating copy to clipboard operation
jetpack copied to clipboard

Protect card: Add the Last scan time (with tooltip) based on plugin state.

Open elliottprogrammer opened this issue 1 year ago • 4 comments

This PR is the first PR in a series that will add/show various pieces of information on the Protect product card in My Jetpack. In this PR we will show:

  1. if the Protect plugin is Not active, we will show the number of installed plugins and themes on the site. For Example: "12 Plugins & 3 Themes ⓘ" (with an info-icon popup).
  2. If the Protect plugin is active, we will show the last scan time, For example: "Last scan: 17 hours ago".

See Design P2: p1HpG7-rFA-p2 (Figma link is within the post)

Screenshots:

Protect plugin Not active:

Screen Shot 2024-06-27 at 12 06 26

Screen Shot 2024-06-27 at 12 07 29

Protect plugin Active:

Screen Shot 2024-06-27 at 12 04 49

Note: The "Scan", "Auto-Firewall", and "Logins-Blocked" sections are currently empty and not functional. Those will be added to in upcoming PR's.

Proposed changes:

  • Adds a 'themes' property to the window.myJetpackInitialState object.
  • Adds a protectStatus property to the window.myJetpackInitialState object.
  • Imports/uses the protect-status package.

Other information:

  • [ ] Have you written new tests for your changes, if applicable?
  • [ ] Have you checked the E2E test CI results, and verified that your changes do not break them?
  • [ ] Have you tested your changes on WordPress.com, if applicable (if so, you'll see a generated comment below with a script to run)?

Jetpack product discussion

Project Thread: pbNhbs-aP6-p2

Does this pull request change what data or activity we track or use?

No

Testing instructions:

  • Run this PR locally (Docker dev environment) or from a Jurassic Ninja site using the Beta Tester plugin running this Jetpack branch.
  • First make sure the Protect plugin is installed, but Not active.
  • Go to My Jetpack and view the Protect product card.
  • Verify you see the number of installed plugins and themes of the site on the Protect card (upper right corner).
  • Verify you see an info icon (tooltip) and verify the info popup/tooltip works correctly and it matches the Figma design (linked in the Design post: p1HpG7-rFA-p2)
  • Activate the Protect plugin. (Also make sure Jetpack is connected)
  • Go back to My Jetpack and view the Protect card again.
  • Verify you now see the "Last scan time:" with a proper value (in the upper right corner of the card)
    • On a brand new site, you may need to wait a minute for the initial first scan to complete, and then refresh the page to see the "Last scan time:" with a proper value. (although typically the first scan is very quick (just a couple seconds), in my experience).
  • You can verify and compare the design with the Figma design (linked in the Design post: p1HpG7-rFA-p2)

elliottprogrammer avatar Jun 27 '24 16:06 elliottprogrammer

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

  • To test on WoA, go to the Plugins menu on a WordPress.com Simple site. Click on the "Upload" button and follow the upgrade flow to be able to upload, install, and activate the Jetpack Beta plugin. Once the plugin is active, go to Jetpack > Jetpack Beta, select your plugin, and enable the add/mj-protect-card-last-scan-time branch.

  • To test on Simple, run the following command on your sandbox:

    bin/jetpack-downloader test jetpack add/mj-protect-card-last-scan-time
    

Interested in more tips and information?

  • In your local development environment, use the jetpack rsync command to sync your changes to a WoA dev blog.
  • Read more about our development workflow here: PCYsg-eg0-p2
  • Figure out when your changes will be shipped to customers here: PCYsg-eg5-p2

github-actions[bot] avatar Jun 27 '24 16:06 github-actions[bot]

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

  • :white_check_mark: Include a description of your PR changes.
  • :white_check_mark: Add a "[Status]" label (In Progress, Needs Team Review, ...).
  • :white_check_mark: Add testing instructions.
  • :white_check_mark: Specify whether this PR includes any changes to data or privacy.
  • :white_check_mark: Add changelog entries to affected projects

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation :robot:


The e2e test report can be found here. Please note that it can take a few minutes after the e2e tests checks are complete for the report to be available.


Once your PR is ready for review, check one last time that all required checks appearing at the bottom of this PR are passing or skipped. Then, add the "[Status] Needs Team Review" label and ask someone from your team review the code. Once reviewed, it can then be merged. If you need an extra review from someone familiar with the codebase, you can update the labels from "[Status] Needs Team Review" to "[Status] Needs Review", and in that case Jetpack Approvers will do a final review of your PR.


Jetpack plugin:

The Jetpack plugin has different release cadences depending on the platform:

  • WordPress.com Simple releases happen daily.
  • WoA releases happen weekly.
  • Releases to self-hosted sites happen monthly. The next release is scheduled for August 6, 2024 (scheduled code freeze on August 5, 2024).

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Backup plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Boost plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Search plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Social plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Starter Plugin plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Protect plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Videopress plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.


Migration plugin:

  • Next scheduled release: August 6, 2024.
  • Scheduled code freeze: July 29, 2024.

If you have any questions about the release process, please ask in the #jetpack-releases channel on Slack.

github-actions[bot] avatar Jun 27 '24 16:06 github-actions[bot]

Thanks for the excellent review @CodeyGuyDylan, I've addressed all feedback. 🙌

elliottprogrammer avatar Jul 01 '24 02:07 elliottprogrammer

Thank you for all of the changes! It works much better for me. I did have some more comments but not nearly as many as last time 🤔 I think this is very close

Also I know we talked in slack but putting here for visibility that I'm not sure we should show the plugins & themes data in the event that the user has Protect active but no scan data is available due to lack of site connection or if the initial scan is still running

Thanks @CodeyGuyDylan! Yeah, I've addressed your additional feedback items, and I removed the "Plugins & Themes" text when the plugin is active but there is no scan data available (b/c initial scan in progress or site disconnected, etc). 👍 Let me know if you have any additional feedback. 😃

elliottprogrammer avatar Jul 01 '24 19:07 elliottprogrammer