diff --git a/html.c b/html.c index fca5751..f0cda81 100644 --- a/html.c +++ b/html.c @@ -2379,7 +2379,13 @@ int html_get_handler(const xs_dict *req, const char *q_path, status = 401; } else { - if (cache && history_mtime(&snac, "timeline.html_") > timeline_mtime(&snac)) { + double t = history_mtime(&snac, "timeline.html_"); + + /* if enabled by admin, return a cached page if its timestamp is: + a) newer than the timeline timestamp + b) newer than the start time of the server + */ + if (cache && t > timeline_mtime(&snac) && t > p_state->srv_start_time) { snac_debug(&snac, 1, xs_fmt("serving cached timeline")); status = history_get(&snac, "timeline.html_", body, b_size,