Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix an issue with a missing "Mark as Unread" button in the More menu #23917

Merged
merged 4 commits into from
Jan 9, 2025

Conversation

kean
Copy link
Contributor

@kean kean commented Dec 20, 2024

Fixes #23916.

Changes:

  • Revert the change that removed the "Mark as Read/Unread" button from the post "More" menu
  • Add an understated "Read" indicator in the list (new feature)

This change applies to P2s. I don't think regular blogs support this.

To test:

  • Verify that the post you read have a checkmark in the lsit
  • Verify that after you open an unread post and return to the list, it shows the checkmark
  • Verify that you can toggle the "read" status using the "more" menu and that it updates state on the web

Regression Notes

  1. Potential unintended areas of impact

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

  3. What automated tests I added (or what prevented me from doing so)

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’t complete, formatting should still respect the right-to-left layout)
  • iPhone and iPad.
  • Multi-tasking: Split view and Slide over. (iPad)

@kean kean added the Reader label Dec 20, 2024
@kean kean requested a review from crazytonyli December 20, 2024 17:20
@kean kean added this to the 25.6 ❄️ milestone Dec 20, 2024
@kean kean changed the title Fix/toggle seen missing Fix an issue with a missing "Mark as Unread" button in the More menu Dec 20, 2024
@kean kean enabled auto-merge December 20, 2024 17:23
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Dec 20, 2024

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 Numberpr23917-4cd8e57
Version25.6
Bundle IDorg.wordpress.alpha
Commit4cd8e57
App Center BuildWPiOS - One-Offs #11317
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 Numberpr23917-d21ea43
Version25.6
Bundle IDcom.jetpack.alpha
Commitd21ea43
App Center Buildjetpack-installable-builds #10256
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@kean kean modified the milestones: 25.6 ❄️, 25.7 Jan 9, 2025
@kean kean force-pushed the fix/toggle-seen-missing branch from d21ea43 to 4cd8e57 Compare January 9, 2025 17:19
@kean kean removed the request for review from crazytonyli January 9, 2025 17:19
@kean kean changed the base branch from trunk to christmas-feature-branch January 9, 2025 17:19
@kean kean disabled auto-merge January 9, 2025 17:19
@kean kean merged commit 67ba286 into christmas-feature-branch Jan 9, 2025
1 of 17 checks passed
@kean kean deleted the fix/toggle-seen-missing branch January 9, 2025 17:19
@kean kean mentioned this pull request Jan 9, 2025
14 tasks
@@ -360,6 +370,17 @@ private final class ReaderPostCellView: UIView {
}
}

