Commit 6507c8b
committed
feat: display accurate accessible repository counts for users and organizations
- Replace public_repos with accessible_repos count showing both public and private repos user has access to
- Fetch actual accessible repositories via GitHub API for accurate counts instead of relying on public_repos metadata
- Use /orgs/{org}/repos for organizations to include private repos with user access
- Use /user/repos with affiliation=owner,collaborator for user accounts to exclude org repos and prevent duplicates
- Add max_repos limit (200) to organizations list for improved performance when counting
- Add retry logic for GitHub API 502/503/504 server errors to improve resilience
- Configure structlog to respect LOG_LEVEL environment variable for better debugging
- Add detailed logging for repository access checks and permissions
Fixes issue where organizations showed "0 repos" despite user having access to repositories.
Resolves duplicate repositories appearing under both user account and organization listings.1 parent 9cf168d commit 6507c8b
3 files changed
Lines changed: 151 additions & 54 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
375 | 376 | | |
376 | 377 | | |
377 | 378 | | |
378 | | - | |
| 379 | + | |
379 | 380 | | |
380 | 381 | | |
381 | 382 | | |
382 | 383 | | |
383 | 384 | | |
384 | 385 | | |
385 | 386 | | |
386 | | - | |
| 387 | + | |
387 | 388 | | |
388 | 389 | | |
389 | 390 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
33 | 41 | | |
34 | 42 | | |
35 | 43 | | |
| |||
166 | 174 | | |
167 | 175 | | |
168 | 176 | | |
| 177 | + | |
169 | 178 | | |
170 | 179 | | |
171 | 180 | | |
| |||
232 | 241 | | |
233 | 242 | | |
234 | 243 | | |
235 | | - | |
| 244 | + | |
236 | 245 | | |
237 | 246 | | |
238 | | - | |
| 247 | + | |
239 | 248 | | |
240 | 249 | | |
241 | 250 | | |
| |||
307 | 316 | | |
308 | 317 | | |
309 | 318 | | |
310 | | - | |
| 319 | + | |
311 | 320 | | |
312 | 321 | | |
313 | 322 | | |
| |||
318 | 327 | | |
319 | 328 | | |
320 | 329 | | |
321 | | - | |
| 330 | + | |
322 | 331 | | |
323 | 332 | | |
324 | 333 | | |
| |||
349 | 358 | | |
350 | 359 | | |
351 | 360 | | |
352 | | - | |
| 361 | + | |
353 | 362 | | |
354 | | - | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
355 | 366 | | |
356 | 367 | | |
357 | 368 | | |
| |||
410 | 421 | | |
411 | 422 | | |
412 | 423 | | |
413 | | - | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
414 | 430 | | |
415 | 431 | | |
416 | 432 | | |
| |||
506 | 522 | | |
507 | 523 | | |
508 | 524 | | |
509 | | - | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
510 | 528 | | |
511 | 529 | | |
512 | 530 | | |
| |||
535 | 553 | | |
536 | 554 | | |
537 | 555 | | |
538 | | - | |
| 556 | + | |
539 | 557 | | |
540 | 558 | | |
541 | 559 | | |
| |||
552 | 570 | | |
553 | 571 | | |
554 | 572 | | |
555 | | - | |
| 573 | + | |
556 | 574 | | |
557 | 575 | | |
558 | 576 | | |
| |||
669 | 687 | | |
670 | 688 | | |
671 | 689 | | |
672 | | - | |
| 690 | + | |
673 | 691 | | |
674 | | - | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
675 | 695 | | |
676 | 696 | | |
677 | 697 | | |
| |||
739 | 759 | | |
740 | 760 | | |
741 | 761 | | |
742 | | - | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
743 | 768 | | |
744 | 769 | | |
745 | 770 | | |
| |||
1208 | 1233 | | |
1209 | 1234 | | |
1210 | 1235 | | |
1211 | | - | |
1212 | | - | |
1213 | | - | |
1214 | | - | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
1225 | 1258 | | |
1226 | | - | |
1227 | 1259 | | |
1228 | 1260 | | |
1229 | 1261 | | |
| |||
1649 | 1681 | | |
1650 | 1682 | | |
1651 | 1683 | | |
1652 | | - | |
| 1684 | + | |
1653 | 1685 | | |
1654 | 1686 | | |
1655 | 1687 | | |
1656 | 1688 | | |
1657 | | - | |
| 1689 | + | |
1658 | 1690 | | |
1659 | 1691 | | |
1660 | | - | |
| 1692 | + | |
1661 | 1693 | | |
1662 | 1694 | | |
1663 | 1695 | | |
1664 | | - | |
| 1696 | + | |
1665 | 1697 | | |
1666 | 1698 | | |
1667 | 1699 | | |
| |||
1686 | 1718 | | |
1687 | 1719 | | |
1688 | 1720 | | |
1689 | | - | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
1690 | 1724 | | |
1691 | 1725 | | |
1692 | 1726 | | |
| |||
1695 | 1729 | | |
1696 | 1730 | | |
1697 | 1731 | | |
1698 | | - | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
1699 | 1735 | | |
1700 | 1736 | | |
1701 | 1737 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
186 | 187 | | |
187 | 188 | | |
188 | 189 | | |
189 | | - | |
| 190 | + | |
190 | 191 | | |
191 | 192 | | |
192 | 193 | | |
193 | 194 | | |
194 | 195 | | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
203 | 233 | | |
204 | 234 | | |
205 | 235 | | |
206 | 236 | | |
207 | 237 | | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
217 | 246 | | |
218 | 247 | | |
219 | 248 | | |
| |||
235 | 264 | | |
236 | 265 | | |
237 | 266 | | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
238 | 273 | | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
239 | 280 | | |
240 | 281 | | |
241 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
242 | 293 | | |
243 | 294 | | |
244 | 295 | | |
| |||
260 | 311 | | |
261 | 312 | | |
262 | 313 | | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
263 | 323 | | |
264 | 324 | | |
265 | 325 | | |
| |||
0 commit comments