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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reader: Add a footer view for the Reader tags feed #23109

Merged
merged 4 commits into from Apr 30, 2024

Conversation

wargcm
Copy link
Contributor

@wargcm wargcm commented Apr 26, 2024

Fixes #23108

Description

Adds the "More" footer view to the Reader tags feed.

Note: There's an existing issue when navigating to a tag feed from the "Your Tags" feed. This is due to the following chain of events:

  1. A reader stream view controller is created with the tag slug
  2. A lookup happens and then the readerTopic of the stream view controller gets set
  3. The didSet of the readerTopic sets the inUse property on the tag managed object and the context is saved
  4. The existing "Your Tags" feed now sees a change to the tag object
  5. That tag cell is reloaded

This causes the collection view offset to briefly show at the beginning, and then it'll update back to the end of the content when navigating back to the "Your Tags" feed from the tag feed.

I couldn't find a good way to fix this because it appears the inUse property is currently used. I'll keep attempting to look for a solution.

Screenshots

Light Dark
Simulator Screenshot - iPhone SE (3rd generation) - 2024-04-26 at 17 18 11 Simulator Screenshot - iPhone SE (3rd generation) - 2024-04-26 at 17 18 23

Testing

To test:

  • Launch Jetpack and login
  • Navigate to the "Your Tags" feed
  • Scroll to the end of a tag's collection view
  • 馃攷 Verify the "More" footer view is styled correctly
  • Tap on the view
  • 馃攷 Verify it navigates to that tag's feed

Regression Notes

  1. Potential unintended areas of impact
    Should be none.

  2. What I did to test those areas of impact (or what existing automated tests I relied on)
    N/A

  3. What automated tests I added (or what prevented me from doing so)
    N/A
    PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding unit tests for my changes.
  • 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.

Testing checklist:

  • WordPress.com sites and self-hosted Jetpack sites.
  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • VoiceOver.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn鈥檛 complete, formatting should still respect the right-to-left layout)
  • iPhone and iPad.
  • Multi-tasking: Split view and Slide over. (iPad)

@wargcm wargcm added Reader [Type] Task Part of a WIP Feature This label is used to disable milestone checks for PRs that are not against `develop` or `release`. labels Apr 26, 2024
@wargcm wargcm requested a review from dvdchr April 26, 2024 21:57
@wargcm wargcm self-assigned this Apr 26, 2024
@wpmobilebot
Copy link
Contributor

WordPress Alpha馃摬 You can test the changes from this Pull Request in WordPress Alpha by scanning the QR code below to install the corresponding build.
App NameWordPress Alpha WordPress Alpha
ConfigurationRelease-Alpha
Build Numberpr23109-0a19acf
Version24.7
Bundle IDorg.wordpress.alpha
Commit0a19acf
App Center BuildWPiOS - One-Offs #9709
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@wpmobilebot
Copy link
Contributor

Jetpack Alpha馃摬 You can test the changes from this Pull Request in Jetpack Alpha by scanning the QR code below to install the corresponding build.
App NameJetpack Alpha Jetpack Alpha
ConfigurationRelease-Alpha
Build Numberpr23109-0a19acf
Version24.7
Bundle IDcom.jetpack.alpha
Commit0a19acf
App Center Buildjetpack-installable-builds #8753
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

Copy link
Contributor

@dvdchr dvdchr left a comment

Choose a reason for hiding this comment

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

Works as described. LGTM :shipit:

I couldn't find a good way to fix this because it appears the inUse property is currently used. I'll keep attempting to look for a solution.

Yeah, I'm not sure yet what inUse is used for, but I feel like for the new Tags stream we should improve it later by creating a new view controller that's not driven by NSFetchedResultsController. We just need to fetch the tags once every time the stream is loaded or the user initiates a refresh gesture.

@wargcm
Copy link
Contributor Author

wargcm commented Apr 30, 2024

Maybe at some point we can rewrite the stream view controller. There's a decent amount of strange behavior from the current one, which is very difficult to fix or track down.

We just need to fetch the tags once every time the stream is loaded or the user initiates a refresh gesture.

We'd still need to handle a user's tags changing, unless navigating back counts as loading. They can open one of the tag posts, then tap on a tag for that post, and follow it.

Thanks for the review!

@wargcm wargcm merged commit 7343e2b into trunk Apr 30, 2024
24 of 28 checks passed
@wargcm wargcm deleted the issue/23108-more-footer-view branch April 30, 2024 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Part of a WIP Feature This label is used to disable milestone checks for PRs that are not against `develop` or `release`. Reader [Type] Task
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reader: "More" end cell
3 participants