Page MenuHomePhabricator

Enable different default font size on different pages for Vector 2022 in production
Closed, ResolvedPublic1 Estimated Story Points

Assigned To
Authored By
Jdlrobson
May 31 2024, 3:08 AM
Referenced Files
F54955581: screenshot 542.png
Jun 5 2024, 10:00 PM
F54955516: screenshot 524.png
Jun 5 2024, 10:00 PM
F54955417: screenshot 506.png
Jun 5 2024, 10:00 PM
F54955579: screenshot 541.png
Jun 5 2024, 10:00 PM
F54955514: screenshot 523.png
Jun 5 2024, 10:00 PM
F54955415: screenshot 505.png
Jun 5 2024, 10:00 PM
F54955577: screenshot 540.png
Jun 5 2024, 10:00 PM
F54955512: screenshot 522.png
Jun 5 2024, 10:00 PM

Description

Background

In T364887 we made it possible to disable the font size selection on certain pages. This task is about enabling this feature in production.

User story

As a user when I visit certain special pages, I get the traditional small size font.

Requirements

  • The configuration for $wgVectorFontSizeConfigurableOptions currently set on beta cluster is promoted to production.

Requirement

Ensure that the font size configuration for Vector 2022 is correctly implemented in production. The following namespaces and actions should be excluded from the new font size settings on all wikis except for plwiki, nlwiki, and eswiki.

Excluded namespaces:

  • Special pages (-1)
  • Talk (1)
  • User (2)
  • File (6)
  • MediaWiki (8)
  • Template (10)
  • Category (14)
  • Custom Namespace (100)
  • TimedText (710)
  • Module (828)

Excluded actions:

  • edit
  • submit
  • diff
  • info
  • protect
  • delete
  • undelete
  • action
  • history

BDD

Feature: Font Size Configuration for Vector 2022

  Scenario: Apply font size configuration for wikis excluding plwiki, nlwiki, and eswiki
    Given the font size configuration is set for wikis excluding plwiki, nlwiki, and eswiki
    When the configuration is applied
    Then the specified namespaces and actions should be excluded from the new font size settings

    | Namespace       | Namespace ID |
    |-----------------|--------------|
    | Special pages   | -1           |
    | Talk            | 1            |
    | User            | 2            |
    | File            | 6            |
    | MediaWiki       | 8            |
    | Template        | 10           |
    | Category        | 14           |
    | Custom Namespace| 100          |
    | TimedText       | 710          |
    | Module          | 828          |

    | Action    |
    |-----------|
    | edit      |
    | submit    |
    | diff      |
    | info      |
    | protect   |
    | delete    |
    | undelete  |
    | action    |
    | history   |

  Scenario: Exclude font size configuration for plwiki, nlwiki, and eswiki
    Given the font size configuration is set for plwiki, nlwiki, and eswiki
    When the configuration is applied
    Then these wikis should not have the new font size settings

Test Steps

Test Case 1: Apply Font Size Configuration for Wikis Excluding plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is set to exclude the specified namespaces and actions.
  2. Visit pages in the following namespaces on a wiki excluding plwiki, nlwiki, and eswiki: Special pages, Talk, User, File, MediaWiki, Template, Category, Custom Namespace, TimedText, Module.
  3. Visit pages with the following actions on a wiki excluding plwiki, nlwiki, and eswiki: edit, submit, diff, info, protect, delete, undelete, action, history.
  4. AC1: Confirm that the specified namespaces and actions are excluded from the new font size settings.

Test Case 2: Exclude Font Size Configuration for plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is not applied to plwiki, nlwiki, and eswiki.
  2. Visit pages in any namespace on plwiki, nlwiki, and eswiki.
  3. Perform any actions on plwiki, nlwiki, and eswiki.
  4. AC2: Confirm that these wikis do not have the new font size settings.

Acceptance criteria

  • The requirements in T364887 should be satisifed in production.

Communication criteria - does this need an announcement or discussion?

Probably. Check with @sgrabarczuk and @ovasileva beforehand

Rollback plan

Revert the patch, move this task to backlog.

This task was created by Version 1.0.0 of the Web team task template using phabulous

QA Results - Prod

ACStatusDetails
1✅ / ❓T366334#9865934 Please review the ❓ before signing off or adding verified tag.
2✅ / ❓T366334#9865934 Please review the ❓ before signing off or adding verified tag.

Event Timeline

Jdlrobson set the point value for this task to 1.May 31 2024, 2:54 PM