private func configureSeenCheckmarkIfNeeded() {
guard !isSeenCheckmarkConfigured else { return }
isSeenCheckmarkConfigured = true
Copy link
Contributor

Choose a reason for hiding this comment

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

Out of curiosity, why is a special flag used here? If the idea is to prevent repeated changes to image, maybe a lazy var is more appropriate?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's a bit cumbersome, but the view is created eagerly during the setup:

let headerView = UIStackView(alignment: .center, [buttonAuthor, dot, timeLabel, seenCheckmark])

Ideally, I should create it lazily and add it lazily to the stack view, but I felt it was simpler this way.

Copy link
Contributor

Choose a reason for hiding this comment

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

I guess you could make a lazy var seenCheckmar: UIImage so that this configuration function can be called repeatedly. Maybe it's personal preference, but I'm not a big fan of boolean flag type of states.

github-merge-queue bot pushed a commit that referenced this pull request Jan 13, 2025
* Rename ImageLoadingController

* Add LightboxViewController to replace WPImageViewController

* Integrate LightboxViewController in Reader

* Add Media support in LightboxViewController

* Add convenience init to LightboxViewController

* Integrate LightboxViewController in SiteMedia

* Integrate LightboxViewController in ReaderDetailsCoordinator (cover image)

* INtegrate in DefaultContentCoordinator

* Integrate LightboxViewController in Guteberg

* Integrate LightboxViewController in ExternalMediaPickerViewController

* Integrate LightboxViewController in PostSettingsViewController (featured image)

* Remove FeaturedImageViewController (ObjC)

* Rewrite PostFeaturedImageCell

* Integrate LightboxViewController in ReaderCommentsViewController

* Update WPRichTextImage to use AsyncImageView

* Automatically pick thumbnail when available

* Remove WPImageViewController

* Update release notes

* Remove ImageLoader

* Remove ImageDimensionParser

* Update MediaItemHeaderView to use AsyncImageView instead of CachedAnimatedImageView

* Fix code formatting in RichTextView

* Update AnimatedGifAttachmentViewProvider to use GIFImageView directly

* Remove SolidColorActivityIndicator

* Remove CachedAnimatedImageView

* Remove GIFPlaybackStrategy

* Update EditorMediaUtility to use ImageDownloader directly (without AuthenticatedImageDownload redirect)

* Remove AuthenticatedImageDownload

* Update MediaExternalExporter to use ImageDownloader for downloading GIF data

* Remove AnimatedImageCache

* Remove remaining AlamofireImage usages from the anouncement cells

* Remove AlamofireImageCacheAdapter

* Remove AlamofireImage

* Add ImagePrefetcher

* Update releaes notes

* Add ImageRequest support in AsyncImageView

* Add ImageSize

* Fix an issue with blogging reminders flow not being shown after publishing a new post

* Remove unused LightNavigationController

* Remove BottomSheetViewController usage from BloggingReminders flow

* Simplify BloggingRemindersFlowIntroViewController

* Add SpacerView

* Add BottomToolbarView

* Fix notice covering the blogging reminders fow

* Replace FancyButton

* Add close button to BloggingRemindersFlowSettingsViewController

* Fix BloggingRemindersTimeSelectionViewController presentation

* Remove FancyButton from BloggingRemindersPushPromptViewController

* Remove dismiss button (it now shows back)

* Update BloggingRemindersPushPromptViewController layout

* Remove FancyButton from BloggingRemindersFlowCompletionViewController

* Update BloggingRemindersFlowCompletionViewController layout

* Update releaes notes

* Fix typo in release notes

* Fix compliance popover accessibility settings

* Fix an issue with compliance popover not dismissing

* Update release notes

* Remove unused CircularProgressView extensions

* Remove BottomSheetViewController usage from JetpackBrandingCoordinator

* Remove ottomSheetViewControllerTests

* Remove BottomSheetViewController

* Remove DrawerPresentationController

* Update release notes

* Add Share action to the site link on dashboard

* Remove duplicated Share actions

* Remove duplicated Strings.ok

* Update release notes

* Fix layout issues in Privacy Settings

* Add assertion

* Update release notes

* Rename WordPressMedia to AsyncImageKit

* Remove MediaHost from AsyncImageKit

* Move ImageDownloader.shared to AsyncImageKit

* Move AsyncImageView and other related types to AsyncImageKit

* Fix unit tests

* Cleanup MediaHost initializers

* Optimize account lookup

* Fix MediaHostTests

* Fix crash in ReaderDetailFeaturedImageView

* Fix RTL support in WebKitViewController

* Use semantic back/forward chevrons in other places

* Update StatsBaseCell

* Update SiteStatsTableHeaderView

* Replace disclosure-chevron and editor-chevron-left

* Fix remainig incorrect chevron usages

* Remove remainig chevron images

* Update release notes

* Fix separator insets on homepage

* Fix an issue with clear navigation bar background in revision browser

* Fix an issue with clear navigation bar background in revision browser

* Fix toolbar inset to safe area in revision browser

* Modernize menus and stuff

* Fix MediaRequestAuthenticatorTests

* Remove preflight connection check when sending replies (can be lagging behind)

* Fix an issue with comments disppearing if request fails

* Update other screens using TextView

* Update release notes

* Fix formatting

* Fix an issue with referrers showing invalid icons

* Update release notes

* Remove some of the scenarios where isInternetConnected used

* Update site menu style on iPhone

* Update release notes

* Integrate zoom transitions in Theme browser

* Update release notes

* Fix tint colors in wpios

* Remove UIAppColor.brand

* Enable zoom transitions in Reader (iPad)

* Update release notes

* Remove unused isVisibleInScrollView

* Enable toolbar hiding on iPad

* Fix ReaderDetailFeaturedImageView gradienet showing up when no image is present

* Fix an issue with Publisize options appearing in the prepublishing sheet for XMLRPC sites

* Fix code formatting and remove unused imports

* Move SiteIconView to WordPressUI

* Update Share extension to use SiteIconView

* Remove UIImageView+Blavatar

* Use firstLetter

* Update release notes

* Disable universal links support for QR code login

* Fix an issue with the confirmation screen shown more than once

* Update release notes

* Enable fast deceleration for filters on the Discover tab

* Update release notes

* Show selected filter in the Discover navigation bar

* Update release notes

* Remove unused makeCreateButtonAnnouncementAlertController

* Add scroll-to-top button to Reader

* Cleanup

* Update design for iPad

* Add analytics

* Update releaes notes

* Flatten a nested localized string to avoid `genstrings` failure

* Import `WordPressUI` in `SiteIconViewModelTests`

Otherwise, it won't build

* Add initial MediaPicker implementation

* Add initial PostSettingsFeaturedImageCell implementation

* Add configurable MediaPicker content

* Add ViewModel to PostSettingsFeaturedImageCell

* Add reuseIdentifier for featured image cells

* Pass selection from MediaPicker to PostSettingsFeaturedImageViewModel

* Show upload status using PostMediaUploadItemView

* Rename MediaUploadItemViewModel

* Add PostSettingsFeaturedImageUploadView to show upload progress

* Simlify how the app shows media upload status

* Handle upload failure

* Implement featured image save

* Add support for showing a selected featured image

* Add support for removing featured image

* Simplify lightbox

* Add support for camera as a source

* Add .siteMedia(blog:) source

* Add ImagePlayground source support

* Add ImagePlayground support in MediaPicker

* Add free photos and GIFs support to MediaPicker

* Remove unused media upload code from PostSettingsViewController

* Remove WPTableViewActivityCell

* Remove WPProgressTableViewCell

* Remvove unused featured image size

* Remove more unused code

* Remove unused code

* Add SiteMediaImageView

* Remove unused code

* Integrate FeaturedImageDelegate

* Fix SiteMediaImage background when loading with spinner

* Fix animations

* Add zoom transition

* Add shadow to more menu

* Make the entire cell tappable

* Add View action

* Add replace action

* Show spinner when replacing an image

* Remove unused reloadFeaturedImageCell

* Update release notse

* Revert "Update site menu style on iPhone"

This reverts commit 565a34b.

* Fix an issue with wrong cover images appearing in Reader (#23914)

* Fix an issue with wrong cover images appearing in Reader

* Update release notes

* Update release notes

* Point back to wpios-edition

* Fix an issue with non-stable order in Posts and Pages in stats (#23915)

* Fix an issue with non-stable order in Posts and Pages in stats

* Update release notes

* Update release notes

* Fix an issue with a missing "Mark as Unread" button in the More menu (#23917)

* Add missing toggle read/unread button

* Show read status in the list

* Update release notes

* Update release notes

* Add missing social sharing icons (#23918)

* Add missing social sharing icons

* Update release notes

* Update release notes

* Update release notes

* Fix build

* Update UI tests

* Use medium font for main navigation area in Reader to align with Home

* Remove commented-out code

* Add context menus and previews for sites in Reader (#23964)

* Fix l10n typo

* Add Unsubscribe context menu to Reader sidebar sites

* Extract ReaderSiteFavoriteButton

* Move actions to ReaderSidebarSubscriptionCell

* Extract ReaderSubscriptionContextMenu and add Share

* Add Notification Settings and Copy Link buttons

* Add context menu for sites in Subscriptions view

* Add previews

* Fix notification settings sometimes being clipped on iPad

* Fix layout in ReaderSubscriptionCel actions

* Update release notes

* Fix more button color in dark mode

* Fix an issue with fullscreen button in reply view clipped by the notch (#23965)

* Fix an issue with fullscreen button in reply view clipped by the notch

* Update release notes

* Fix display of certain topics in Discover recommendations

* Remove "Lazy Images" Jetpack option (#23966)

* Remove lazy loading:

* Add error handling

* Update release notes

* Update WordPressKit (has lazy-load fix)

* Update release notes

* Reoder site actions

* Update release notes

* Add missing imports

---------

Co-authored-by: Gio Lodi <gio@mokacoding.com>
jkmassel pushed a commit that referenced this pull request Jan 16, 2025
* Rename ImageLoadingController

* Add LightboxViewController to replace WPImageViewController

* Integrate LightboxViewController in Reader

* Add Media support in LightboxViewController

* Add convenience init to LightboxViewController

* Integrate LightboxViewController in SiteMedia

* Integrate LightboxViewController in ReaderDetailsCoordinator (cover image)

* INtegrate in DefaultContentCoordinator

* Integrate LightboxViewController in Guteberg

* Integrate LightboxViewController in ExternalMediaPickerViewController

* Integrate LightboxViewController in PostSettingsViewController (featured image)

* Remove FeaturedImageViewController (ObjC)

* Rewrite PostFeaturedImageCell

* Integrate LightboxViewController in ReaderCommentsViewController

* Update WPRichTextImage to use AsyncImageView

* Automatically pick thumbnail when available

* Remove WPImageViewController

* Update release notes

* Remove ImageLoader

* Remove ImageDimensionParser

* Update MediaItemHeaderView to use AsyncImageView instead of CachedAnimatedImageView

* Fix code formatting in RichTextView

* Update AnimatedGifAttachmentViewProvider to use GIFImageView directly

* Remove SolidColorActivityIndicator

* Remove CachedAnimatedImageView

* Remove GIFPlaybackStrategy

* Update EditorMediaUtility to use ImageDownloader directly (without AuthenticatedImageDownload redirect)

* Remove AuthenticatedImageDownload

* Update MediaExternalExporter to use ImageDownloader for downloading GIF data

* Remove AnimatedImageCache

* Remove remaining AlamofireImage usages from the anouncement cells

* Remove AlamofireImageCacheAdapter

* Remove AlamofireImage

* Add ImagePrefetcher

* Update releaes notes

* Add ImageRequest support in AsyncImageView

* Add ImageSize

* Fix an issue with blogging reminders flow not being shown after publishing a new post

* Remove unused LightNavigationController

* Remove BottomSheetViewController usage from BloggingReminders flow

* Simplify BloggingRemindersFlowIntroViewController

* Add SpacerView

* Add BottomToolbarView

* Fix notice covering the blogging reminders fow

* Replace FancyButton

* Add close button to BloggingRemindersFlowSettingsViewController

* Fix BloggingRemindersTimeSelectionViewController presentation

* Remove FancyButton from BloggingRemindersPushPromptViewController

* Remove dismiss button (it now shows back)

* Update BloggingRemindersPushPromptViewController layout

* Remove FancyButton from BloggingRemindersFlowCompletionViewController

* Update BloggingRemindersFlowCompletionViewController layout

* Update releaes notes

* Fix typo in release notes

* Fix compliance popover accessibility settings

* Fix an issue with compliance popover not dismissing

* Update release notes

* Remove unused CircularProgressView extensions

* Remove BottomSheetViewController usage from JetpackBrandingCoordinator

* Remove ottomSheetViewControllerTests

* Remove BottomSheetViewController

* Remove DrawerPresentationController

* Update release notes

* Add Share action to the site link on dashboard

* Remove duplicated Share actions

* Remove duplicated Strings.ok

* Update release notes

* Fix layout issues in Privacy Settings

* Add assertion

* Update release notes

* Rename WordPressMedia to AsyncImageKit

* Remove MediaHost from AsyncImageKit

* Move ImageDownloader.shared to AsyncImageKit

* Move AsyncImageView and other related types to AsyncImageKit

* Fix unit tests

* Cleanup MediaHost initializers

* Optimize account lookup

* Fix MediaHostTests

* Fix crash in ReaderDetailFeaturedImageView

* Fix RTL support in WebKitViewController

* Use semantic back/forward chevrons in other places

* Update StatsBaseCell

* Update SiteStatsTableHeaderView

* Replace disclosure-chevron and editor-chevron-left

* Fix remainig incorrect chevron usages

* Remove remainig chevron images

* Update release notes

* Fix separator insets on homepage

* Fix an issue with clear navigation bar background in revision browser

* Fix an issue with clear navigation bar background in revision browser

* Fix toolbar inset to safe area in revision browser

* Modernize menus and stuff

* Fix MediaRequestAuthenticatorTests

* Remove preflight connection check when sending replies (can be lagging behind)

* Fix an issue with comments disppearing if request fails

* Update other screens using TextView

* Update release notes

* Fix formatting

* Fix an issue with referrers showing invalid icons

* Update release notes

* Remove some of the scenarios where isInternetConnected used

* Update site menu style on iPhone

* Update release notes

* Integrate zoom transitions in Theme browser

* Update release notes

* Fix tint colors in wpios

* Remove UIAppColor.brand

* Enable zoom transitions in Reader (iPad)

* Update release notes

* Remove unused isVisibleInScrollView

* Enable toolbar hiding on iPad

* Fix ReaderDetailFeaturedImageView gradienet showing up when no image is present

* Fix an issue with Publisize options appearing in the prepublishing sheet for XMLRPC sites

* Fix code formatting and remove unused imports

* Move SiteIconView to WordPressUI

* Update Share extension to use SiteIconView

* Remove UIImageView+Blavatar

* Use firstLetter

* Update release notes

* Disable universal links support for QR code login

* Fix an issue with the confirmation screen shown more than once

* Update release notes

* Enable fast deceleration for filters on the Discover tab

* Update release notes

* Show selected filter in the Discover navigation bar

* Update release notes

* Remove unused makeCreateButtonAnnouncementAlertController

* Add scroll-to-top button to Reader

* Cleanup

* Update design for iPad

* Add analytics

* Update releaes notes

* Flatten a nested localized string to avoid `genstrings` failure

* Import `WordPressUI` in `SiteIconViewModelTests`

Otherwise, it won't build

* Add initial MediaPicker implementation

* Add initial PostSettingsFeaturedImageCell implementation

* Add configurable MediaPicker content

* Add ViewModel to PostSettingsFeaturedImageCell

* Add reuseIdentifier for featured image cells

* Pass selection from MediaPicker to PostSettingsFeaturedImageViewModel

* Show upload status using PostMediaUploadItemView

* Rename MediaUploadItemViewModel

* Add PostSettingsFeaturedImageUploadView to show upload progress

* Simlify how the app shows media upload status

* Handle upload failure

* Implement featured image save

* Add support for showing a selected featured image

* Add support for removing featured image

* Simplify lightbox

* Add support for camera as a source

* Add .siteMedia(blog:) source

* Add ImagePlayground source support

* Add ImagePlayground support in MediaPicker

* Add free photos and GIFs support to MediaPicker

* Remove unused media upload code from PostSettingsViewController

* Remove WPTableViewActivityCell

* Remove WPProgressTableViewCell

* Remvove unused featured image size

* Remove more unused code

* Remove unused code

* Add SiteMediaImageView

* Remove unused code

* Integrate FeaturedImageDelegate

* Fix SiteMediaImage background when loading with spinner

* Fix animations

* Add zoom transition

* Add shadow to more menu

* Make the entire cell tappable

* Add View action

* Add replace action

* Show spinner when replacing an image

* Remove unused reloadFeaturedImageCell

* Update release notse

* Revert "Update site menu style on iPhone"

This reverts commit 565a34b.

* Fix an issue with wrong cover images appearing in Reader (#23914)

* Fix an issue with wrong cover images appearing in Reader

* Update release notes

* Update release notes

* Point back to wpios-edition

* Fix an issue with non-stable order in Posts and Pages in stats (#23915)

* Fix an issue with non-stable order in Posts and Pages in stats

* Update release notes

* Update release notes

* Fix an issue with a missing "Mark as Unread" button in the More menu (#23917)

* Add missing toggle read/unread button

* Show read status in the list

* Update release notes

* Update release notes

* Add missing social sharing icons (#23918)

* Add missing social sharing icons

* Update release notes

* Update release notes

* Update release notes

* Fix build

* Update UI tests

* Use medium font for main navigation area in Reader to align with Home

* Remove commented-out code

* Add context menus and previews for sites in Reader (#23964)

* Fix l10n typo

* Add Unsubscribe context menu to Reader sidebar sites

* Extract ReaderSiteFavoriteButton

* Move actions to ReaderSidebarSubscriptionCell

* Extract ReaderSubscriptionContextMenu and add Share

* Add Notification Settings and Copy Link buttons

* Add context menu for sites in Subscriptions view

* Add previews

* Fix notification settings sometimes being clipped on iPad

* Fix layout in ReaderSubscriptionCel actions

* Update release notes

* Fix more button color in dark mode

* Fix an issue with fullscreen button in reply view clipped by the notch (#23965)

* Fix an issue with fullscreen button in reply view clipped by the notch

* Update release notes

* Fix display of certain topics in Discover recommendations

* Remove "Lazy Images" Jetpack option (#23966)

* Remove lazy loading:

* Add error handling

* Update release notes

* Update WordPressKit (has lazy-load fix)

* Update release notes

* Reoder site actions

* Update release notes

* Add missing imports

---------

Co-authored-by: Gio Lodi <gio@mokacoding.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reader: Mark as Unseen
3 participants