2 Commits

3 changed files with 14 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🦀", "emoji": "🦀",
"previous": "&PCN9g0ZEGGYlY+Rqpcn+x3iTZ1n8yljYm+pbgjPkW0w=.sha256" "previous": "&lX0ik2WzwWTPa2xkziPbyRZJHP9far9epKqdVIIqFM8=.sha256"
} }

View File

@@ -692,7 +692,7 @@ class TfElement extends LitElement {
class="w3-bar w3-theme-l1" class="w3-bar w3-theme-l1"
style="position: static; top: 0; z-index: 10" style="position: static; top: 0; z-index: 10"
> >
${this.is_administrator ${this.is_administrator && self.tab != 'news'
? html` ? html`
<button <button
class=${'w3-bar-item w3-button w3-circle w3-ripple' + class=${'w3-bar-item w3-button w3-circle w3-ripple' +

View File

@@ -1082,7 +1082,7 @@ static void _tf_ssb_sqlAsync_work(tf_ssb_t* ssb, void* user_data)
uv_async_send(&sql_work->async); uv_async_send(&sql_work->async);
sqlite3_stmt* statement = NULL; sqlite3_stmt* statement = NULL;
sql_work->result = sqlite3_prepare_v2(db, sql_work->query, -1, &statement, NULL); sql_work->result = sqlite3_prepare_v2(db, sql_work->query, -1, &statement, NULL);
if (sql_work->result == SQLITE_OK) if (sql_work->result == SQLITE_OK && statement)
{ {
const uint8_t* p = sql_work->binds; const uint8_t* p = sql_work->binds;
int column = 0; int column = 0;
@@ -1162,7 +1162,11 @@ static void _tf_ssb_sqlAsync_work(tf_ssb_t* ssb, void* user_data)
} }
} }
sql_work->result = r; sql_work->result = r;
if (r != SQLITE_OK && r != SQLITE_DONE) if (r == SQLITE_MISUSE)
{
sql_work->error = tf_strdup(sqlite3_errstr(sql_work->result));
}
else if (r != SQLITE_OK && r != SQLITE_DONE)
{ {
if (sqlite3_is_interrupted(db)) if (sqlite3_is_interrupted(db))
{ {
@@ -1176,10 +1180,15 @@ static void _tf_ssb_sqlAsync_work(tf_ssb_t* ssb, void* user_data)
_tf_ssb_sql_append(&sql_work->rows, &sql_work->rows_count, &(uint8_t[]) { 0 }, 1); _tf_ssb_sql_append(&sql_work->rows, &sql_work->rows_count, &(uint8_t[]) { 0 }, 1);
sqlite3_finalize(statement); sqlite3_finalize(statement);
} }
else else if (sql_work->result != SQLITE_OK)
{ {
sql_work->error = tf_strdup(sqlite3_errmsg(db)); sql_work->error = tf_strdup(sqlite3_errmsg(db));
} }
else
{
sql_work->result = SQLITE_ERROR;
sql_work->error = tf_strdup("Statement not prepared");
}
uv_mutex_lock(&sql_work->lock); uv_mutex_lock(&sql_work->lock);
sql_work->db = NULL; sql_work->db = NULL;
uv_mutex_unlock(&sql_work->lock); uv_mutex_unlock(&sql_work->lock);