@Jdlrobson - my understanding is that the change will apply to all font sizes (including the current default). However, since the current default maps to the new "small", if we were to deploy today, my expectation would be the following:

  1. Change is applied everywhere across wikis regardless of menu availability of default font size
  2. Change does the following:
  3. For wikis which have the default as "small", pages which default to the local "small" size appear in the same font size. For these wikis, the beta menu works as expected (medium and large sizes have a visual change on the pages where the local "small" takes effect)
  4. For wikis which have the default as "medium", everything works as in the beta feature

Is there a way to test the above? Have we tested it yet?

If so, then I think we should be ready to turn on anytime and would not require additional communications so long as the change is made prior to deploying the new default across all wikis cc @sgrabarczuk

My understanding is this was all tested as part of T364887 in the beta cluster and this testing should be sufficient. As with any roll out I would suggest doing it in at least 2 stages (e.g. enable first on several wikis where we can get feedback) to increase confidence.

SToyofuku-WMF subscribed.

Picking this up - as a first step I'll read the historical context to understand what we're doing here, then handle the technical implementation, then we can decide how to release it

Okay, I'm back from lunch and caught up - @ovasileva @Jdlrobson do we have a list of initial wikis we want to roll this out to, or should I be preparing a config patch to release it everywhere at once? I believe it could also ride the train, but not sure if that makes more or less sense here

Change #1038444 had a related patch set uploaded (by Stoyofuku-wmf; author: Stoyofuku-wmf):

[operations/mediawiki-config@master] Disable font size options on specified pages for pt, ta, ja

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

First of backports will go out today.

Change #1038444 merged by jenkins-bot:

[operations/mediawiki-config@master] Disable font size options on specified pages for most wikis

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

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:18:21Z] <urbanecm@deploy1002> Started scap: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]]

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:21:23Z] <urbanecm@deploy1002> toyofuku and urbanecm: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-06-04T21:33:31Z] <urbanecm@deploy1002> Finished scap: Backport for [[gerrit:1038444|Disable font size options on specified pages for most wikis (T366334)]] (duration: 15m 10s)

Next steps prior to previous deploy:

  • @JScherer-WMF to review exception list and propose new list
  • Deploy will continue with the new list tomorrow, Jun 6

I checked as many of the namespaces and actions indicated above as I could. Tl;dr: Module and template were the only namespaces that seemed like they would break with a high likely hood with larger default font sizes.

  • Special pages (-1)
    • Clicked through a random selection of these, and there are a few that are tables, but I don't think different font sizes would immediately break them.
    • Recommend: remove from exception list and make font-size control available.
  • Talk (1)
    • talk page hat notes are awful for readability already, larger font sizes would make them worse.
    • These are actually mostly paragraphs. The indenting doesn't make larger fonts ideal, but larger fonts wouldn't break them.
    • Recommend: remove from exception list and make font-size control available.
  • User (2)
    • These vary wildly
    • Recommend: remove from exception list and make font-size control available.
  • File (6)
    • The fonts are all over the place on these pages, especially ant type. I don't think giving users control over font sizes would make them any worse than they already are.
    • Recommend: remove from exception list and make font-size control available.
  • MediaWiki (8)
    • These pages are as diverse as the wikis themselves.
    • Recommend: remove from exception list and make font-size control available.
  • Template (10)
    • the code examples in these already have different font styles, so I don't know how much of these pages would actually change with our font-size selector.
    • Unrelated here, but these might benefit from being on the width exclusion list like homepages to have a wider view by default.
    • Recommend: keep on exception list and make font-size control available.
  • Category (14)
    • The tables of categories break well, so they don't have a risk of running into one another at larger font sizes.
    • Recommend: remove from exception list and make font-size control available.
  • Custom Namespace (100)
    • I don't really know how to test these.
  • TimedText (710)
    • Breaks fine, and the text wouldn't inherit our text sizes anyways because it uses a different font.
    • Recommend: remove from exception list and make font-size control available.
  • Module (828)
    • These are mostly code, so our font sizes wouldn't apply. The tables in these seem fine, though.
    • These might benefit from a wider default size.
    • Recommend: keep on exception list for now.
  • edit
    • This should mirror production text as much as possible.
    • Recommend: remove from exception list and make font-size control available.
  • submit
    • couldn't find an example
  • diff
    • This should mirror production text as much as possible.
    • Recommend: remove from exception list and make font-size control available.
  • info
    • couldn't find an example
  • protect
    • couldn't find an example
  • delete
    • couldn't find an example
  • undelete
    • couldn't find an example
  • action
    • couldn't find an example
  • history
    • Larger text would force some items onto a new line, but the readability of the lists overall would benefit from the custom type sizes.
    • Recommend: remove from exception list and make font-size control available.

One note: my decision making on this was driven by the heuristic: Would the text on this page probably become unreadable due to excessive wrapping and low character per line counts with Standard or Large font size?

