Przeglądaj źródła

Changed following_list() to return a list of actors.

default 3 lat temu
rodzic
commit
3c7cccba3d
2 zmienionych plików z 13 dodań i 3 usunięć
  1. 12 2
      data.c
  2. 1 1
      html.c

+ 12 - 2
data.c

@@ -1146,6 +1146,12 @@ void timeline_admire(snac *snac, char *id, char *admirer, int like)
 }
 
 
+/** following **/
+
+/* this needs special treatment and cannot use the object db as is,
+   with a link to a cached author, because we need the Follow object
+   in case we need to unfollow (Undo + original Follow) */
+
 d_char *_following_fn(snac *snac, char *actor)
 {
     xs *md5 = xs_md5_hex(actor, strlen(actor));
@@ -1242,8 +1248,12 @@ d_char *following_list(snac *snac)
                 if (o != NULL) {
                     char *type = xs_dict_get(o, "type");
 
-                    if (!xs_is_null(type) && strcmp(type, "Accept") == 0)
-                        list = xs_list_append(list, o);
+                    if (!xs_is_null(type) && strcmp(type, "Accept") == 0) {
+                        char *actor = xs_dict_get(o, "actor");
+
+                        if (!xs_is_null(actor))
+                            list = xs_list_append(list, actor);
+                    }
                 }
             }
         }

+ 1 - 1
html.c

@@ -938,7 +938,7 @@ d_char *html_people(snac *snac)
 
     s = html_user_header(snac, s, 0);
 
-//    s = html_people_list(snac, s, wing, L("People you follow"), "i");
+    s = html_people_list(snac, s, wing, L("People you follow"), "i");
 
     s = html_people_list(snac, s, wers, L("People that follows you"), "e");