diff options
author | default <nobody@localhost> | 2024-05-05 01:58:27 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2024-05-05 01:58:27 +0200 |
commit | be9cf2f5550f68ef4e86b547d7247a0bd498521d (patch) | |
tree | 107681587a33ea0cc61cb1ac2793abec71a0a522 /html.c | |
parent | fc76ae4e9e721a1ec5fbcf3b509d5a47cf48cd61 (diff) |
Enqueue an object request for closed polls.
It seems that Pleroma does not send poll updates on close (or never).
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -3300,6 +3300,25 @@ int html_post_handler(const xs_dict *req, const char *q_path, timeline_add(&snac, xs_dict_get(msg, "id"), msg); } + { + /* get the poll object */ + xs *poll = NULL; + + if (valid_status(object_get(irt, &poll))) { + char *date = xs_dict_get(poll, "endTime"); + if (xs_is_null(date)) + date = xs_dict_get(poll, "closed"); + + if (!xs_is_null(date)) { + time_t t = xs_parse_iso_date(date, 0) - time(NULL); + + /* request the poll when it's closed; + Pleroma does not send and update when the poll closes */ + enqueue_object_request(&snac, irt, t + 2); + } + } + } + status = 303; } |