Page MenuHomePhabricator

User Links: Handling of talk page notification
Open, HighPublic3 Estimated Story Points

Description

Description

Currently when someone writes on your talk page, the Talk link within your user links transforms into a yellow notice:

Acceptance criteria

  • Update message as per design below
  • the yellow bar should now appear before the notification bell icon on all skins. Rationale is that

the yellow bar is actually related to a message that lives within the bell icon not the tray.

  • Selecting message would lead to the user's talk page
  • Copy: "You have a new Talk page message"
  • Message will be dismissed once clicked (follows current behavior)

Designs

In updated Vector we would like to render the notification as a floating element, hanging off the bell icon:

If that is too costly time-wise we can stick with the status quo:

Notes

  • For logged-out IP people we can leave the current treatment as-is
  • Prior discussion here: T266511

QA steps

Replication steps (substitute user for your own user name)

  1. Login as user "CharlieBrown"
  2. In an incognito window load the User talk:CharlieBrown page and click add topic. Add a topic with title "hello" and message "Hello [[User:CharlieBrown]]! ~~~~`
  3. Refresh the non-incognito window where you are logged in as Charlie Brown.

Developer notes

When logged in it currently appears in the user-menu:

To fix the logged in use case we need to make a change to EchoHooks::onPersonalUrls to add this to the notifications menu instead using EchoHooks::onSkinTemplateNavigationUniversal`

Signoff criteria

  • make follow-up task for talk page link duplication -> T283811

QA Results - Beta

ACStatusDetails
1T274428#7146590

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Jdlrobson changed the task status from Stalled to Open.May 7 2021, 8:26 PM
Jdlrobson removed Jdlrobson as the assignee of this task.
Jdlrobson updated the task description. (Show Details)

@alexhollender - there's a few open questions on the final design. The team is currently estimating based on the status quo (with the yellow bar). We'll come back to this once the questions are resolved and re-estimate.

Change 691282 had a related patch set uploaded (by Nray; author: Nray):

[mediawiki/extensions/Echo@master] Move talk page notification data from 'user-menu' to 'notifications'

https://gerrit.wikimedia.org/r/691282

nray removed nray as the assignee of this task.May 17 2021, 4:52 PM
nray added a subscriber: nray.

It was my understanding following our team conversation that we'll retain the position of the yellow bar /after/ notifications icons rather than before.

It was my understanding following our team conversation that we'll retain the position of the yellow bar /after/ notifications icons rather than before.

ideally the order of the elements would be (from left to right):
Search, Language switcher (for Commons, Wikidata, etc.), Talk page message (when present), Bell, Inbox, Username, Menu

It was my understanding following our team conversation that we'll retain the position of the yellow bar /after/ notifications icons rather than before.

My interpretation from that conversation was that it was fine to change the order provided that @alexhollender and @ovasileva approved a screenshot of the change (which I posted in slack). Whether it comes before the bell icon or after the notifications icon (the status quo in legacy vector) is easy to change though. @alexhollender @ovasileva is one position more desirable than the other keeping in mind that this will affect legacy Vector and other skins as well?

It was my understanding following our team conversation that we'll retain the position of the yellow bar /after/ notifications icons rather than before.

My interpretation from that conversation was that it was fine to change the order provided that @alexhollender and @ovasileva approved a screenshot of the change (which I posted in slack). Whether it comes before the bell icon or after the notifications icon (the status quo in legacy vector) is easy to change though. @alexhollender @ovasileva is one position more desirable than the other keeping in mind that this will affect legacy Vector and other skins as well?

I think it would be best to position it to the left of the bell icon (on LTR languages), or in other words on the search-side of the bell icon. The reason being, when it appears the icons remain in the same position they are in when it's not there.

Additionally, regarding legacy vector, the current location is a little odd given that the notification for the talk page message lives under the bell (not the inbox). Therefore hopefully people would be open to re-positioning it to the left of the bell. Current location for reference:

Change 694835 had a related patch set uploaded (by Nray; author: Nray):

[mediawiki/skins/Nimbus@master] Add conditional around EchoHooks::onPersonalUrls call

https://gerrit.wikimedia.org/r/694835

Change 694835 merged by jenkins-bot:

[mediawiki/skins/Nimbus@master] Add conditional around EchoHooks::onPersonalUrls call

https://gerrit.wikimedia.org/r/694835

Change 691282 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Move talk page notification data from 'user-menu' to 'notifications'

https://gerrit.wikimedia.org/r/691282

@ovasileva @Jdlrobson: @RHo just pointed out to me that the yellow notice doesn't get added to the user links, it is actually the Talk page link transformed into (or replaced by) the yellow notice. In other words the yellow notice IS a special version of the talk page link. I'm noting this because it might mean that option #2 in the description is more complicated than we thought (since in new vector the Talk link isn't exposed on the page, it's inside the user menu).

As I mentioned in standup today - this is correct, and I suspect this transformation logic might be more confusing/problematic in modern Vector where our talk link resides in the drop down menu as it means that, without some more work, users will only see a talk link in the drop down user menu when they don't have a notification:


I believe we are going to discuss this more tomorrow, but I wanted to add a note here for what we discussed today.

nray claimed this task.
nray added a subscriber: Edtadros.

Change 695648 had a related patch set uploaded (by Nray; author: Nray):

[mediawiki/extensions/Echo@master] POC: Add talk notification instead of transforming the talk link

https://gerrit.wikimedia.org/r/695648

@ovasileva @Jdlrobson: @RHo just pointed out to me that the yellow notice doesn't get added to the user links, it is actually the Talk page link transformed into (or replaced by) the yellow notice. In other words the yellow notice IS a special version of the talk page link. I'm noting this because it might mean that option #2 in the description is more complicated than we thought (since in new vector the Talk link isn't exposed on the page, it's inside the user menu).

As I mentioned in standup today - this is correct, and I suspect this transformation logic might be more confusing/problematic in modern Vector where our talk link resides in the drop down menu as it means that, without some more work, users will only see a talk link in the drop down user menu when they don't have a notification:


I believe we are going to discuss this more tomorrow, but I wanted to add a note here for what we discussed today.

How does this sound for next steps:

  • We continue with moving the link from the sidebar into the header when there is a new message
  • We create a separate task for duplicating the link (having the link to the talk page appear in the menu while the new message link is available)

@alexhollender, @nray - does that sound ok?

How does this sound for next steps:

  • We continue with moving the link from the sidebar into the header when there is a new message
  • We create a separate task for duplicating the link (having the link to the talk page appear in the menu while the new message link is available)

@alexhollender, @nray - does that sound ok?

sounds good, I've created the follow-up task T283811

@ovasileva that sounds good to me! (and I agree with the approach of always keeping the talk link in the dropdown regardless of the notification status)

Change 696733 had a related patch set uploaded (by Nray; author: Nray):

[mediawiki/extensions/Echo@master] Make talk page notification use `link-class`, `id` and don't set `class`

https://gerrit.wikimedia.org/r/696733

I've moved this back to code review because in the midst of writing up QA steps I noticed a bug involving modern Vector with the $wgVectorConsolidateUserLinks flag enabled (legacy/other skins aren't affected AFAICT) where the notification element has the wrong class (#ca-mytalk instead of #pt-mytalk) and the link is missing the title and accesskey attributes.

The following patch should fix that:

https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Echo/+/696733

Change 696733 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Make talk page notification use `link-class`, `id` and don't set `class`

https://gerrit.wikimedia.org/r/696733

Change 697667 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/extensions/Echo@master] Echo hook needs to consider other hook modifications

https://gerrit.wikimedia.org/r/697667

Jdlrobson updated Other Assignee, added: Jdlrobson.

Change 697667 merged by jenkins-bot:

[mediawiki/extensions/Echo@master] Echo hook needs to consider other hook modifications

https://gerrit.wikimedia.org/r/697667

What is the reasoning behind the capitalization in "You have a new Talk page message"? I noticed this change recently (while working on DiscussionTools) and it was distracting to me.

What is the reasoning behind the capitalization in "You have a new Talk page message"? I noticed this change recently (while working on DiscussionTools) and it was distracting to me.

Thanks for calling this out. I'm not actually sure where along the way the wording was changed from what it is currently. I think we should stick with the current string You have new messages. Do we need a new task for that @Jdlrobson @ovasileva ?

@alexhollender the copy is in the acceptance criteria added by Olga after the request by @RHo above in T274428#7052527 which has more context.

What is the reasoning behind the capitalization in "You have a new Talk page message"? I noticed this change recently (while working on DiscussionTools) and it was distracting to me.

Not sure what I think about the capitalization. On one side it's the name of the page, on the other side, I agree that "You have a new talk page message" looks better. @alexhollender, @Volker_E - do we have guidelines around this? "You have a new Talk Page message" perhaps?

What is the reasoning behind the capitalization in "You have a new Talk page message"? I noticed this change recently (while working on DiscussionTools) and it was distracting to me.

Not sure what I think about the capitalization. On one side it's the name of the page, on the other side, I agree that "You have a new talk page message" looks better. @alexhollender, @Volker_E - do we have guidelines around this? "You have a new Talk Page message" perhaps?

My understanding, from looking at OOUI and the current interface, is that we'd say "Talk page" rather than "Talk Page".

Neither "talk" nor "page" is usually capitalized, unless it just happens to be a title or the beginning of a sentence, see e.g. https://en.wikipedia.org/wiki/Help:Talk_pages.

Test Result - Beta

Status:
Environment: beta
OS: macOS Big Sur
Browser: Chrome
Device: MBP
Emulated Device: NA

Test Artifact(s):

QA steps

Replication steps (substitute user for your own user name)

Login as user "CharlieBrown"
In an incognito window load the User talk:CharlieBrown page and click add topic. Add a topic with title "hello" and message "Hello [[User:CharlieBrown]]! ~~~~`
Refresh the non-incognito window where you are logged in as Charlie Brown.

