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

Removing Feature Flag for IA reader feature. #11343

Merged
merged 10 commits into from
Feb 21, 2020

Conversation

develric
Copy link
Contributor

@develric develric commented Feb 20, 2020

This PR has been created to move the IA reader modifications from behind the INFORMATION_ARCHITECTURE_AVAILABLE feature flag and release it into develop.

cc @osullivanchris , @khaykov , @renanferrari

Main items introduced

  1. 1st level filtering is implemented with tabs that replaces the previous spinner. Available categories are Following, Discover, Likes, Saved (plus Automattic if logged in with an Automattic account)

  1. 2nd level filtering is available only in the Following tab and it is implemented with a bottom sheet listing selectable Sites/Tags followed by the user

  1. We moved the Settings selector to the subfiltering component and added possibility to follow/unfollow a site from settings as per below images
image image

Main linked PRs (and related test steps)

  1. Saving and restoring subfilter to/from shared prefs Saving and restoring subfilter to/from shared prefs #10925
  2. Site not removed from subfilter when unfollowed Site not removed from subfilter when unfollowed #11155
  3. New design reader bottom sheet - step 1 New design reader bottom sheet - step 1 #11183
  4. New design reader bottom sheet - step 2 New design reader bottom sheet - step 2 #11184
  5. New design reader bottom sheet - step3 New design reader bottom sheet - step3 #11193
  6. IA Reader self-hosted improvements IA Reader self-hosted improvements #11270
  7. Add historical searches list to the Reader initial search screen Add historical searches list to the Reader initial search screen #11293
  8. Add follow/unfollow button to the Followed Sites tab on Reader's management section Add follow/unfollow button to the Followed Sites tab on Reader's management section #11219

Smoke test rules of thumbs

If you want/can give this PR a smoke test, use both wp.com and self-hosted sites and here below some of the possible steps for smoke testing but feel free to add 😊 :

  • Move between tabs
  • Use the subfilter to select different sources (Sites/Tags) to navigate
  • Open posts from the reader
  • Save posts for later and open them from the SAVED tab (both WP.com and self-hosted)
  • Follow/Unfollow tags/sites from the Reader (only for WP.com)
  • Follow/Unfollow tags/sites from the Setting (only for WP.com)
  • Whatever else you can think of 😊...

Note

While testing this PR we found a small issue with the self-hosted empty view for cta.

steps to reproduce

  • Log out from WP.com and add a pure self-hosted site
  • Go to the reader and be sure you are in FOLLOWING and no subfilter is selected
  • See you have the empty view image saying 'Use the filter button to find posts on specific subjects'
  • Go to My Site and come back to Reader
  • See the empty view image is wrongly placed at a higher position than before
  • Open the Filter and see the image moving a bit down to the correct position

We fixed it in 78c4b67

PR submission checklist:

  • I have considered adding unit tests where possible.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@peril-wordpress-mobile
Copy link

peril-wordpress-mobile bot commented Feb 20, 2020

You can test the changes on this Pull Request by downloading the APK here.

@develric develric marked this pull request as ready for review February 20, 2020 12:45
@malinajirka malinajirka self-assigned this Feb 20, 2020
Copy link
Contributor

@malinajirka malinajirka left a comment

Choose a reason for hiding this comment

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

Really great job @develric! The code changes look good. I've found several potential issues I'm not sure about. Some of them are probably not related this feature. Most of them are minor issues which might not be even worth fixing. For me the biggest issues is #1. Wdyt?

  1. Swipe gestures are disabled - feels inconsistent with other parts of the app with tabs. I kept trying to swipe to change the tab but the app would instead keep opening post details.

  1. When I add a tag after a configuration change, the tag doesn't appear on the screen

  1. The items are not horizontally vertically centered which leads to misclicks

  1. The top bar collapses as I scroll down, however it expands itself after a configuration change

  1. When I unfollow a site, clicking on the follow icon doesn't do anything

  1. When I unfollow a site, the site disappears after configuration change

  1. Since we added "follow/unfollow" to "Followed Sites" section, we might want to consider adding it to "Sites you may like"?

