summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--activitypub.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/activitypub.c b/activitypub.c
index e9db6ba..62d4cda 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -937,8 +937,8 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach,
/* creates a Question message */
{
xs *ntid = tid(0);
- xs *id = xs_fmt("%s/q/%s", user->actor, ntid);
xs_dict *msg = msg_note(user, content, NULL, NULL, attach, 0);
+ int max = 8;
msg = xs_dict_set(msg, "type", "Question");
@@ -947,10 +947,16 @@ xs_dict *msg_question(snac *user, const char *content, xs_list *attach,
xs_str *v;
xs *replies = xs_json_loads("{\"type\":\"Collection\",\"totalItems\":0}");
- while (xs_list_iter(&p, &v)) {
- xs *d = xs_dict_new();
+ while (max-- && xs_list_iter(&p, &v)) {
+ xs *v2 = xs_dup(v);
+ xs *d = xs_dict_new();
+
+ if (strlen(v2) > 60) {
+ v2[60] = '\0';
+ v2 = xs_str_cat(v2, "...");
+ }
- d = xs_dict_append(d, "name", v);
+ d = xs_dict_append(d, "name", v2);
d = xs_dict_append(d, "replies", replies);
o = xs_list_append(o, d);
}
@@ -1058,7 +1064,7 @@ int update_question(snac *user, const char *id)
xs *now = xs_str_utctime(0, ISO_DATE_SPEC);
/* it's now greater than the endTime? */
- if (strcmp(now, end_time) > 0) {
+ if (strcmp(now, end_time) >= 0) {
xs *et = xs_dup(end_time);
msg = xs_dict_set(msg, "closed", et);
}