diff --git a/apps/ssb.json b/apps/ssb.json
index 95c5e7ab..35365dc2 100644
--- a/apps/ssb.json
+++ b/apps/ssb.json
@@ -1,5 +1,5 @@
{
"type": "tildefriends-app",
"emoji": "🐌",
- "previous": "&0ZjcRFTyAmJMm3qhqKy5Ffrue23G1CAUfc1i2WYZrzQ=.sha256"
+ "previous": "&+UZSxjoucLAl5r/nfRNu5KXx3K/PdutGnizL/Cn2eCU=.sha256"
}
diff --git a/apps/ssb/tf-tab-connections.js b/apps/ssb/tf-tab-connections.js
index 7bcd8c35..1cc34e51 100644
--- a/apps/ssb/tf-tab-connections.js
+++ b/apps/ssb/tf-tab-connections.js
@@ -12,6 +12,7 @@ class TfTabConnectionsElement extends LitElement {
stored_connections: {type: Array},
users: {type: Object},
server_identity: {type: String},
+ connect_error: {type: String},
};
}
@@ -163,6 +164,15 @@ class TfTabConnectionsElement extends LitElement {
tfrpc.rpc.sync();
}
+ connect(address) {
+ let self = this;
+ tfrpc.rpc.connect(address).then(function() {
+ self.connect_error = 'connected!';
+ }).catch(function(error) {
+ self.connect_error = error;
+ });
+ }
+
render() {
let self = this;
return html`
@@ -178,10 +188,11 @@ class TfTabConnectionsElement extends LitElement {
+
${this.connect_error}
Broadcasts
${this.broadcasts
diff --git a/src/ssb.c b/src/ssb.c
index b2018964..0cddacce 100644
--- a/src/ssb.c
+++ b/src/ssb.c
@@ -1324,6 +1324,12 @@ static void _tf_ssb_connection_verify_identity(tf_ssb_connection_t* connection,
JS_SetPropertyStr(context, connection->object, "is_client", JS_TRUE);
connection->state = k_tf_ssb_state_verified;
+ if (connection->connect_callback)
+ {
+ connection->connect_callback(connection, NULL, connection->connect_callback_user_data);
+ connection->connect_callback = NULL;
+ connection->connect_callback_user_data = NULL;
+ }
if (connection->handshake_timer.data)
{
uv_timer_stop(&connection->handshake_timer);
@@ -2909,6 +2915,8 @@ void tf_ssb_connect(tf_ssb_t* ssb, const char* host, int port, const uint8_t* ke
.port = port,
.flags = connect_flags,
.req.data = connect,
+ .callback = callback,
+ .user_data = user_data,
};
char id[k_id_base64_len] = { 0 };
tf_ssb_id_bin_to_str(id, sizeof(id), key);