Actions
Bug #23194
closedWorkbench's project view (data tab) listing doesn't reset pagination on change
Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench2
Target version:
Story points:
-
Release:
Release relationship:
Auto
Description
When viewing a project's content listing, if the user changed to a page different than the 1st one and clicks away to browse another project (like its Home project), it may get into a confusing situation where the listing appears empty, because the page number is kept and the project doesn't contain enough items.
See attached video for a clear example.
Files
Updated by Brett Smith 5 months ago
- Release set to 83
- Target version deleted (
Future)
Updated by Brett Smith 5 months ago
- Target version set to Development 2025-10-29
Updated by Stephen Smith 5 months ago
Changes at arvados|b9ccea725ae20c932fe2e82366523d80cb0092a4 branch 23194-project-panel-pagination-reset
Tests developer-run-tests-services-workbench2: #1662
- All agreed upon points are implemented / addressed. Describe changes from pre-implementation design.
- Changed project panel data to functional to be consistent with project panel run
- Simplified run
mapStateToPropssincegetResourcealready handles returning undefined on undefined uuids - Converted
ProjectPanelto functional since I wanted to useuseEffectto handle pagination reset on location change - Moved
shouldComponentUpdatelogic into apreventRerender - Added a
useEffectto reset pagination of both tabs' data explorers whenever the current uuid changes - Added test to check that pagination resets when navigating to another location
- Re-added dispatch to Project panel since it's still used, and connecting a
mapDispatchToPropsremoves it unless manually added back - Fix 1 flaky test, it was checking the search field very quickly before the tab defaulted to overview when navigation happened. Added an explicit tab change and swapped out some lines with our helper methods that includes waits
- Added
xhost +local:to the interactive test target which is needed to forward X11 to docker (may be redundant for some systems, I use local: to minimize risk of opening up permissions to the X server so this will at most allow permissions of other users on the same system but not over the network) - Did some refactoring since I didn't like adding yet another copy of
createContainerRequest- Basically every
createContainerRequestwas identical, so I madecreateDefaultContainerRequestwhich also allows overriding values. The only one that wasn't identitcal was the one that adds properties, but that was easy to accommodate. - Instead of also copying in the
setupDockerImage, I saw this as an opportunity to split that out allowing us to optimize by sharing docker images between container requests instead of creating a new docker image with every test container request - since setting up the docker image involves creating a collection and 2 link resources every time, and we always use 'arvados/jobs' anyway. - I still wasn't able to fully re-use the same
dockerImagecollection for entire specs, because it usescreateCollectionunder the hood, which causes it to be cleared in between tests. Still an improvement though. For tests that use thedockerImagein every test, I did the setup inbeforeEach- otherwise it's setup at the beginning of the test that needs it.
- Basically every
- Anything not implemented (discovered or discussed during work) has a follow-up story.
- none
- Code is tested and passing, both automated and manual, what manual testing was done is described.
- Passes existing and new tests
- The tested code incorporates recent main branch changes.
- yes
- New or changed UI/UX has gotten feedback from stakeholders.
- n/a
- Documentation has been updated.
- n/a
- Behaves appropriately at the intended scale (describe intended scale).
- no change
- Considered backwards and forwards compatibility issues between client and server.
- none
- Follows our coding standards and GUI style guidelines.
- yes
Updated by Stephen Smith 5 months ago
- Status changed from In Progress to Resolved
Actions