@@ -122,7 +122,12 @@ class ProjectApi {
122122 if ( user in ProjectApi . CachedDonators ) {
123123 return ProjectApi . CachedDonators [ user ] ;
124124 }
125- const badges = await ProjectApi . getUserBadges ( user ) ;
125+ let badges ;
126+ try {
127+ badges = await ProjectApi . getUserBadges ( user ) ;
128+ } catch {
129+ return false ;
130+ }
126131 ProjectApi . CachedDonators [ user ] = badges . includes ( "donator" ) ;
127132 return badges . includes ( "donator" ) ;
128133 }
@@ -1604,6 +1609,7 @@ class ProjectApi {
16041609 } ) ;
16051610 }
16061611
1612+ // TODO: move this or smth similar to pmp-protobuf
16071613 resolveProjectSizes ( file , imageSize = 0 ) {
16081614 return JSZip . loadAsync ( file ) . then ( async ( zip ) => {
16091615 const projectJSON = JSON . parse (
@@ -1637,11 +1643,19 @@ class ProjectApi {
16371643 projectJSON . targets [ 0 ] = target ;
16381644 const costumes = target . costumes . map ( ( asset ) => [
16391645 asset . name ,
1640- assets [ asset . md5ext ] ,
1646+ assets [
1647+ asset . md5ext
1648+ ? asset . md5ext
1649+ : `${ asset . assetId } .${ asset . dataFormat } `
1650+ ] ,
16411651 ] ) ;
16421652 const sounds = target . sounds . map ( ( asset ) => [
16431653 asset . name ,
1644- assets [ asset . md5ext ] ,
1654+ assets [
1655+ asset . md5ext
1656+ ? asset . md5ext
1657+ : `${ asset . assetId } .${ asset . dataFormat } `
1658+ ] ,
16451659 ] ) ;
16461660
16471661 const totalCodeSize =
@@ -1700,7 +1714,10 @@ class ProjectApi {
17001714
17011715 projectJSON . targets [ 0 ] = original_target ;
17021716
1703- const costumeSize = costumes . reduce ( ( c , v ) => c + v [ 1 ] . size , 0 ) ;
1717+ const costumeSize = costumes . reduce (
1718+ ( c , v ) => c + ( v [ 1 ] ? v [ 1 ] . size : 0 ) ,
1719+ 0 ,
1720+ ) ;
17041721 const soundSize = sounds . reduce ( ( c , v ) => c + v [ 1 ] . size , 0 ) ;
17051722 const size = totalCodeSize + costumeSize + soundSize ;
17061723
0 commit comments