One lingering question I have is: how do the font size controls impact text that is rendered in monospace code font like on diff pages, template namespace, and module name space?

I don't have extremely strong convictions about most of these, and so if folks have strong preferences, I think we can refactor the list again in 2 weeks.

For the actions that i couldn't find an example of, I think it would be prudent to leave them on the exception list for now.

Edtadros subscribed.

@ovasileva, I'm moving this to Ready for Signoff, but I would like for you to view the ones with a ❓ just to be sure.

Test Result - Prod

Status: ✅ PASS / ❓Need More Info
Environment: Beta
OS: macOS Sonoma
Browser: Chrome
Device: MBA
Emulated Device: NA

Test Artifact(s):

Test Steps

Test Case 1: Apply Font Size Configuration for Wikis Excluding plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is set to exclude the specified namespaces and actions.
  2. Visit pages in the following namespaces on a wiki excluding plwiki, nlwiki, and eswiki: Special pages, Talk, User, File, MediaWiki, Template, Category, Custom Namespace, TimedText, Module.
  3. Visit pages with the following actions on a wiki excluding plwiki, nlwiki, and eswiki: edit, submit, diff, info, protect, delete, undelete, action, history.
  4. ✅❓ AC1: Confirm that the specified namespaces and actions are excluded from the new font size settings.
P/FNamespaceScreenshot
✅Talk
screenshot 471.png (1,152×1,006 px, 254 KB)
✅User
screenshot 472.png (1,152×1,006 px, 182 KB)
✅File
screenshot 473.png (1,152×1,006 px, 642 KB)
✅MediaWiki
screenshot 474.png (1,152×1,006 px, 236 KB)
✅Template
screenshot 475.png (1,152×1,006 px, 264 KB)
✅Category
screenshot 476.png (1,152×1,006 px, 209 KB)
✅Portal
screenshot 478.png (1,152×1,006 px, 333 KB)
✅TimedText
screenshot 477.png (1,152×1,006 px, 204 KB)
✅Module
screenshot 479.png (1,152×1,006 px, 272 KB)

For protect and delete I don't have permissions, undelete and action (which I'm not even sure is valid the way I did it) give a "no such action" page, but the text options are disabled.

P/FActionScreenshot
✅edit
screenshot 480.png (1,152×1,006 px, 227 KB)
✅submit
screenshot 481.png (1,152×1,006 px, 227 KB)
✅diff
screenshot 482.png (1,152×1,006 px, 266 KB)
✅info
screenshot 483.png (1,152×1,006 px, 190 KB)
❓protect
screenshot 484.png (1,152×1,006 px, 170 KB)
❓delete
screenshot 485.png (1,152×1,006 px, 144 KB)
❓undelete
screenshot 486.png (1,152×1,006 px, 147 KB)
❓action
screenshot 487.png (1,152×1,006 px, 144 KB)
✅history
screenshot 488.png (1,152×1,006 px, 343 KB)

Test Case 2: Exclude Font Size Configuration for plwiki, nlwiki, and eswiki

  1. Verify that the font size configuration is not applied to plwiki, nlwiki, and eswiki.
  2. Visit pages in any namespace on plwiki, nlwiki, and eswiki.
  3. Perform any actions on plwiki, nlwiki, and eswiki.
  4. ✅❓ AC2: Confirm that these wikis do not have the new font size settings.
P/FNamespaceplwikinlwikieswiki
✅Talk
screenshot 490.png (1,152×1,006 px, 380 KB)
screenshot 507.png (1,152×1,006 px, 216 KB)
screenshot 525.png (1,152×1,006 px, 198 KB)
✅User
screenshot 489.png (1,152×1,006 px, 173 KB)
screenshot 508.png (1,152×1,006 px, 169 KB)
screenshot 526.png (1,152×1,006 px, 187 KB)
✅File
screenshot 491.png (1,152×1,006 px, 643 KB)
screenshot 509.png (1,152×1,006 px, 632 KB)
screenshot 527.png (1,152×1,006 px, 648 KB)
✅MediaWiki
screenshot 492.png (1,152×1,006 px, 242 KB)
screenshot 510.png (1,152×1,006 px, 225 KB)
screenshot 528.png (1,152×1,006 px, 188 KB)
✅Template
screenshot 493.png (1,152×1,006 px, 260 KB)
screenshot 511.png (1,152×1,006 px, 213 KB)
screenshot 529.png (1,152×1,006 px, 268 KB)
✅Category
screenshot 494.png (1,152×1,006 px, 176 KB)
screenshot 512.png (1,152×1,006 px, 186 KB)
screenshot 530.png (1,152×1,006 px, 200 KB)
✅Portal
screenshot 495.png (1,152×1,006 px, 259 KB)
screenshot 513.png (1,152×1,006 px, 234 KB)
screenshot 531.png (1,152×1,006 px, 379 KB)
✅TimedText
screenshot 496.png (1,152×1,006 px, 157 KB)
No Timed Text Pages
screenshot 514.png (1,152×1,006 px, 134 KB)
screenshot 532.png (1,152×1,006 px, 164 KB)
✅Module
screenshot 497.png (1,152×1,006 px, 278 KB)
screenshot 515.png (1,152×1,006 px, 306 KB)
screenshot 533.png (1,152×1,006 px, 285 KB)

For protect and delete I don't have permissions, undelete and action (which I'm not even sure is valid the way I did it) give a "no such action" page, but the text options are disabled.

P/FActionplwikinlwikieswiki
✅edit
screenshot 498.png (1,152×1,006 px, 202 KB)
screenshot 516.png (1,152×1,006 px, 207 KB)
screenshot 534.png (1,152×1,006 px, 234 KB)
✅submit
screenshot 499.png (1,152×1,006 px, 203 KB)
screenshot 517.png (1,152×1,006 px, 211 KB)
screenshot 535.png (1,152×1,006 px, 258 KB)
✅diff
screenshot 500.png (1,152×1,006 px, 246 KB)
screenshot 518.png (1,152×1,006 px, 246 KB)
screenshot 536.png (1,152×1,006 px, 230 KB)
✅info
screenshot 501.png (1,152×1,006 px, 316 KB)
screenshot 519.png (1,152×1,006 px, 197 KB)
screenshot 537.png (1,152×1,006 px, 200 KB)
❓protect
screenshot 502.png (1,152×1,006 px, 202 KB)
screenshot 520.png (1,152×1,006 px, 192 KB)
screenshot 538.png (1,152×1,006 px, 173 KB)
❓delete
screenshot 503.png (1,152×1,006 px, 150 KB)
screenshot 521.png (1,152×1,006 px, 141 KB)
screenshot 539.png (1,152×1,006 px, 135 KB)
❓undelete
screenshot 504.png (1,152×1,006 px, 154 KB)
screenshot 522.png (1,152×1,006 px, 151 KB)
screenshot 540.png (1,152×1,006 px, 140 KB)
❓action
screenshot 505.png (1,152×1,006 px, 154 KB)
screenshot 523.png (1,152×1,006 px, 151 KB)
screenshot 541.png (1,152×1,006 px, 140 KB)
✅history
screenshot 506.png (1,152×1,006 px, 335 KB)
screenshot 524.png (1,152×1,006 px, 303 KB)
screenshot 542.png (1,152×1,006 px, 298 KB)

Change #1039310 had a related patch set uploaded (by Stoyofuku-wmf; author: Stoyofuku-wmf):

[operations/mediawiki-config@master] Refine list of pages where font size controls are disabled

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

Thank you for reviewing these @JScherer-WMF! I think this looks good with the exception of some table-based namespaces which I would recommend continue being on the exclude list . I would like to propose the following for moving forward:

NamespaceSize
Special PagesSmall
TalkNormal
UserNormal
FileSmall
MediaWikiNormal
TemplateSmall
CategorySmall
CustomSmall
TimedTextSmall
ModuleSmall
EditNormal
SubmitSmall
DiffNormal
InfoSmall
ProtectSmall
DeleteSmall
UndeleteSmall
ActionSmall
HistorySmall

Thank you for reviewing these @JScherer-WMF! I think this looks good with the exception of some table-based namespaces which I would recommend continue being on the exclude list . I would like to propose the following for moving forward:

NamespaceSize
Special PagesSmall
TalkNormal
UserNormal
FileSmall
MediaWikiNormal
TemplateSmall
CategorySmall
CustomSmall
TimedTextSmall
ModuleSmall
EditNormal
SubmitSmall
DiffNormal
InfoSmall
ProtectSmall
DeleteSmall
UndeleteSmall
ActionSmall
HistorySmall

I'm good with this as our first pass for release. I don't want perfect to get in the way of done and we're down to the wire for the release today.

I've folded this into https://phabricator.wikimedia.org/T366625 which @SToyofuku-WMF is using for the next deployment. I amended template/modules per a follow up conversation - we want editors to be able to preview these.

Change #1039310 abandoned by Stoyofuku-wmf:

[operations/mediawiki-config@master] Refine list of pages where font size controls are disabled

Reason:

This is no longer needed - https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1038876

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

All done. Follow-up can be tracked in separate tickets.