Page MenuHomePhabricator

SocialProfile prevents display of GlobalUserPage
Open, Needs TriagePublic

Description

Even if ‘use wiki userpage’ is selected, Social Profile will not show the global userpage.

From my testing, SocialProfile overwrites the User namespace so the user page now shows at UserWiki. This means the global user page won’t show because it expects to show in the User namespace.

Users expect that the global userpage will show when use wiki page is chosen

Event Timeline

Restricted Application added projects: Social-Tools, User-RhinosF1. · View Herald TranscriptApr 12 2020, 11:17 AM
RhinosF1 moved this task from Backlog to SocialProfile on the Social-Tools board.Apr 12 2020, 11:17 AM
RhinosF1 moved this task from Backlog to Feedback on the SocialProfile board.
RhinosF1 moved this task from Radar to Miraheze-Linked on the User-RhinosF1 board.

This is sorta "by design", although I do agree that this is a valid feature request/bug report.

In /extensions/GlobalUserPage/includes/Hooks.php we have an ArticleFromTitle hook subscriber, the same hook that SocialProfile uses to implement its customizations to the User: pages; as per the comment on line 35, If another extension's hook has already run, don't override it. That's where the problem lies.

I suspect that with SocialProfile installed, $page is always an instance of UserProfilePage (due to UserProfileHooks#onArticleFromTitle, in /extensions/SocialProfile/UserProfile/includes/UserProfileHooks.php). The code in UserProfilePage calls parent::view() (where parent = Article) when the user does not want to use a social user profile (see L130 onwards, User does not want social profile for User:user_name, so we just show header + page content).

I'm not sure what'd be the best way to approach this problem. cc @Legoktm for input.

This is sorta "by design", although I do agree that this is a valid feature request/bug report.

We expected that it would be by design but were debating whether this use case was not considered.