Skip to content

Commit 89f5fdd

Browse files
committed
Version 1.8.4
1 parent d3662cc commit 89f5fdd

5 files changed

Lines changed: 15 additions & 14 deletions

File tree

app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId 'slowscript.warpinator'
99
minSdkVersion 21 //Required by NSD (attributes)
1010
targetSdkVersion 35
11-
versionCode 1083
12-
versionName "1.8.3"
11+
versionCode 1084
12+
versionName "1.8.4"
1313
}
1414

1515
buildTypes {
@@ -64,7 +64,7 @@ dependencies {
6464

6565
protobuf {
6666
protoc {
67-
artifact = 'com.google.protobuf:protoc:3.21.5'
67+
artifact = 'com.google.protobuf:protoc:3.25.8'
6868
}
6969
plugins {
7070
grpc {

app/src/main/java/slowscript/warpinator/GrpcService.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66
import com.google.common.net.InetAddresses;
77
import com.google.protobuf.ByteString;
88

9-
import java.net.InetAddress;
10-
import java.net.UnknownHostException;
11-
129
import io.grpc.Status;
1310
import io.grpc.StatusException;
1411
import io.grpc.stub.ServerCallStreamObserver;
@@ -20,10 +17,9 @@ public class GrpcService extends WarpGrpc.WarpImplBase {
2017
@Override
2118
public void checkDuplexConnection(WarpProto.LookupName request, StreamObserver<WarpProto.HaveDuplex> responseObserver) {
2219
String id = request.getId();
23-
20+
Remote r = MainService.remotes.get(id);
2421
boolean haveDuplex = false;
25-
if(MainService.remotes.containsKey(id)) {
26-
Remote r = MainService.remotes.get(id);
22+
if (r != null) {
2723
haveDuplex = (r.status == Remote.RemoteStatus.CONNECTED)
2824
|| (r.status == Remote.RemoteStatus.AWAITING_DUPLEX);
2925
//The other side is trying to connect with use after a connection failed

app/src/main/java/slowscript/warpinator/Remote.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ private boolean receiveCertificateV1() {
338338
try {
339339
Log.v(TAG, "Receiving certificate from " + address.toString() + ", try " + tryCount);
340340
DatagramSocket sock = new DatagramSocket();
341-
sock.setSoTimeout(1000);
341+
sock.setSoTimeout(1500);
342342

343343
byte[] req = CertServer.REQUEST.getBytes();
344344
DatagramPacket p = new DatagramPacket(req, req.length, address, port);
@@ -356,9 +356,6 @@ private boolean receiveCertificateV1() {
356356
} catch (Exception e) {
357357
tryCount++;
358358
Log.d(TAG, "receiveCertificate: attempt " + tryCount + " failed: " + e.getMessage());
359-
try {
360-
Thread.sleep(1000);
361-
} catch (Exception ignored) { }
362359
}
363360
}
364361
if (tryCount == 3) {
@@ -396,7 +393,7 @@ private boolean receiveCertificateV2() {
396393
errorReceiveCert = false;
397394
return true;
398395
} catch (Exception e) {
399-
Log.w(TAG, "Could not receive certificate", e);
396+
Log.w(TAG, "Could not receive certificate from " + hostname, e);
400397
errorReceiveCert = true;
401398
}
402399
return false;

app/src/main/java/slowscript/warpinator/Server.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,7 @@ void registerService(boolean flush) {
259259
// Unregister possibly leftover service info
260260
// -> Announcement will trigger "new service" behavior and reconnect on other clients
261261
unregister(); //Safe if fails
262+
Utils.sleep(250);
262263
try {
263264
Log.d(TAG, "Registering as " + uuid);
264265
jmdns.registerService(serviceInfo);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
- Target Android 15 (no autostart on A15+)
2+
- Edge to edge UI (as required by A15)
3+
- Warn about device not being on the same subnet
4+
- Show IP in network interface picker
5+
- Use fixed color app icon
6+
- Fixed showing manual connect dialog
7+
- More fixes, could solve some connection issues

0 commit comments

Comments
 (0)