From e906ac74514a415c73593edfad5b540df9d67ac5 Mon Sep 17 00:00:00 2001 From: discomrade Date: Mon, 17 Jan 2022 07:12:13 -0100 Subject: [PATCH] Refactor rebuilding after posts, finish reply requests before rebuilding index This provides massive improvements to perceived post times as it doesn't wait for the entire board to rebuild index before confirming to the user that the post was made --- post.php | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/post.php b/post.php index 41e93165..7ad7a7e1 100644 --- a/post.php +++ b/post.php @@ -1449,24 +1449,33 @@ function handle_post(){ )); } - if ($config['try_smarter'] && $post['op']) - $build_pages = range(1, $config['max_pages']); - - if ($post['op']) + if ($post['op']) { clean($id); + + if ($config['try_smarter']) + $build_pages = range(1, $config['max_pages']); - event('post-after', $post); - - buildIndex(); - - // We are already done, let's continue our heavy-lifting work in the background (if we run off FastCGI) - if (function_exists('fastcgi_finish_request')) { - @fastcgi_finish_request(); - } + event('post-after', $post); + + buildIndex(); + + // We are already done and post is visible to others, let's continue our heavy-lifting work in the background (if we run off FastCGI) + if (function_exists('fastcgi_finish_request')) { + @fastcgi_finish_request(); + } - if ($post['op']) { rebuildThemes('post-thread', $board['uri']); + } else { + event('post-after', $post); + + // We are already done and post is visible to others, let's continue our heavy-lifting work in the background (if we run off FastCGI) + if (function_exists('fastcgi_finish_request')) { + @fastcgi_finish_request(); + } + + buildIndex(); + rebuildThemes('post', $board['uri']); } }