Page MenuHomePhabricator

Memory-protection for sessionStorage not working
Open, Needs TriagePublic

Description

For the new-comment-notification feature we decided to put sessionStorage in a MemoryStarage wrapper, so that even sessionStorage was disabled, your reply would be recovered if you clicked the notification (as it doesn't reload the page), however the MemoryStorage was not passed to the VE surface, so this fails.

Note that the MemoryStorage wrapper was designed to protect against an edge case of someone using the new-comment-notification with sessionStorage disabled or broken, which is likely a very rare edge case, so it is unlikely anyone has been affected by this bug yet.

Steps:

Expected:

  • Your draft reply is recovered

Actual:

  • It gets stuck on "loading"

Event Timeline

Change 804757 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] ReplyWidgetVisual: Overwite ve.init.platform.sessionStorage with memory-wrapped store

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

Change 804757 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] ReplyWidgetVisual: Pass in memory-wrapped store to VE

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

@matmarex , I somehow thought you were trying to reopen the ticket and decided to check it.

Here's what I found: https://photos.app.goo.gl/CPQXHazFbNTtZrS8A.
On click of the the "Show 7 new comments" button:

  • Reply buttons change to [reply] link
  • Reply tool is not displayed anywhere and the esc button doesn't help. It leaves the user confused about how to interact with the page

When I reload, the Reply links are disabled and the one I initially clicked is bold and throws an error when clicked. See

Screenshot 2022-08-06 at 00.00.50.png (1×3 px, 725 KB)