Inline dupe finder does not show a form to submit a bug if no possible dups were found
Bug #495029 reported by
Markus Korn
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Graham Binns |
Bug Description
Inline dupe finder does not show a form to submit a bureport is no possible dups were found, see the attached video as an example.
Just in case it is a javascript problem, I'm using firefox 3.5.5
This is confirmed for Chrome, too.
Related branches
lp://qastaging/~gmb/launchpad/bug-495029
- Deryck Hodge (community): Approve (code)
-
Diff: 38 lines (+6/-8)1 file modifiedlib/canonical/launchpad/javascript/bugs/filebug-dupefinder.js (+6/-8)
summary: |
- Inline dupe finder does not show a form to submit a bureport is no + Inline dupe finder does not show a form to submit a bureport if no possible dups were found |
Changed in malone: | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Graham Binns (gmb) |
tags: | added: confusing-ui |
description: | updated |
summary: |
- Inline dupe finder does not show a form to submit a bureport if no - possible dups were found + Inline dupe finder does not show a form to submit a bug if no possible + dups were found |
tags: | added: story-ajaxify-dupe-finder |
Changed in malone: | |
milestone: | none → 3.1.12 |
Changed in malone: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
This is due to the upgrade in YUI. The dupefinder was written and mostly QA'd against a branch which used the pre-release YUI3, which expected Y.all() to return null when no matching nodes were found. The released version of YUI3's Y.all() returns an empty NodeList when no nodes are found. Since the change for Y.Lang.isValue() on such results would now always return true, the JS assumed that there were duplicates found when there weren't and so would never show the filebug form in those cases.
The fix for this is to convert the Y.Lang.isValue() checks on the results of Y.all() to use result.size() > 0.