User:<ip> pages do not get treated the same as User:<username>. We will update user pages so this is the case and make sure the toolbar always shows.
T201339 made it possible to navigate to the empty-state of a non-existent/redlink userpage, and therefore reach contributions, talk, etc. However this fix did not solve the issue for IP non-existent/redlink userpages. Additionally we would like the toolbar to be shown on non-existent/redlink userpages.
When clicking on an IP redlink, one should land on the empty-state of the IP userpage, rather than being prompted to create it.
|redlink userpage||redlink IP userpage|
- Always show the page actions on a user page (AMC & non-AMC)
- If a user page exists (e.g. https://en.m.wikipedia.org/wiki/User:127.0.0.1) then the talk/contributions/upload bar and page actions bar shows (AMC & non-AMC)
- If a user page doesn't exist but is an IP address (e.g. https://en.m.wikipedia.org/wiki/User:220.127.116.11) then the talk/contributions/upload bar shows as well as the page actions and the call to action (to edit the page) is shown. (AMC & non-AMC)
The "User" namespace page on mobile should be verified to continue to work as expected. In general, the flowchart in the comments below outlines the correct behaviour for the user namespace page.
- Confirm that the page-actions menu is present on user pages for: existing users, non-existing users, IP users, and "own" user page when logged in.
- Confirm The "talk contributions uploads" menu appears underneath the page-actions menu.
- Confirm all user page contain the "talk, contributions, uploads" menu for all user pages.
- Confirm IP user pages that have not been created, show the large gray box saying "No user page... create a page"
- Confirm IP user pages that have been created, still show the content of the page.
SkinUserPageHelper::isUserPage is the problem here. It checks if a user exists
User::isIP should also be used here to make the treatment work.
An update to SkinMinerva::isAllowedPageAction will be needed to remove the disabling of page actions