@@ -50,7 +50,13 @@ async fn create_window() -> Result<(), InstallerError> {
5050 renderer : eframe:: Renderer :: Wgpu ,
5151 ..Default :: default ( )
5252 } ;
53- let app = App :: create ( ) . await ?;
53+ let res = App :: create ( ) . await ;
54+ if let Err ( e) = res {
55+ error ! ( "{}" , e. 0 ) ;
56+ display_dialog ( "Ornithe Installer Error" , & e. 0 ) ;
57+ return Ok ( ( ) ) ;
58+ }
59+ let app = res. unwrap ( ) ;
5460
5561 eframe:: run_native (
5662 & ( "Ornithe Installer " . to_owned ( ) + crate :: VERSION ) ,
@@ -119,18 +125,26 @@ impl App {
119125 let mut available_minecraft_versions = Vec :: new ( ) ;
120126 let mut available_intermediary_versions = Vec :: new ( ) ;
121127 let mut available_loader_versions = HashMap :: new ( ) ;
128+ let manifest_future = net:: manifest:: fetch_versions ( ) ;
129+ let intermediary_future = net:: meta:: fetch_intermediary_versions ( ) ;
130+ let loader_future = net:: meta:: fetch_loader_versions ( ) ;
122131
123132 info ! ( "Loading versions..." ) ;
124- if let Ok ( versions) = net :: manifest :: fetch_versions ( ) . await {
133+ if let Ok ( versions) = manifest_future . await {
125134 for ele in versions. versions {
126135 available_minecraft_versions. push ( ele) ;
127136 }
128137 }
129- if let Ok ( versions) = net :: meta :: fetch_intermediary_versions ( ) . await {
138+ if let Ok ( versions) = intermediary_future . await {
130139 for v in versions. keys ( ) {
131140 available_intermediary_versions. push ( v. clone ( ) ) ;
132141 }
133142 }
143+ if available_minecraft_versions. len ( ) == 0 {
144+ return Err ( InstallerError (
145+ "Could not find any available Minecraft versions. Make sure you are connected to the internet!" . to_string ( ) ,
146+ ) ) ;
147+ }
134148 info ! (
135149 "Loaded {} Minecraft versions" ,
136150 available_minecraft_versions. len( )
@@ -140,7 +154,7 @@ impl App {
140154 available_intermediary_versions. len( )
141155 ) ;
142156
143- if let Ok ( versions) = net :: meta :: fetch_loader_versions ( ) . await {
157+ if let Ok ( versions) = loader_future . await {
144158 available_loader_versions = versions;
145159 }
146160 info ! (
0 commit comments