diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml
index b05b7339a7..f2df5bc715 100644
--- a/apps/i2psnark/java/build.xml
+++ b/apps/i2psnark/java/build.xml
@@ -86,7 +86,7 @@
-
+
diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
index ad4cdae395..85a39f748d 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java
@@ -185,10 +185,12 @@ public class TrackerClient extends I2PAppThread
}
if (trackers.isEmpty()) {
- // FIXME really need to get this message to the gui
stop = true;
- _log.error("No valid trackers for infoHash: " + infoHash);
+ // FIXME translate
+ SnarkManager.instance().addMessage("No valid trackers for " + this.snark.getBaseName() + " - enable opentrackers?");
+ _log.error("No valid trackers for " + this.snark.getBaseName());
// FIXME keep going if DHT enabled
+ this.snark.stopTorrent();
return;
}
diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index 77207ec08a..92a82de3e4 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -348,8 +348,9 @@ public class I2PSnarkServlet extends Default {
out.write("\n
");
// Opera and text-mode browsers: no and no input type=image values submitted
+ // Using a unique name fixes Opera, except for the buttons with js confirms, see below
String ua = req.getHeader("User-Agent");
- boolean isDegraded = ua != null && (ua.startsWith("Lynx") ||
+ boolean isDegraded = ua != null && (ua.startsWith("Lynx") || ua.startsWith("w3m") ||
ua.startsWith("ELinks") || ua.startsWith("Dillo"));
boolean noThinsp = isDegraded || ua.startsWith("Opera");
@@ -960,7 +961,8 @@ public class I2PSnarkServlet extends Default {
if (isDegraded)
out.write("");
} else {
- if (isDegraded)
+ // This works in Opera but it's displayed a little differently, so use noThinsp here too so all 3 icons are consistent
+ if (noThinsp)
out.write(" ");
if (isValid) {
- if (isDegraded)
+ // Doesnt work with Opera so use noThinsp instead of isDegraded
+ if (noThinsp)
out.write(" ");
}
- if (isDegraded)
+ // Doesnt work with Opera so use noThinsp instead of isDegraded
+ if (noThinsp)
out.write("![\"");]() |