Page MenuHomePhabricator

"jQuery.Deferred exception: wish is null" for some unbalanced parser tags
Closed, DeclinedPublicBUG REPORT

Description

What is the problem?

The intake form will not load if the wish description includes parser tags (e.g. <syntaxhighlight>) that are not correctly closed.

For example, a description like:

<syntaxhighlight>
foobar sdjfkl sdjfkl sd jsklf sjklf sdjkfl sd

If you try to "edit with form" a blank intake form will load and the VisualEditor and Source Editor will not load for the description.

Also, in the browser console you will see this error:

jQuery.Deferred exception: wish is null setProposalData/<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=ext.gadget.WishlistIntake&skin=vector-2022&version=1ru3n:43:654
mightThrow@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:180:648
Deferred/then/resolve/</process<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:181:309
setTimeout handler*Deferred/then/resolve/<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:181:714
fire@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:177:705
fireWith@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:178:903
fire@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:178:947
fire@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:177:705
fireWith@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:178:903
Deferred/</deferred[tuple[0]]@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:182:471
ajax/xhr<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=mediawiki.api&skin=vector-2022&version=18hsa:4:372
fire@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:177:705
fireWith@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:178:903
done@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:262:417
send/callback/<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:266:67
EventHandlerNonNull*send@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:266:288
ajax@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:261:137
ajax@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=mediawiki.api&skin=vector-2022&version=18hsa:3:751
get@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=mediawiki.api&skin=vector-2022&version=18hsa:2:354
setProposalData@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=ext.gadget.WishlistIntake&skin=vector-2022&version=1ru3n:43:298
beforeMount@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=ext.gadget.WishlistIntake&skin=vector-2022&version=1ru3n:44:842
resources/lib/vue/vue.js/ms/Vue/Vue<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:506:995
jt@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:490:309
Ht@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:490:381
resources/lib/vue/vue.js/fs/t.__weh@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:506:876
P@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:474:403
c@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:526:819
run@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:480:868
resources/lib/vue/vue.js/ko/B/e.update@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:527:306
B@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:527:333
M@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:525:631
F@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:523:898
v@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:521:38
Z@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:531:978
mount@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:513:219
resources/lib/vue/vue.js/e.createApp/t.mount@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:613:872
WishlistIntake.js/</</<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=ext.gadget.WishlistIntake&skin=vector-2022&version=1ru3n:52:235
promise callback*WishlistIntake.js/</<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=ext.gadget.WishlistIntake&skin=vector-2022&version=1ru3n:51:929
mightThrow@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:180:648
Deferred/then/resolve/</process<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:181:309
setTimeout handler*Deferred/then/resolve/<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:181:714
fire@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:177:705
add@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:178:222
Deferred/then/<@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:181:894
Deferred@https://wishlist-test.toolforge.org/w/load.php?lang=en-gb&modules=%40wikimedia%2Fcodex%2Ccodex-styles%2Cjquery%2Coojs-ui-core%2Cvue&skin=vector-2022&version=1a11e:182:611
 undefined load.php:183:554

I also notice that those wishes are not included in the wish index:
https://wishlist-test.toolforge.org/wiki/Community_Wishlist/Wishes

Steps to reproduce problem

Examples of problematic wishes:

QA Results - Wishlist-test.toolforge

ACStatusDetails
1T369009#9993323

Details

Other Assignee
GMikesell-WMF

Event Timeline

It's a different error now but we're at least letting the user know if the wish can't be parsed.

@MusikAnimal Can you please review the gif and screenshot if that is what you want on to work if that happens?

Test Result - Wishlist-test.toolforge

Status: ❓NMI
Environment: Wishlist-test.toolforge
OS: macOS Sonoma 14.5
Browser: Chrome 126
Device: MBA
Emulated Device: NA

Test Artifact(s):

Test Steps
  1. Create a wish and in the wish description include parser tags (e.g. <syntaxhighlight>) that are not correctly closed.
Is that the error you want so this would be wad?
2024-07-17_19-04-48.mp4.gif (948×666 px, 718 KB)
Is it as design not to show up in the Recent Wish table too?
2024-07-17_19-16-14.png (1,223×958 px, 174 KB)

@GMikesell-WMF Sorry for the delay in replying. Yes, the GIF/screenshot you've posted looks like the expected behaaviour.

Is it as design not to show up in the Recent Wish table too?

It's not by design, but it is the same reason the intake form won't load. The bot can't parse the proposal.

We should probably come up with a better way to handle this. Otherwise wishes with unbalanced wikitext never get surfaced. I'm going to leave the task here In Development while I brainstorm a solution.

MusikAnimal subscribed.

I have not had a chance to look more into this, but I haven't heard of this issue happening in the wild. So perhaps this is low-priority.

JWheeler-WMF subscribed.

Moving this to our backlog as we haven't seen it in production

The Wishlist intake gadget has been superseded by MediaWiki-extensions-CommunityRequests per T366194#11553227, thus declining this task