-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Jetpack Section: Scan #13326
Copy link
Copy link
Closed
Labels
Description
Designs
Add ability to start scans, see status, and manage threats.
Tasks
- Introduce scan feature flag (use a temporary scan menu item as an entry point that displays when scan feature flag is enabled) - Jetpack Mobile: Scan - Introduce feature flag #13334
High priority (must have)
Scan
- Show a loading screen while current scan status is being fetched (@ashiagr) Issue/13326 scan full screen loading & error handling #13920
- Show an error with retry when the fetch fails (@ashiagr) Issue/13326 scan full screen loading & error handling #13920
- Here to help -> link to contact support (@ashiagr) Issue/13326 here to help #13937
- Polish the UI (@ashiagr) In Progress Issue/13326 scan design review #13949, Issue/13326 threat details & history design review #13950
- Filter out invalid states in
ScanStateListItemsBuilder(@ashiagr) - Issue/13326 support provisioning and invalid scan states #13923 - "Something went wrong" screen/response from the server - if the app doesn't crash consider this medium priority (@ashiagr) Issue/13326 support provisioning and invalid scan states #13923
- Scan menu item shouldn't be shown for sites with business plan (@malinajirka) (Issue/13326 hide scan on wpcom sites #13962)
Threat Details
- Get a free estimate (sync with iOS) (@malinajirka) (Issue/13326 get free estimate #13938)
- Use Firebase config for the hardcoded url
- Polish the UI (@ashiagr )
- Sync with iOS about all supported threat types (@malinajirka)
- Fix and Ignore threat action can fail on missing server credentials -> check how the app handles it (check even Fix All action on Scan screen) (@malinajirka) (Issue/13326 missing server credentials #13931)
Push Notification
- Update the “threat found” notification so it redirects the user to the new screen (@malinajirka) (Issue/13326 fix threat found redirection #13941)
Scan History
- Scan history -> threat details screen -> fix/ ignore action should show scan screen with updated threats status. (@malinajirka) (Issue/13326 navigate to scan screen from detail #13924)
Tracks
- Add tracking (@malinajirka) (Scan tracking #13954)
Finishing Touches
- Check Small Devices (@malinajirka)
- Check RTL languages (@malinajirka)
- Design Review (@ashiagr)
Medium priority (can be implemented after the release)
Network + Persistance
Delete scan state from the database on Authorization ErrorNot needed anymore after animation fixes in Issue/13326 fix scan backup menu animation #13976Add connected test for threat actions (fix/ ignore)Real time connected test for fix/ ignore threat doesn't seem to be feasible right now as it will exhaust existing threats on the site considering there's no option to "unignore/unfix" a threat or "create threat" via API.
My Site
- Fine-tune the scan menu icon on MySite screen (maybe low) Jetpack Section: Optimize My Site Menu Items #13969 Jetpack Section: Update My Site Menu Items Strings #13982
Scan
- Tweak tests for
ScanStateListItemsBuilderTest(consider doing during the pair programming call) Issue/13326 tweak scan state builder tests #14032 - Add auto-retry behavior on network error while polling status. (@malinajirka ) Update retry logic for Scan/Restore/DownloadBackup use cases #14050
Scan History
- Wrap fetchScanHistory into a usecase (Populate Scan History screen with data from /scan/history endpoint #13802) (@malinajirka)
Threat detail
- Implement custom diff view + logic in ThreatDetailsListItemsBuilder for "infected core file" threat type - On Hold (will be added after seeing scan feature usage)
Known issues
- Handle pluralisation of strings (threat vs threats based on threat count) (@ashiagr) In progress Issue/13326 pluralisation of strings based on threats count #14021
Finishing touches
- Check Accessibility
Low priority (nice to have)
- Make
getScanStateForSite,getThreatModelByThreatIdandaddOrUpdateScanStateModelForSitesuspend functions (@ashiagr) - Issue/13326 changes for fluxc scanstore suspend function #14010 - Check scan start issue described in Issue/13326 check fix threat status on init #13904 (review) - Unable to reproduce now
Scan History
- RecylerViews with Date Headers (reuse or duplicate adapters, VH from activity log) (@ashiagr - trial)
- UI bug reported here Issue/13326 fix threat list item UI issue #14091
Network + Persistence
- Create skeletal ScanStore, ScanActions,ScanRestClient, ScanSqlUtils in FluxC - ScanStore: Introduce skeleton classes WordPress-FluxC-Android#1760
- Introduce new actions, endpoints, models, tables
- Get scan state - Part 1 (network), Part 2 (tests), Part 3 (store state into db)
- Get scan feature unlocked status
- Get the scanning status
- Get the list of threats
- Start a new scan ScanStore: Start new scan WordPress-FluxC-Android#1785
- Get threat details - Part 1 Prepare ThreatModel (1, 2), Part 2 (network)
- Store threat details - ScanStore: Store threats data in db WordPress-FluxC-Android#1806
- Get the scan history Issue/13326 add scan history endpoint 2 WordPress-FluxC-Android#1841
- Fix / Ignore threats - ScanStore: Fix/ Ignore Threat WordPress-FluxC-Android#1824
- Get fix/ ignore threat status ScanStore: Fix/ Ignore Threat WordPress-FluxC-Android#1824
- Get scan state - Part 1 (network), Part 2 (tests), Part 3 (store state into db)
- Add connected tests - In progress (added as and when needed)
My Site
- Update menu item for scan on My Site tab based on status fetched - Jetpack Mobile: Scan menu #13555
- Update menu item for scan based on Jetpack Capabilities
- Link to Scan screen on scan item click
Scan
- Create skeleton vm, fragment, tests - Jetpack Mobile: Scan - Create skeleton vm, fragment, test #13527
- Introduce UiStates Jetpack Mobile: Scan Introduce UiState #13578
- Create views for different scan states - Jetpack Mobile: Scan UiStates part(ii) #13605
- Scan State: Ready/ Scan Now
- Scan State: Scanning
- Scan State: Threats Found
- Create incremental progress bar instead of indefinite one when progress levels are known
- Handle different actions
- Scan now/ Scan again - Scan: Fetch scan state with polling #13740
- Fix all -
In ProgressIssue/13326 trigger fix threats #13795, Issue/13326 fetch fix threats status #13798, Issue/13326 check fix threat status on init #13904 - Threat click -> link to Threat Details Threat Details: Skeleton with blank Content UiState #13675
- History menu > link to Scan History Issue/13326 init scan history #13750
- Fine-tune buttons (apply style based on whether button is secondary or not) Issue/13326 scan screen UI iteration 1 #13873
... and more
Server Credentials
Out of scope
Threat Details
- Create skeleton vm, fragment, tests Threat Details: Skeleton with blank Content UiState #13675
- Introduce UiStates Threat Details: Skeleton with blank Content UiState #13675
- Error handling
- Create views for Threat Details with Fix/ Ignore buttons Jetpack Mobile: Threat Details - list items builder #13703
- Handle different actions
- Fix Threat - Issue/13326 fix threat from threat details #13825
- Ignore Threat - Issue/13326 ignore threat #13768
Scan History
- Create skeleton vm, fragment, tests (Issue/13326 init scan history #13750, Issue/13326 init history view pager #13757)
- Introduce UiStates (Scan history UI state #13842)
- Show a loading screen while history is being fetched (Scan history UI state #13842)
- Create views for
- No History (Scan history UI state #13842)
- Filter Tabs (Issue/13326 update tabs #13827)
- Handle different actions
- History record click action -> link row to threat details (Scan History OnClick action #13856)
Load more -> load paginated results(pagination is not supported on the API)
Known Issues
- Address Jetpack Mobile: Scan - ThreatItem #13646 (review)
- Check if it's only on mobile or also on calypso: Triggering the Scan the first time returns instantly with everything being “okay”, and only if you trigger it once more, sometimes many times more, it will actually trigger a “full” scan. - Issue/13326 start scan after delay #13903
Reactions are currently unavailable
