Bug #16951

Can refresh listing when opening context menu, resulting in wrong item being operated on.

Added by Peter Amstutz 12 months ago. Updated 3 days ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
Workbench2
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)
Story points:
-
Release relationship:
Auto

Description

Observed in integration test:

Between when the right-click event happens and the context menu pops up on the project panel, it is possible for the list to be refreshed. When this happens, the wrong item may be selected.

In this integration test specifically, the sequence of events seems to be:

  1. Refresh button is clicked, refresh starts
  2. Find item in list, initial right-click event happens
  3. The refresh event completes, refreshing the list in DOM
  4. The context menu click event selects the wrong thing.

This particular test should probably wait until the refresh is completed. However, we should come up with a general approach to defer refreshing the UI unexpectedly if the user seems to be interacting with it.


Subtasks

Task #16963: ReviewNewLucas Di Pentima

History

#1 Updated by Peter Amstutz 12 months ago

  • Description updated (diff)
  • Subject changed from Can refresh listing while context menu is open, resulting in wrong item being operated on. to Can refresh listing when opening context menu, resulting in wrong item being operated on.

#2 Updated by Peter Amstutz 12 months ago

  • Assigned To set to Daniel Kutyła

#3 Updated by Peter Amstutz 11 months ago

  • Target version changed from 2020-10-21 Sprint to 2020-11-04 Sprint

#4 Updated by Peter Amstutz 11 months ago

  • Target version changed from 2020-11-04 Sprint to 2020-11-18

#5 Updated by Peter Amstutz 10 months ago

  • Target version changed from 2020-11-18 to 2020-12-02 Sprint

#6 Updated by Peter Amstutz 10 months ago

  • Target version changed from 2020-12-02 Sprint to 2020-12-16 Sprint

#7 Updated by Peter Amstutz 9 months ago

  • Target version changed from 2020-12-16 Sprint to 2021-01-06 Sprint

#8 Updated by Peter Amstutz 9 months ago

  • Target version changed from 2021-01-06 Sprint to 2021-01-20 Sprint

#9 Updated by Peter Amstutz 9 months ago

  • Target version changed from 2021-01-20 Sprint to 2021-02-03 Sprint

#10 Updated by Peter Amstutz 8 months ago

  • Release set to 31
  • Target version deleted (2021-02-03 Sprint)

#11 Updated by Daniel Kutyła 8 months ago

  • Status changed from New to In Progress

#12 Updated by Daniel Kutyła 5 days ago

New version first commit: https://dev.arvados.org/projects/arvados-workbench-2/repository/revisions/7f80f22374711ce0c55d7a1657b9039fe84a2c1f
Test run: https://ci.arvados.org/job/developer-tests-workbench2/488
Branch: 16951-Can-refresh-listing-when-opening-context-menu-resulting-in-wrong-item-being-operated-on

Added overlay to prevent modifications while refreshing page contents

#13 Updated by Daniel Kutyła 4 days ago

New version first commit: https://dev.arvados.org/projects/arvados-workbench-2/repository/revisions/7ebf70dc266ce6a01f930d89e599120641f248da
Test run: https://ci.arvados.org/job/developer-tests-workbench2/489
Branch: 16951-Can-refresh-listing-when-opening-context-menu-resulting-in-wrong-item-being-operated-on

Fixed failing unit tests

#14 Updated by Peter Amstutz 3 days ago

  • Target version set to 2021-09-29 sprint

#15 Updated by Peter Amstutz 3 days ago

Commit 7ebf70dc266ce6a01f930d89e599120641f248da seems to be based on a really old branch, could you rebase or merge with main?

#16 Updated by Daniel Kutyła 3 days ago

New version first commit: https://dev.arvados.org/projects/arvados-workbench-2/repository/revisions/dd63617d23cd24703e9847a8971af8b069e3ce38
Test run: https://ci.arvados.org/job/developer-tests-workbench2/491
Branch: 16951-Can-refresh-listing-when-opening-context-menu-resulting-in-wrong-item-being-operated-on

Rebased with newest main

#17 Updated by Peter Amstutz 3 days ago

This makes sense. I like that it dims the user interface to indicate you can't interact with it. As a minor note, I did notice that because the overlay apparently has no mouse click handler, if I right click on the page while it is in the disabled state, I get the browser's context menu, which was a little surprising.

I'm am concerned that if a reload takes a long time or has an unhandled error, the whole user interface would be unresponsive and force the user to reload the page. Perhaps it could just disable the center panel and leave the left hand tree clickable?

Related to this, when clicking on something on the left hand tree to switch the center panel, it often shows the old content (for a different object) for a few moments until new content is loaded. Given a slow load, the user could mistakenly start interacting with the old content. It would be better if it first cleared the panel and/or disabled it (using the feature in this branch) until the new content was loaded.

Also available in: Atom PDF