mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-11-04 00:11:04 +00:00 
			
		
		
		
	Fix repo API listing stability (#12057)
Repo listings are paginated in the API now. Unfortunately, they are ORDER BY updated_unix which only has second resolution. This means that if you do a listing when multiple projects were created at the same time you can unstable ordering. If that unstable ordering happens at a page boundary you may fail to get a complete repo listing. To make things worse sorting by updated_unix means that we may never get a complete listing because udpated_unix can change independent of our API calls. Fix this by making the API repo listing order by id instead.
This commit is contained in:
		
					parent
					
						
							
								482ba937ed
							
						
					
				
			
			
				commit
				
					
						7e401fb026
					
				
			
		
					 1 changed files with 1 additions and 0 deletions
				
			
		| 
						 | 
					@ -22,6 +22,7 @@ func listUserRepos(ctx *context.APIContext, u *models.User, private bool) {
 | 
				
			||||||
		Actor:       u,
 | 
							Actor:       u,
 | 
				
			||||||
		Private:     private,
 | 
							Private:     private,
 | 
				
			||||||
		ListOptions: opts,
 | 
							ListOptions: opts,
 | 
				
			||||||
 | 
							OrderBy:     "id ASC",
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		ctx.Error(http.StatusInternalServerError, "GetUserRepositories", err)
 | 
							ctx.Error(http.StatusInternalServerError, "GetUserRepositories", err)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue