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("