commit 81cec4ab27045a4e0a85d0104df5096be6c54dc3
parent 9bc10da8a5e49fceaeb8a6c37afe2d3cac0b398e
Author: default <nobody@localhost>
Date: Wed, 17 May 2023 08:03:46 +0200
Don't autocomplete local users if they are already added.
Diffstat:
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/mastoapi.c b/mastoapi.c
@@ -1014,21 +1014,24 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path,
while (xs_list_iter(&p, &v)) {
snac user;
+ /* skip this same user */
if (strcmp(v, xs_dict_get(snac1.config, "uid")) == 0)
continue;
- if (user_open(&user, v)) {
- xs *v2 = xs_tolower_i(xs_dup(v));
+ /* skip if the uid does not start with the query */
+ 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 *acct = mastoapi_account(actor);
out = xs_list_append(out, acct);
}
- xs_set_add(&seen, user.actor);
-
user_free(&user);
}
}