✅ AC1: I see the body message, which from the description I should not since I am logged in. I do not see the user menu message
@Jdlrobson per your input and reading through the comments I agree we should pass this.

@Edtadros that looks like a pass to me - the yellow bar on the left under the logo is what we're looking for.

This can skip QA in production. It can't be tested there until the feature is deployed. We will do that prior to releasing the feature.

Change 699921 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/Echo@master] Restore previous wording on the new messages banner

https://gerrit.wikimedia.org/r/699921

LGoto added a subscriber: cjming.

Hey @ovasileva to sign this off we need to make a final decision about the copy. The options seem to be

  1. Keep the status quo with the capitalized "Talk page" e.g. "You have a new Talk page message"
  2. Drop the capitalization, keep the new copy e.g. "You have a new talk page message"
  3. Revert back to the old copy (Bartosz's patch above)

Hey @ovasileva to sign this off we need to make a final decision about the copy. The options seem to be

  1. Keep the status quo with the capitalized "Talk page" e.g. "You have a new Talk page message"

Currently, without specifying that it is a talk page message, it is difficult to determine how this message differs from the notices and alerts list. In addition, we've changed the functionality to display both this message as well as the link to the Talk page, making the connection between the two even weaker. It seems previous precedent would mean that the capitalization "Talk page" is expected. For example, in the sidebar we currently have: Main page, Community portal, Recent changes, Upload file, etc. Thus, I think we should continue with the status quo.

  1. Drop the capitalization, keep the new copy e.g. "You have a new talk page message"
  2. Revert back to the old copy (Bartosz's patch above)

Neither "talk" nor "page" is usually capitalized, unless it just happens to be a title or the beginning of a sentence, see e.g. https://en.wikipedia.org/wiki/Help:Talk_pages.