Don't autocomplete local users if they are already added.

This commit is contained in:
default 2023-05-17 08:03:46 +02:00
parent 9bc10da8a5
commit 81cec4ab27

View file

@ -1014,21 +1014,24 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
while (xs_list_iter(&p, &v)) { while (xs_list_iter(&p, &v)) {
snac user; snac user;
/* skip this same user */
if (strcmp(v, xs_dict_get(snac1.config, "uid")) == 0) if (strcmp(v, xs_dict_get(snac1.config, "uid")) == 0)
continue; continue;
if (user_open(&user, v)) { /* skip if the uid does not start with the query */
xs *v2 = xs_tolower_i(xs_dup(v)); xs *v2 = xs_tolower_i(xs_dup(v));
if (!xs_startswith(v2, q))
continue;
if (xs_startswith(v2, q)) { if (user_open(&user, v)) {
/* if it's not already seen, add it */
if (xs_set_add(&seen, user.actor) == 1) {
xs *actor = msg_actor(&user); xs *actor = msg_actor(&user);
xs *acct = mastoapi_account(actor); xs *acct = mastoapi_account(actor);
out = xs_list_append(out, acct); out = xs_list_append(out, acct);
} }
xs_set_add(&seen, user.actor);
user_free(&user); user_free(&user);
} }
} }