@@ -36,15 +36,28 @@ export const useGitHubData = (getOctokit: () => any) => {
3636 setError ( '' ) ;
3737
3838 try {
39- const [ issueRes , prRes ] = await Promise . all ( [
39+ const [ issueRes , prRes ] = await Promise . allSettled ( [
4040 fetchPaginated ( octokit , username , 'issue' , page , perPage ) ,
4141 fetchPaginated ( octokit , username , 'pr' , page , perPage ) ,
4242 ] ) ;
4343
44- setIssues ( issueRes . items ) ;
45- setPrs ( prRes . items ) ;
46- setTotalIssues ( issueRes . total ) ;
47- setTotalPrs ( prRes . total ) ;
44+ if ( issueRes . status === 'fulfilled' ) {
45+ setIssues ( issueRes . value . items ) ;
46+ setTotalIssues ( issueRes . value . total ) ;
47+ }
48+
49+ if ( prRes . status === 'fulfilled' ) {
50+ setPrs ( prRes . value . items ) ;
51+ setTotalPrs ( prRes . value . total ) ;
52+ }
53+
54+ if (
55+ issueRes . status === 'rejected' ||
56+ prRes . status === 'rejected'
57+ ) {
58+ setError ( 'Some GitHub data could not be fetched completely.' ) ;
59+ }
60+
4861 setRateLimited ( false ) ;
4962 } catch ( err : any ) {
5063 const errorMessage = err . message ?. toLowerCase ( ) || "" ;
@@ -53,13 +66,20 @@ export const useGitHubData = (getOctokit: () => any) => {
5366 setRateLimited ( true ) ;
5467 } else if ( errorMessage . includes ( "do not exist" ) ) {
5568 setError ( 'User not found. Please check the spelling of the GitHub username.' ) ;
56- } else if ( err . status === 401 || errorMessage . includes ( "permission" ) ) {
69+ }
70+ else if ( errorMessage . includes ( "validation failed" ) ) {
71+ setError ( 'Invalid GitHub username or insufficient permissions.' ) ;
72+ }
73+ else if ( err . status === 401 || errorMessage . includes ( "permission" ) ) {
5774 setError ( 'Private repository detected. Please input PAT.' ) ;
5875 } else if ( err . status === 404 ) {
5976 setError ( 'Resource not found.' ) ;
6077 }
61- else {
62- setError ( err . message || 'Failed to fetch data' ) ;
78+
79+ else {
80+ setError (
81+ 'Unable to fetch GitHub data. Please verify the username, token, or network connection.'
82+ ) ;
6383 }
6484 } finally {
6585 setLoading ( false ) ;
0 commit comments