From 57e5523bf39b0af8464ce1ac669e818aef4018b5 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 2 Oct 2025 15:07:01 +0200 Subject: [PATCH 1/3] update core to v2.16.0 --- jni/deltachat-core-rust | 2 +- src/main/java/chat/delta/rpc/types/CallInfo.java | 4 +++- src/main/java/chat/delta/rpc/types/CallState.java | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jni/deltachat-core-rust b/jni/deltachat-core-rust index 75bcf8660..570a9993f 160000 --- a/jni/deltachat-core-rust +++ b/jni/deltachat-core-rust @@ -1 +1 @@ -Subproject commit 75bcf8660bca5b80bea7835bd85df11518a0f7e4 +Subproject commit 570a9993f73ad8d186a3ed810a185e0ca7e1f5ca diff --git a/src/main/java/chat/delta/rpc/types/CallInfo.java b/src/main/java/chat/delta/rpc/types/CallInfo.java index 9d8c59f72..dd177c186 100644 --- a/src/main/java/chat/delta/rpc/types/CallInfo.java +++ b/src/main/java/chat/delta/rpc/types/CallInfo.java @@ -2,6 +2,8 @@ package chat.delta.rpc.types; public class CallInfo { + /* True if SDP offer has a video. */ + public Boolean hasVideo; /** * SDP offer. *

@@ -11,7 +13,7 @@ public class CallInfo { /** * Call state. *

- * For example, if the call is accepted, active, cancelled, declined etc. + * For example, if the call is accepted, active, canceled, declined etc. */ public CallState state; } \ No newline at end of file diff --git a/src/main/java/chat/delta/rpc/types/CallState.java b/src/main/java/chat/delta/rpc/types/CallState.java index 6030db9dd..b18577053 100644 --- a/src/main/java/chat/delta/rpc/types/CallState.java +++ b/src/main/java/chat/delta/rpc/types/CallState.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; @JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="kind") -@JsonSubTypes({@Type(value = CallState.Alerting.class, name="Alerting"), @Type(value = CallState.Active.class, name="Active"), @Type(value = CallState.Completed.class, name="Completed"), @Type(value = CallState.Missed.class, name="Missed"), @Type(value = CallState.Declined.class, name="Declined"), @Type(value = CallState.Cancelled.class, name="Cancelled")}) +@JsonSubTypes({@Type(value = CallState.Alerting.class, name="Alerting"), @Type(value = CallState.Active.class, name="Active"), @Type(value = CallState.Completed.class, name="Completed"), @Type(value = CallState.Missed.class, name="Missed"), @Type(value = CallState.Declined.class, name="Declined"), @Type(value = CallState.Canceled.class, name="Canceled")}) public abstract class CallState { /** @@ -38,11 +38,11 @@ public abstract class CallState { } /** - * Outgoing call that has been cancelled on our side before receiving a response. + * Outgoing call that has been canceled on our side before receiving a response. *

- * Incoming calls cannot be cancelled, on the receiver side cancelled calls usually result in missed calls. + * Incoming calls cannot be canceled, on the receiver side canceled calls usually result in missed calls. */ - public static class Cancelled extends CallState { + public static class Canceled extends CallState { } } \ No newline at end of file From 6b040b160d550f9b83ab0f4591cdd1fcdca04e3b Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 2 Oct 2025 15:11:00 +0200 Subject: [PATCH 2/3] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11cb5991a..e97216799 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ * avoid "unknown sender for this chat" error * properly display "Messages are end-to-end encrypted." in all encrypted groups * several small fixes and improvements -* update to core 2.13.0 +* update to core 2.16.0 ## v2.11.0 2025-08 From 21e597d09ed2338e1283d8d5b005527ead71acb0 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Thu, 2 Oct 2025 15:28:21 +0200 Subject: [PATCH 3/3] add instructions on JSON-RPC binding generation --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 945f2a11f..12329ca50 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,28 @@ subproject _deltachat-core-rust_: or later by `git submodule update --init --recursive`. If you do this in your home directory, this results in the folder `~/deltachat-android` which is just fine. +# Generate JSON-RPC bindings + +To generate the JSON-RPC bindings (ex. `chat.delta.rpc.*` package) +install the [dcrpcgen tool](https://github.com/chatmail/dcrpcgen) +then generate the `schema.json` file: + +``` +# install deltachat-rpc-server program: +cargo install --path ./jni/deltachat-core-rust/deltachat-rpc-server +# check the version of core matches: +deltachat-rpc-server --version +# generate the schema: +deltachat-rpc-server --openrpc > schema.json +``` + +then pass the schema file to the `dcrpcgen` tool to generate the +code: + +``` +dcrpcgen java --schema schema.json -o ./src/main/java/ +``` + # Build Using Nix The repository contains [Nix](https://nixos.org/) development environment