@@ -108,7 +108,8 @@ signald_verify_ok_cb (SignaldAccount *sa, const char* input)
108108
109109 // TODO: Is there an acknowledge on successful registration? If yes,
110110 // subscribe afterwards or display an error otherwise
111- signald_subscribe (sa );
111+ // signald_subscribe(sa);
112+ purple_connection_error (sa -> pc , PURPLE_CONNECTION_ERROR_NETWORK_ERROR , _ ("Verification code was sent. Reconnect needed." ));
112113}
113114
114115void
@@ -129,7 +130,6 @@ signald_link_or_register (SignaldAccount *sa)
129130 JsonObject * data = json_object_new ();
130131 json_object_set_string_member (data , "type" , "link" );
131132 if (!signald_send_json (sa , data )) {
132- //purple_connection_set_state(pc, PURPLE_DISCONNECTED);
133133 purple_connection_error (sa -> pc , PURPLE_CONNECTION_ERROR_NETWORK_ERROR , _ ("Could not write link message." ));
134134 }
135135 } else {
@@ -140,7 +140,6 @@ signald_link_or_register (SignaldAccount *sa)
140140 json_object_set_string_member (data , "type" , "register" );
141141 json_object_set_string_member (data , "username" , username );
142142 if (!signald_send_json (sa , data )) {
143- //purple_connection_set_state(pc, PURPLE_DISCONNECTED);
144143 purple_connection_error (sa -> pc , PURPLE_CONNECTION_ERROR_NETWORK_ERROR , _ ("Could not write registration message." ));
145144 }
146145
@@ -166,6 +165,7 @@ signald_process_account(JsonArray *array, guint index_, JsonNode *element_node,
166165 const char * username = json_object_get_string_member (obj , "username" );
167166 if (purple_strequal (username , purple_account_get_username (sa -> account ))) {
168167 // The current account
168+ sa -> account_exists = TRUE;
169169 gboolean registered = json_object_get_boolean_member (obj , "registered" );
170170 purple_debug_info (SIGNALD_PLUGIN_ID , "Account %s registered: %d\n" , username , registered );
171171 if (registered ) {
@@ -181,5 +181,9 @@ signald_process_account(JsonArray *array, guint index_, JsonNode *element_node,
181181void
182182signald_parse_account_list (SignaldAccount * sa , JsonArray * data )
183183{
184+ sa -> account_exists = FALSE;
184185 json_array_foreach_element (data , signald_process_account , sa );
186+ if (!sa -> account_exists ) {
187+ signald_link_or_register (sa );
188+ }
185189}
0 commit comments