Trying to understand a lingering 'previous message doesn't exist.' And format.
This commit is contained in:
		
							
								
								
									
										11
									
								
								src/ssb.db.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/ssb.db.c
									
									
									
									
									
								
							| @@ -347,7 +347,7 @@ static int64_t _tf_ssb_db_store_message_raw(tf_ssb_t* ssb, const char* id, const | |||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| 		tf_printf("%p: Previous message doesn't exist for author=%s sequence=%" PRId64 ".\n", db, author, sequence); | 		tf_printf("%p: Previous message doesn't exist for author=%s sequence=%" PRId64 " previous=%s.\n", db, author, sequence, previous); | ||||||
| 	} | 	} | ||||||
| 	tf_ssb_release_db_writer(ssb, db); | 	tf_ssb_release_db_writer(ssb, db); | ||||||
| 	return last_row_id; | 	return last_row_id; | ||||||
| @@ -1742,10 +1742,8 @@ bool tf_ssb_db_identity_get_active(sqlite3* db, const char* user, const char* pa | |||||||
| 	bool found = false; | 	bool found = false; | ||||||
| 	if (sqlite3_prepare(db, "SELECT value FROM properties WHERE id = ? AND key = 'id:' || ? || ':' || ?", -1, &statement, NULL) == SQLITE_OK) | 	if (sqlite3_prepare(db, "SELECT value FROM properties WHERE id = ? AND key = 'id:' || ? || ':' || ?", -1, &statement, NULL) == SQLITE_OK) | ||||||
| 	{ | 	{ | ||||||
| 		if (sqlite3_bind_text(statement, 1, user, -1, NULL) == SQLITE_OK && | 		if (sqlite3_bind_text(statement, 1, user, -1, NULL) == SQLITE_OK && sqlite3_bind_text(statement, 2, package_owner, -1, NULL) == SQLITE_OK && | ||||||
| 			sqlite3_bind_text(statement, 2, package_owner, -1, NULL) == SQLITE_OK && | 			sqlite3_bind_text(statement, 3, package_name, -1, NULL) == SQLITE_OK && sqlite3_step(statement) == SQLITE_ROW) | ||||||
| 			sqlite3_bind_text(statement, 3, package_name, -1, NULL) == SQLITE_OK && |  | ||||||
| 			sqlite3_step(statement) == SQLITE_ROW) |  | ||||||
| 		{ | 		{ | ||||||
| 			snprintf(out_identity, out_identity_size, "%s", (const char*)sqlite3_column_text(statement, 0)); | 			snprintf(out_identity, out_identity_size, "%s", (const char*)sqlite3_column_text(statement, 0)); | ||||||
| 			found = true; | 			found = true; | ||||||
| @@ -1830,8 +1828,7 @@ static void _tf_ssb_db_resolve_index_after_work(uv_work_t* work, int status) | |||||||
| void tf_ssb_db_resolve_index_async(tf_ssb_t* ssb, const char* host, void (*callback)(const char* path, void* user_data), void* user_data) | void tf_ssb_db_resolve_index_async(tf_ssb_t* ssb, const char* host, void (*callback)(const char* path, void* user_data), void* user_data) | ||||||
| { | { | ||||||
| 	resolve_index_t* request = tf_malloc(sizeof(resolve_index_t)); | 	resolve_index_t* request = tf_malloc(sizeof(resolve_index_t)); | ||||||
| 	*request = (resolve_index_t) | 	*request = (resolve_index_t) { | ||||||
| 	{ |  | ||||||
| 		.work = { .data = request }, | 		.work = { .data = request }, | ||||||
| 		.ssb = ssb, | 		.ssb = ssb, | ||||||
| 		.host = tf_strdup(host), | 		.host = tf_strdup(host), | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								src/ssb.js.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/ssb.js.c
									
									
									
									
									
								
							| @@ -374,8 +374,7 @@ static JSValue _tf_ssb_getActiveIdentity(JSContext* context, JSValueConst this_v | |||||||
| 	const char* package_owner = JS_ToCString(context, argv[1]); | 	const char* package_owner = JS_ToCString(context, argv[1]); | ||||||
| 	const char* package_name = JS_ToCString(context, argv[2]); | 	const char* package_name = JS_ToCString(context, argv[2]); | ||||||
| 	active_identity_work_t* work = tf_malloc(sizeof(active_identity_work_t)); | 	active_identity_work_t* work = tf_malloc(sizeof(active_identity_work_t)); | ||||||
| 	*work = (active_identity_work_t) | 	*work = (active_identity_work_t) { | ||||||
| 	{ |  | ||||||
| 		.request = { .data = work }, | 		.request = { .data = work }, | ||||||
| 		.ssb = JS_GetOpaque(this_val, _tf_ssb_classId), | 		.ssb = JS_GetOpaque(this_val, _tf_ssb_classId), | ||||||
| 		.context = context, | 		.context = context, | ||||||
| @@ -419,7 +418,8 @@ static void _tf_ssb_getIdentityInfo_visit(const char* identity, void* data) | |||||||
| 	request->names = tf_resize_vec(request->names, (request->count + 1) * sizeof(char*)); | 	request->names = tf_resize_vec(request->names, (request->count + 1) * sizeof(char*)); | ||||||
| 	request->identities[request->count] = tf_strdup(identity); | 	request->identities[request->count] = tf_strdup(identity); | ||||||
| 	request->names[request->count] = NULL; | 	request->names[request->count] = NULL; | ||||||
| 	request->count++;; | 	request->count++; | ||||||
|  | 	; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void _tf_ssb_getIdentityInfo_work(uv_work_t* work) | static void _tf_ssb_getIdentityInfo_work(uv_work_t* work) | ||||||
| @@ -438,7 +438,8 @@ static void _tf_ssb_getIdentityInfo_work(uv_work_t* work) | |||||||
| 		"	FROM messages " | 		"	FROM messages " | ||||||
| 		"	JOIN identities ON  messages.author = ids.value " | 		"	JOIN identities ON  messages.author = ids.value " | ||||||
| 		"	WHERE WHERE identities.user = ? AND json_extract(messages.content, '$.type') = 'about' AND content ->> 'about' = messages.author AND name IS NOT NULL) " | 		"	WHERE WHERE identities.user = ? AND json_extract(messages.content, '$.type') = 'about' AND content ->> 'about' = messages.author AND name IS NOT NULL) " | ||||||
| 		"WHERE author_rank = 1 ", -1, &statement, NULL); | 		"WHERE author_rank = 1 ", | ||||||
|  | 		-1, &statement, NULL); | ||||||
| 	if (request->result == SQLITE_OK) | 	if (request->result == SQLITE_OK) | ||||||
| 	{ | 	{ | ||||||
| 		if (sqlite3_bind_text(statement, 1, request->name, -1, NULL) == SQLITE_OK) | 		if (sqlite3_bind_text(statement, 1, request->name, -1, NULL) == SQLITE_OK) | ||||||
| @@ -517,8 +518,7 @@ static JSValue _tf_ssb_getIdentityInfo(JSContext* context, JSValueConst this_val | |||||||
| 	const char* package_owner = JS_ToCString(context, argv[1]); | 	const char* package_owner = JS_ToCString(context, argv[1]); | ||||||
| 	const char* package_name = JS_ToCString(context, argv[2]); | 	const char* package_name = JS_ToCString(context, argv[2]); | ||||||
| 	identity_info_work_t* work = tf_malloc(sizeof(identity_info_work_t)); | 	identity_info_work_t* work = tf_malloc(sizeof(identity_info_work_t)); | ||||||
| 	*work = (identity_info_work_t) | 	*work = (identity_info_work_t) { | ||||||
| 	{ |  | ||||||
| 		.request = { .data = work }, | 		.request = { .data = work }, | ||||||
| 		.ssb = JS_GetOpaque(this_val, _tf_ssb_classId), | 		.ssb = JS_GetOpaque(this_val, _tf_ssb_classId), | ||||||
| 		.context = context, | 		.context = context, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user