diff options
| author | 2024-05-31 17:51:33 +0200 | |
|---|---|---|
| committer | 2024-05-31 17:51:33 +0200 | |
| commit | 6d29cfd63d744d91fa549bbd89ed2bf51c0c4760 (patch) | |
| tree | 631c6bb402a76823bbc5f4c22afdefe5463fc9af | |
| parent | Add class .snac-announcement into utils. (diff) | |
| download | snac2-6d29cfd63d744d91fa549bbd89ed2bf51c0c4760.tar.gz snac2-6d29cfd63d744d91fa549bbd89ed2bf51c0c4760.tar.xz snac2-6d29cfd63d744d91fa549bbd89ed2bf51c0c4760.zip | |
Don't propagate the user change after dismissing the announcement.
| -rw-r--r-- | data.c | 11 | ||||
| -rw-r--r-- | html.c | 4 | ||||
| -rw-r--r-- | mastoapi.c | 2 | ||||
| -rw-r--r-- | snac.h | 2 |
4 files changed, 11 insertions, 8 deletions
| @@ -303,7 +303,7 @@ int user_open_by_md5(snac *snac, const char *md5) | |||
| 303 | return 0; | 303 | return 0; |
| 304 | } | 304 | } |
| 305 | 305 | ||
| 306 | int user_persist(snac *snac) | 306 | int user_persist(snac *snac, int publish) |
| 307 | /* store user */ | 307 | /* store user */ |
| 308 | { | 308 | { |
| 309 | xs *fn = xs_fmt("%s/user.json", snac->basedir); | 309 | xs *fn = xs_fmt("%s/user.json", snac->basedir); |
| @@ -321,10 +321,13 @@ int user_persist(snac *snac) | |||
| 321 | 321 | ||
| 322 | history_del(snac, "timeline.html_"); | 322 | history_del(snac, "timeline.html_"); |
| 323 | 323 | ||
| 324 | xs *a_msg = msg_actor(snac); | 324 | if (publish) { |
| 325 | xs *u_msg = msg_update(snac, a_msg); | 325 | xs *a_msg = msg_actor(snac); |
| 326 | xs *u_msg = msg_update(snac, a_msg); | ||
| 327 | |||
| 328 | enqueue_message(snac, u_msg); | ||
| 329 | } | ||
| 326 | 330 | ||
| 327 | enqueue_message(snac, u_msg); | ||
| 328 | enqueue_verify_links(snac); | 331 | enqueue_verify_links(snac); |
| 329 | 332 | ||
| 330 | return 0; | 333 | return 0; |
| @@ -2633,7 +2633,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, | |||
| 2633 | xs *timestamp = xs_number_new(ts); | 2633 | xs *timestamp = xs_number_new(ts); |
| 2634 | srv_log(xs_fmt("user dismissed announcements until %d", ts)); | 2634 | srv_log(xs_fmt("user dismissed announcements until %d", ts)); |
| 2635 | snac.config = xs_dict_set(snac.config, "last_announcement", timestamp); | 2635 | snac.config = xs_dict_set(snac.config, "last_announcement", timestamp); |
| 2636 | user_persist(&snac); | 2636 | user_persist(&snac, 0); |
| 2637 | } | 2637 | } |
| 2638 | } | 2638 | } |
| 2639 | 2639 | ||
| @@ -3380,7 +3380,7 @@ int html_post_handler(const xs_dict *req, const char *q_path, | |||
| 3380 | snac.config = xs_dict_set(snac.config, "passwd", pw); | 3380 | snac.config = xs_dict_set(snac.config, "passwd", pw); |
| 3381 | } | 3381 | } |
| 3382 | 3382 | ||
| 3383 | user_persist(&snac); | 3383 | user_persist(&snac, 1); |
| 3384 | 3384 | ||
| 3385 | status = HTTP_STATUS_SEE_OTHER; | 3385 | status = HTTP_STATUS_SEE_OTHER; |
| 3386 | } | 3386 | } |
| @@ -3319,7 +3319,7 @@ int mastoapi_patch_handler(const xs_dict *req, const char *q_path, | |||
| 3319 | } | 3319 | } |
| 3320 | 3320 | ||
| 3321 | /* Persist profile */ | 3321 | /* Persist profile */ |
| 3322 | if (user_persist(&snac) == 0) | 3322 | if (user_persist(&snac, 1) == 0) |
| 3323 | credentials_get(body, ctype, &status, snac); | 3323 | credentials_get(body, ctype, &status, snac); |
| 3324 | else | 3324 | else |
| 3325 | status = HTTP_STATUS_INTERNAL_SERVER_ERROR; | 3325 | status = HTTP_STATUS_INTERNAL_SERVER_ERROR; |
| @@ -76,7 +76,7 @@ int user_open(snac *snac, const char *uid); | |||
| 76 | void user_free(snac *snac); | 76 | void user_free(snac *snac); |
| 77 | xs_list *user_list(void); | 77 | xs_list *user_list(void); |
| 78 | int user_open_by_md5(snac *snac, const char *md5); | 78 | int user_open_by_md5(snac *snac, const char *md5); |
| 79 | int user_persist(snac *snac); | 79 | int user_persist(snac *snac, int publish); |
| 80 | 80 | ||
| 81 | int validate_uid(const char *uid); | 81 | int validate_uid(const char *uid); |
| 82 | 82 | ||