Closed hassanakbar4 closed 14 years ago
@rjsparks@nostrum.com commented
I can now reproduce this consistently on a Mac running Firefox. I walked Sean Turner (same configuration) through these steps and it exhibited for him.
Here are the steps:
As an AD: 1) Open a page with more than one of the position summary grids on it, like https://datatracker.ietf.org/iesg/agenda/documents/
2) Choose some document with a grid (call this document A). Left click on its grid.
3) scroll down (I used the two-finger gesture on the trackpad) to the bottom and keep sending the scrolling motion until the window under the popup starts to scroll (you can also left click on the window under the popup and start scrolling it around. You should see the popup "shake" a little as it tries to force itself to be in one position on the screen.
4) Hit the close button.
5) left click the grid for some other document (call this document B). Verify that the contents of the popup box reflect document B.
6) Press "Edit Position". The page that loads will be the position editing page for document A, not document B.
@rjsparks@nostrum.com commented
I just verified the same thing happens with Safari.
@rjsparks@nostrum.com commented
And I just verified it with Explorer 6 on Windows
@rjsparks@nostrum.com commented
OK - I think the scrolling was a red-herring.
I can get this to exhibit consistently just by clicking on one grid, hitting close, and then immediately clicking on another grid.
The problem is in static/js/base.js at function showBallot(draftName, editPositionUrl) {
The object that's created inside this if statement: if (!IETF.ballotDialog) {
is created only once per page load. The object has the function that's defined as a variable var handleEditPosition = function() { IETF.ballotDialog.hide(); window.location = editPositionUrl; }; as a member: if (("Area_Director" in IETF.user_groups) || ("Secretariat" in IETF.user_groups)) { buttons.unshift({text:"Edit Position", handler:handleEditPosition}); }
On the second, and subsequent invocations of showBallot, the variable gets redefined, but the object does not get updated.
Someone with better javascript skills than me should figure out how to update the button on the dialog when it already exists.
@rjsparks@nostrum.com commented
Out of curiosity, why is this dialog object being reused at all instead of deleted on close?
@rjsparks@nostrum.com changed status from new
to closed
@rjsparks@nostrum.com set resolution to fixed
@rjsparks@nostrum.com commented
Fixed in [2512]:
Fix for ticket #374 (all in base.js) and removal of a vestigial "save all changes" button from the iesg/agenda/documents page
M ietf/templates/iesg/agenda_documents.html M static/js/base.js
@henrik@levkowetz.com commented
Fixed in 55f315b5d1f1cea9e64042561e0f05e4d7dc2352:
Merged [2512] from rjsparks@nostrum.com: Fix for ticket #374 (all in base.js) and removal of a vestigial 'save all changes' button from the iesg/agenda/documents page.
resolution_fixed
type_defect
| by rjsparks@nostrum.comI had 2 instances on 3.04 and one on 3.05 today of getting the wrong document's edit position form.
Starting from https://datatracker.ietf.org/iesg/agenda/documents/ I left-clicked the position-grid, viewed the summary of current positions on the dialog it presents (which has always been for the correct document), then clicked the "Edit Position" button, and the resulting edit position form was for the wrong document.
I had reported in mail earlier that I thought it was the previous document on the future-telechats page, but that was not true for the most recent occurrence.
Unfortunately, this is not deterministic - I can reload the above page and not get the same effect.
Issue migrated from trac:374 at 2021-12-13 14:51:05 +0500