If we decide to fix any of these issues, I think we might want to consider fixing them in separate PRs as it could easily get out of hand. Wdyt?

@osullivanchris
Copy link

Replying to some of the issues @malinajirka raised

Issue 1 is known. Would be nice if it worked but we don't have it yet. Just wondering though - should we disable swipe to go to post detail? If swiping doesn't work its not ideal. But if it does something else unexpected, it could be worse. I wouldnt treat it as a blocker though, an improvement.

Numbers 2-6 seem like technical issues. Good spot on number 3, that's cool.

On number 7, sure, I didn't think of that. Seems like a no-risk move. Again, it can be captured as an improvement task, definitely not a blocker.

Excited to see this coming together :)

@renanferrari
Copy link
Member

Hey @malinajirka 👋 I can't reproduce Issue 5. Do you mind sharing which device/emulator and Android version you're using?

@develric
Copy link
Contributor Author

develric commented Feb 21, 2020

Hey @malinajirka 👋! Thanks for the thorough review, much appreciated 🙇‍♂️!

I try to follow up to the items below; in my understanding they should be not blocking so I'm addressing some of them now and creating tracking issue for others. Let me know wdyt 😊:

  1. As Chris said above, this is a known current limitation. We tried the ViewPager approach at first while reusing the FilteredRecyclerView as possible to reduce refactoring effort. We faced some issues also with nested scrolled behavior and toolbar scroll position (some more details here). Just for completeness, currently also the search result tabs in reader are not sliding but it seems less an issue since they are only 2 tabs (should probably make sense to align them also at some point). I also think we finally should have swiped tab here but also considering there is going to be some refactoring for upcoming projects on the reader in 2020 we have set it as an i2 task (hope you can agree with this in some way).
  2. Was able to reproduce it also; it seems pre-existent since could reproduce also with 13.0 release. Created an issue for this Followed tag not added to the list after configuration changes. #11354
  3. Good catch 👍! Created a small PR for this here Centering vertically the items of reader bottom sheet. #11355 targeting this PR branch
  4. Created a small PR for this here Preserve toolbar collapsing state in reader. #11356 targeting this PR branch
  5. This is a behavior I also noticed while reviewing the PR here (in my case I was using Pixel 3 Emu, API 29 cc @renanferrari ). It's actually something that was happening for me also in other following buttons across the app so not sure how to deal with this. Reporting my comment below for context

Just as a side note, at least on my emulator, the follow/unfollow button stays disabled for a couple of seconds before I can switch the state again, but looking at it, it seems that is the time during which we wait for the API response. Also I get the same behavior with follow/unfollow buttons in other parts of the app...

  1. 👍Created an issue for this Reader settings: unfollowing a site and making a configuration change removes it from list of followed sites #11358
  2. 👍Created an issue for this Add follow/unfollow site to Sites you may like list. #11359

Note: I report also here something we discussed in a quick chat we had on slack regarding a possible issue with the following call path in ReaderPostListFragment:

LoadTagsTask -> onPostExecute -> onFilterCriteriasLoaded -> setCurrentFilter(mFilterListener.onRecallSelection())

it can happen that the onRecallSelection (who calls requireActivity) could be called when the fragment is not added so resulting in a crash. Created a small PR for this here #11360 targeting this PR branch

Preserve toolbar collapsing state in reader.
…issue-when-fragment-not-attached

Ensuring the fragment isAdded before to continue with the AsyncTask.
Copy link
Contributor

@malinajirka malinajirka left a comment

Choose a reason for hiding this comment

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

Thank you all for the replies ;)!

Thanks @develric for creating the issues and even fixing some of them ;). Since none of the issues seems vital, I'm approving this PR. I can't merge it right now because of an ongoing CI checks. Feel free to merge it when the CI is done.

@develric develric merged commit ec04292 into develop Feb 21, 2020
@jkmassel jkmassel deleted the issue/ia-reader-feature-flag-removal branch October 17, 2024 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants