Skip to content

Conversation

@nbradbury
Copy link
Contributor

@nbradbury nbradbury commented Mar 25, 2025

Fixes #21768

We previously had duplicate "Subscriber" roles under People -> Invite People:

This PR corrects this by changing the duplicate "Subscriber" to "Email subscriber," as per this Slack thread:p1742834018185719-slack-C04PWEZSYFL

To test:

  • My Site > More > People
  • Tap the plus icon at the top right to invite a new user
  • Tap Role and note that "Subscriber" is no longer repeated

@nbradbury nbradbury changed the title Fixed duplicate subscriber role in Invitiation screen Fixed duplicate subscriber role in Invitation screen Mar 25, 2025
@dangermattic
Copy link
Collaborator

dangermattic commented Mar 25, 2025

2 Warnings
⚠️ strings.xml files should only be updated on release branches, when the translations are downloaded by our automation.
⚠️ PR is not assigned to a milestone.

Generated by 🚫 Danger

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 25, 2025

WordPress📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress WordPress
FlavorJalapeno
Build TypeDebug
Versionpr21772-1293b83
Commit1293b83
Direct Downloadwordpress-prototype-build-pr21772-1293b83.apk
Note: Google Login is not supported on these builds.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Mar 25, 2025

Jetpack📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack Jetpack
FlavorJalapeno
Build TypeDebug
Versionpr21772-1293b83
Commit1293b83
Direct Downloadjetpack-prototype-build-pr21772-1293b83.apk
Note: Google Login is not supported on these builds.

@codecov
Copy link

codecov bot commented Mar 25, 2025

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 39.29%. Comparing base (7569cb2) to head (1293b83).

Files with missing lines Patch % Lines
...n/java/org/wordpress/android/models/RoleUtils.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #21772   +/-   ##
=======================================
  Coverage   39.29%   39.29%           
=======================================
  Files        2125     2125           
  Lines       99862    99862           
  Branches    15386    15386           
=======================================
  Hits        39240    39240           
  Misses      57144    57144           
  Partials     3478     3478           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nbradbury nbradbury requested a review from dcalhoun March 25, 2025 17:37
@nbradbury nbradbury marked this pull request as ready for review March 25, 2025 17:38
@dcalhoun
Copy link
Member

@nbradbury I'm failing to reproduce the original issue in the current production release—please see the screen recording below. I attempted with Simple and Atomic sites. Am I overlooking steps?

Screen recording

Screen_Recording_20250326_085108_Jetpack.mp4

@nbradbury
Copy link
Contributor Author

I'm failing to reproduce the original issue in the current production release

@dcalhoun Interesting. That looks like the Subscriber role isn't being returned by the backend when the app requests a list of roles (the Subscriber role you're seeing in the app is the one added here). If you go to the web app and view user roles what do you see? I see this:

Screenshot 2025-03-26 at 9 01 55 AM

@dcalhoun
Copy link
Member

@nbradbury below is what I see in the web WP Admin.

Simple site:
image

Atomic site:
image

@nbradbury
Copy link
Contributor Author

@dcalhoun Hmm, well it looks like the Subscriber role is missing from the simple site but not the Atomic site. But both do look like the backend isn't returning the Subscriber role to the app, but in my case it is. I'm wondering if the real fix here is to revert the changes in this PR, and then only add the Subscriber role programmatically if it's missing from the backend response?

I'm curious what you see for these sites in the iOS app.

@dcalhoun
Copy link
Member

@nbradbury below is what iOS displays for the referenced sites.

Simple site

ios-simple-subscriber-add

Atomic site

ios-atomic-subscriber-add

@nbradbury
Copy link
Contributor Author

@dcalhoun I think I see the problem here. "Subscriber" can mean two different things. There are subscribers who are "Followers," as they used to be called, who receive your posts via email and/or the reader. The API expects us to use "follower" as the role name parameter for these users.

But then there are sites (like mine) which are using something like WooCommerce Subscriptions, which also show a "Subscriber" role. The API expects us to use "subscriber" as the role name parameter for these users.

So I believe this PR is correct. Previously WPAndroid would add a role which used "follower" as the name parameter, but "Subscriber" as the display name. This would cause confusion with sites that already have a subscriber role because "Subscriber" would appear twice. By changing the display name to "Email subscriber" for the added role, this PR avoids this seeming duplication.

The alternative would be to use "Follower" as the display name, as iOS does, but on Slack ( p1742906414374599/1742834018.185719-slack-C04PWEZSYFL ) we decided "Follower" was outdated, which is why we use "Email subscriber" here.

@dcalhoun
Copy link
Member

@nbradbury thank you for taking the time to explain this so clearly—super helpful!

By changing the display name to "Email subscriber" for the added role, this PR avoids this seeming duplication.

I'm not sure "Email subscriber" will always be an accurate description. My understanding is that "Subscribers" on WordPress.com can be a subscriber without an email subscription. See pe7F0s-2ul-p2 and 68a5341b7aaa-linear-project.

@nbradbury
Copy link
Contributor Author

@dcalhoun Based on pe7F0s-2ul-p2#comment-3354 I'm wondering if the best thing to do here is use the phrase "Follower" to match iOS. The whole discussion about subscriber types is beyond the scope of this simple PR, which tries only to fix the apparent duplicate "Subscriber" roles.

@dcalhoun
Copy link
Member

@nbradbury I agree the referenced post goes beyond the scope of fixing a duplicative "subscriber" label, but my primary point remains true: labeling all subscribers with an "email subscriber" label can be inaccurate, as a subscriber doesn't always have an active email subscription.

My perception is that the latest label proposal (see pe7F0s-2ul-p2#comment-3380) relevant to this specific PR is "Reader subscriber." Since we do not present UI related to emails or paid subscriptions in the app, we can ignore "Email subscriber" and "Paid subscriber" for the time being.

WDYT?

@nbradbury
Copy link
Contributor Author

@dcalhoun I'm good with that. I made the change to "Reader subscriber" in 1293b83. Should iOS follow suit?

@sonarqubecloud
Copy link

@dcalhoun
Copy link
Member

Should iOS follow suit?

Yes, I imagine so.

@dcalhoun
Copy link
Member

@nbradbury one additional thought: Is this app's label we are discussing used for both WordPress.com sites and self-hosted sites? If so, I wonder if "Reader subscriber" becomes inaccurate for the latter, which I believe has no relation/connection to the Reader feature. Should the self-hosted sites utilize "Subscriber" instead—even if it might create a duplicate collision with a plugin?

@nbradbury
Copy link
Contributor Author

nbradbury commented Mar 31, 2025

Should the self-hosted sites utilize "Subscriber" instead—even if it might create a duplicate collision with a plugin?

Oof, who knew such a seemingly simple PR would be so complicated :) For self-hosted sites, the "Subscriber" role uses the slug "subscriber". For this PR, we're dealing with the "follower" slug. So perhaps we simply shouldn't add this role for self-hosted sites?

@dcalhoun
Copy link
Member

Where does the follower slug originate? I.e., is that a WordPress.com/Reader-specific implementation detail? Does the web use that same slug and label it as "Subscriber?"


My high-level thought is that we should not discard or change WordPress core's label—which I believe I understand to be "Subscriber"—solely because a plugin introduces a label with the same name. While I agree it's a confusing outcome, I perceive it to be an issue the plugin should resolve; the plugin should use a unique label of its own—e.g., "Subscriber (Woo)", "Woo subscriber," "Store subscriber".

For WordPress.com sites, as we've discussed, the web platform plans to clearly communicate the nuance between Reader and email subscribers. It doesn't necessarily need to be done in this PR, but I believe we should update our WordPress.com-specific label on Android and iOS to match the web platform's labels of "Reader subscriber."

That said, I'm not confident we need to address either of those problems right now. If anything, updating iOS from "Follower" to "Subscriber" feels like the only priority change to address inconsistencies.

@nbradbury
Copy link
Contributor Author

That said, I'm not confident we need to address either of those problems right now. If anything, updating iOS from "Follower" to "Subscriber" feels like the only priority change to address inconsistencies.

I'm inclined to agree with you. We can close this.

@nbradbury nbradbury closed this Mar 31, 2025
@dcalhoun dcalhoun deleted the issue/subscriber-role-shown-twice branch March 31, 2025 13:17
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.

Duplicate "Subscriber" option in role selection menu for Inviting People

5 participants