diff --git a/apps/i2psnark/java/build.xml b/apps/i2psnark/java/build.xml index b05b7339a72cc152caacfe088b5bedbfc5ead756..f2df5bc715501b829ca33a6dfbf6a4872dad84d2 100644 --- a/apps/i2psnark/java/build.xml +++ b/apps/i2psnark/java/build.xml @@ -86,7 +86,7 @@ <target name="warUpToDate"> <uptodate property="war.uptodate" targetfile="../i2psnark.war" > - <srcfiles dir= "." includes="build/obj/web/**/*.class ../_icons/* ../web.xml" /> + <srcfiles dir= "." includes="build/obj/org/klomp/snark/web/*.class ../_icons/* ../web.xml" /> </uptodate> </target> diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index ad4cdae395db5c00e7fd050e0cfe7fabebd4e5a0..85a39f748d8657d2f3313af3ac8b305f914fb8a1 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 77207ec08acd336a002927092dff51d4e1bf50fd..92a82de3e4e4bd6b9ec024eedcffb45f32afb7e8 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("</th>\n<th align=\"center\">"); // 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("</a>"); } 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("<a href=\"/i2psnark/?action=Start_" + b64 + "&nonce=" + _nonce + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Start_" + b64 + "\" value=\"foo\" title=\""); @@ -972,7 +974,8 @@ public class I2PSnarkServlet extends Default { out.write("</a>"); if (isValid) { - if (isDegraded) + // Doesnt work with Opera so use noThinsp instead of isDegraded + if (noThinsp) out.write("<a href=\"/i2psnark/?action=Remove_" + b64 + "&nonce=" + _nonce + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action\" value=\"Remove_" + b64 + "\" title=\""); @@ -990,7 +993,8 @@ public class I2PSnarkServlet extends Default { out.write("</a>"); } - if (isDegraded) + // Doesnt work with Opera so use noThinsp instead of isDegraded + if (noThinsp) out.write("<a href=\"/i2psnark/?action=Delete_" + b64 + "&nonce=" + _nonce + "\"><img title=\""); else out.write("<input type=\"image\" name=\"action_Delete_" + b64 + "\" value=\"foo\" title=\""); diff --git a/history.txt b/history.txt index 03891b8fc0b7c492cc2ab6474cbf23a1a4631cde..cb0b395fffeba2744a8d0b6c3f4bf6fbd2f8f6a2 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,9 @@ +2011-02-24 zzz + * i2psnark: + - Fix delete and remove buttons for Opera and w3m + - Stop torrent if no valid trackers + - Fix war build dependencies + 2011-02-23 zzz * BuildHandler: - Lower participating throttler max limit diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 987fc2f75390f60b0d628d76ac2a839672062e5e..78754ef283e16db5cd2b1d1d3233ad3f5d57cdce 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 19; + public final static long BUILD = 20; /** for example "-test" */ public final static String EXTRA = "-rc";