Skip to content

Commit 81e296b

Browse files
committed
Ignore 'failed to load manifest' on developer betas
1 parent 66a2dd2 commit 81e296b

File tree

5 files changed

+24
-20
lines changed

5 files changed

+24
-20
lines changed

src/main/java/airsquared/blobsaver/app/TSS.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,17 @@ protected String call() throws TSSException {
107107
try {
108108
saveFor(iosVersion, args);
109109
} catch (TSSException e) {
110-
if ((manualVersion == null && manualIpswURL == null) && e.getMessage().contains("not being signed")) {
111-
System.out.println("Warning: ignoring unsigned version; API is likely out of date");
112-
continue; // ignore not being signed (API might not be updated)
110+
if (manualVersion == null && manualIpswURL == null) {
111+
if (e.getMessage().contains("not being signed")) {
112+
System.err.println("Warning: ignoring unsigned version; API is likely out of date");
113+
continue; // ignore not being signed (API might not be updated)
114+
}
115+
if (e.getMessage().contains("Failed to load manifest") && includeBetas
116+
&& containsIgnoreCase(iosVersion.versionString(), "beta")
117+
&& iosVersion.ipswURL().contains("developer.apple")) {
118+
System.err.println("Warning: ignoring developer beta");
119+
continue;
120+
}
113121
}
114122
throw e;
115123
}
@@ -362,7 +370,7 @@ && containsIgnoreCase(tsscheckerLog, "checking tss status failed")) {
362370
if (manualIpswURL != null) {
363371
throw new TSSException("Failed to load manifest. The IPSW or build manifest URL is not valid.\n\n", false);
364372
} else {
365-
throw new TSSException("Failed to load manifest.", true, tsscheckerLog);
373+
throw new TSSException("Failed to load manifest.", true, tsscheckerLog); // this exact message is used elsewhere; do not modify
366374
}
367375
} else if (containsIgnoreCase(tsscheckerLog, "selected device can't be used with that buildmanifest")) {
368376
throw new TSSException("Device and build manifest don't match.", false);

src/main/java/airsquared/blobsaver/app/Utils.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -373,17 +373,7 @@ static Stream<IOSVersion> getFirmwareList(String deviceIdentifier) throws IOExce
373373
}
374374

375375
static Stream<IOSVersion> getBetaList(String deviceIdentifier) throws IOException {
376-
try {
377-
String url = "https://api.m1sta.xyz/betas/" + deviceIdentifier;
378-
return createVersionStream(Network.makeJsonRequest(url).getAsJsonArray());
379-
} catch (Exception e) {
380-
try {
381-
return getBetaHubList(deviceIdentifier, true);
382-
} catch (Exception ex) {
383-
e.addSuppressed(ex);
384-
throw e;
385-
}
386-
}
376+
return getBetaHubList(deviceIdentifier, true);
387377
}
388378

389379
static Stream<IOSVersion> getBetaHubList(String deviceIdentifier, boolean betas) throws IOException {

src/main/resources/airsquared/blobsaver/app/app.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,8 @@
2424
-fx-max-width: Infinity;
2525
-fx-pref-width: Infinity;
2626
}
27+
28+
.tooltip {
29+
-fx-show-delay: 100ms;
30+
-fx-show-duration: 20s;
31+
}

src/main/resources/airsquared/blobsaver/app/blobsaver.fxml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@
275275
<Insets bottom="5.0" left="5.0"/>
276276
</padding>
277277
<tooltip>
278-
<Tooltip text="Click to see how to automatically upload to a cloud service"/>
278+
<Tooltip text="Click to see how to customize where blobs are saved"/>
279279
</tooltip>
280280
</Label>
281281
</HBox>

src/test/java/airsquared/blobsaver/app/TSSTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@
1919
package airsquared.blobsaver.app;
2020

2121
import org.junit.jupiter.api.Test;
22+
import org.junit.jupiter.api.io.TempDir;
2223

23-
import java.io.File;
24+
import java.nio.file.Path;
2425

2526
public class TSSTest extends BlobsaverTest {
2627

2728
@Test
28-
public void call() throws TSS.TSSException {
29-
TSS tss = new TSS.Builder().setDevice("iPhone8,4").setEcid("1").setIncludeBetas(true)
30-
.setSavePath(System.getProperty("user.home") + File.separator + "Blobs").setBoardConfig("n69ap").build();
29+
public void call(@TempDir Path savePath) throws TSS.TSSException {
30+
TSS tss = new TSS.Builder().setDevice("iPhone12,8").setEcid("1").setIncludeBetas(true)
31+
.setSavePath(savePath.toString()).build();
3132
tss.call(); // don't create another thread
3233
}
3334
}

0 commit comments

Comments
 (0)