File tree Expand file tree Collapse file tree
common/changes/@itwin/manage-versions-react
packages/modules/manage-versions/src/components/ManageVersions Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ {
2+ "changes" : [
3+ {
4+ "packageName" : " @itwin/manage-versions-react" ,
5+ "comment" : " Fix infinite rerender edge case" ,
6+ "type" : " patch"
7+ }
8+ ],
9+ "packageName" : " @itwin/manage-versions-react"
10+ }
Original file line number Diff line number Diff line change @@ -455,26 +455,19 @@ const ManageVersionsComponent = (props: ManageVersionsProps) => {
455455
456456 React . useEffect ( ( ) => {
457457 const loadUsers = async ( ) => {
458- if ( ! hasMoreUsersRef . current ) {
459- return ;
460- }
461-
458+ hasMoreUsersRef . current = false ;
462459 if ( ! usersRef . current ) {
463- hasMoreUsersRef . current = false ;
464460 await getUsers ( ) ;
465461 } else {
466- const hasMissingUsers =
467- versionsTableData ?. some ( ( td ) => ! td . version . createdBy ) ||
468- changesets ?. some ( ( cs ) => ! cs . createdBy ) ;
469-
470- if ( hasMissingUsers ) {
471- hasMoreUsersRef . current = false ;
472- await getUsers ( Object . keys ( usersRef . current ) . length ) ;
473- }
462+ await getUsers ( Object . keys ( usersRef . current ) . length ) ;
474463 }
475464 } ;
476465
477- if ( ! usersRef . current || versionsTableData || changesets ) {
466+ const hasMissingUsers =
467+ versionsTableData ?. some ( ( td ) => ! td . version . createdBy ) ||
468+ changesets ?. some ( ( cs ) => ! cs . createdBy ) ;
469+
470+ if ( ! usersRef . current || ( hasMissingUsers && hasMoreUsersRef . current ) ) {
478471 loadUsers ( )
479472 . then ( ( ) => {
480473 const updatedVersionsTableData = versionsTableData ?. map ( ( td ) => {
You can’t perform that action at this time.
0 commit comments