From ffbffd797a22fbfec1191c8f2f391269c0ea5240 Mon Sep 17 00:00:00 2001 From: OsamaSayegh Date: Fri, 22 May 2020 23:18:28 +0300 Subject: [PATCH 1/3] DEV: Quality of life improvements when working on MP's client assets --- Rakefile | 31 +++++++++++++++++-- lib/mini_profiler/profiler.rb | 5 ++- rack-mini-profiler.gemspec | 1 + website/Gemfile | 9 ++++++ website/config.ru | 4 +++ website/data.json | 1 + website/sample.rb | 57 +++++++++++++++++++++++++++++++++++ 7 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 website/Gemfile create mode 100644 website/config.ru create mode 100644 website/data.json create mode 100644 website/sample.rb diff --git a/Rakefile b/Rakefile index 839ce407..76774736 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,5 @@ # frozen_string_literal: true + require 'rubygems' require 'bundler' require 'bundler/gem_tasks' @@ -50,6 +51,7 @@ end\n" end end +@mini_racer_context = nil desc "generate vendor asset file" task :write_vendor_js do require 'mini_racer' @@ -65,13 +67,13 @@ task :write_vendor_js do templates[id] = node.content end - c = MiniRacer::Context.new - c.eval(dot_js) + @mini_racer_context ||= MiniRacer::Context.new + @mini_racer_context.eval(dot_js) templates_js = "MiniProfiler.templates = {};\n" templates.each do |k, v| template = v.gsub('`', '\\`') - compiled = c.eval <<~JS + compiled = @mini_racer_context.eval <<~JS doT.compile(`#{template}`).toString() JS templates_js += <<~JS @@ -96,6 +98,29 @@ task :write_vendor_js do File.write(path, content) end +desc "Start Sinatra server for client-side development" +task :client_dev do + require 'listen' + + regexp = /(vendor\.js|includes\.css)$/ + listener = Listen.to(File.expand_path("lib/html", __dir__)) do |modified| + next if modified.all? { |m| m =~ regexp } + print("Assets change detected; updating ASSET_VERSION constant and recompiling templates... ") + rake_task = Rake.application[:update_asset_version] + rake_task.all_prerequisite_tasks.each(&:reenable) + rake_task.reenable + rake_task.invoke + puts "Done" + rescue => err + puts "\nError occurred: #{err.inspect}" + end + listener.start + pid = spawn("cd website && BUNDLE_GEMFILE=Gemfile bundle exec rackup") + Process.wait(pid) +rescue Interrupt + listener.stop +end + desc "copy files from other parts of the tree" task :copy_files do # TODO grab files from MiniProfiler/UI diff --git a/lib/mini_profiler/profiler.rb b/lib/mini_profiler/profiler.rb index d5ad96a8..72bbf796 100644 --- a/lib/mini_profiler/profiler.rb +++ b/lib/mini_profiler/profiler.rb @@ -152,7 +152,7 @@ def serve_html(env) resources_env = env.dup resources_env['PATH_INFO'] = file_name - rack_file = Rack::File.new(MiniProfiler.resources_root, 'Cache-Control' => 'max-age:86400') + rack_file = Rack::File.new(MiniProfiler.resources_root, 'Cache-Control' => "max-age:#{cache_control_value}") rack_file.call(resources_env) end @@ -673,5 +673,8 @@ def cancel_auto_inject(env) current.inject_js = false end + def cache_control_value + 86400 + end end end diff --git a/rack-mini-profiler.gemspec b/rack-mini-profiler.gemspec index 843c7913..8c89d81a 100644 --- a/rack-mini-profiler.gemspec +++ b/rack-mini-profiler.gemspec @@ -40,6 +40,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'mini_racer' s.add_development_dependency 'nokogiri' s.add_development_dependency 'rubocop-discourse' + s.add_development_dependency 'listen' s.require_paths = ["lib"] end diff --git a/website/Gemfile b/website/Gemfile new file mode 100644 index 00000000..85e33956 --- /dev/null +++ b/website/Gemfile @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +source 'https://rubygems.org' + +gem 'sinatra' +gem 'rack-mini-profiler', path: '../' +gem 'puma' +gem 'listen' +gem 'byebug' diff --git a/website/config.ru b/website/config.ru new file mode 100644 index 00000000..0708967d --- /dev/null +++ b/website/config.ru @@ -0,0 +1,4 @@ +# frozen_string_literal: true + +require './sample' +run Sample diff --git a/website/data.json b/website/data.json new file mode 100644 index 00000000..78f5ab88 --- /dev/null +++ b/website/data.json @@ -0,0 +1 @@ +{"id":"5tvmphfhp2n3xmyf230w","name":"/t/welcome-to-discourse/7/2","started":"/Date(1590083732412)/","started_at":1590083732412,"machine_name":"localhost","level":0,"user":"dea3f8c7d61235b95aefe3e509f16817","has_user_viewed":true,"client_timings":{"redirect_count":null,"timings":[{"Name":"Connect","Start":2,"Duration":0},{"Name":"Navigation","Start":0,"Duration":0},{"Name":"Fetch","Start":2,"Duration":0},{"Name":"Dom Content Loaded Event","Start":8032,"Duration":3},{"Name":"Response","Start":2741,"Duration":21},{"Name":"Request","Start":2,"Duration":0},{"Name":"Unload Event","Start":2747,"Duration":0},{"Name":"Domain Lookup","Start":2,"Duration":0},{"Name":"Load Event","Start":8739,"Duration":0},{"Name":"domLoading","Start":2755,"Duration":-1},{"Name":"domInteractive","Start":8032,"Duration":-1},{"Name":"domComplete","Start":8739,"Duration":-1}]},"duration_milliseconds":2562.229999995907,"has_trivial_timings":true,"has_all_trivial_timings":false,"trivial_duration_threshold_milliseconds":2,"head":null,"sql_count":100,"duration_milliseconds_in_sql":1007.4,"has_sql_timings":true,"has_duplicate_sql_timings":false,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_names":["Logster log"],"custom_timing_stats":{"Logster log":{"count":96,"duration":63.294799911091104}},"root":{"id":"wkej919guiiu0aq7y85x","name":"GET http://localhost:9292/t/welcome-to-discourse/7/2","duration_milliseconds":2562.229999995907,"duration_without_children_milliseconds":102.81319999194238,"start_milliseconds":0,"parent_timing_id":null,"children":[{"id":"8l2sytie97hpa5oi4cph","name":"Executing action: show","duration_milliseconds":2459.4168000039645,"duration_without_children_milliseconds":1360.4484000097727,"start_milliseconds":102,"parent_timing_id":"wkej919guiiu0aq7y85x","children":[{"id":"5yokvuymu8o751ajvruj","name":"Net::HTTP GET /","duration_milliseconds":115.90930000238586,"duration_without_children_milliseconds":115.90930000238586,"start_milliseconds":1271,"parent_timing_id":"8l2sytie97hpa5oi4cph","children":[],"has_children":false,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":false,"is_root":false,"depth":2,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{},"custom_timings":{}},{"id":"jx3gva113p75lkhl6h9y","name":"Rendering: topics/show","duration_milliseconds":2.3196999973151833,"duration_without_children_milliseconds":2.3196999973151833,"start_milliseconds":1574,"parent_timing_id":"8l2sytie97hpa5oi4cph","children":[],"has_children":false,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":false,"is_root":false,"depth":2,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{},"custom_timings":{}},{"id":"hr5yfemk44bohw08deif","name":"Rendering: layouts/application","duration_milliseconds":980.7393999944907,"duration_without_children_milliseconds":7.59619998279959,"start_milliseconds":1578,"parent_timing_id":"8l2sytie97hpa5oi4cph","children":[{"id":"a3gprteg67y4alpbs80r","name":"Rendering: layouts/_head","duration_milliseconds":972.7549000090221,"duration_without_children_milliseconds":634.0734000114026,"start_milliseconds":1578,"parent_timing_id":"hr5yfemk44bohw08deif","children":[{"id":"xvxwyagojqdf44bnv2lc","name":"Net::HTTP GET /latest","duration_milliseconds":338.68149999761954,"duration_without_children_milliseconds":338.68149999761954,"start_milliseconds":2213,"parent_timing_id":"a3gprteg67y4alpbs80r","children":[],"has_children":false,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":false,"is_root":false,"depth":4,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{},"custom_timings":{}}],"has_children":true,"key_values":null,"has_sql_timings":true,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[{"execute_type":3,"formatted_command_string":"SELECT "themes"."color_scheme_id" FROM "themes" WHERE "themes"."id" = 2","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/helpers/application_helper.rb:407:in `scheme_id'\napp/views/layouts/_head.html.erb:9:in `_app_views_layouts__head_html_erb___4227730893192529927_47221178325700'\napp/views/layouts/application.html.erb:9:in `_app_views_layouts_application_html_erb___581965697706543046_47221227240940'\napp/controllers/topics_controller.rb:1020:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1579.1,"duration_milliseconds":0.9,"first_fetch_duration_milliseconds":0.9,"parameters":null,"parent_timing_id":"a3gprteg67y4alpbs80r","is_duplicate":false}],"sql_timings_duration_milliseconds":0.9,"is_trivial":false,"is_root":false,"depth":3,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{"Logster log":{"count":1,"duration":0.7477000035578385}},"custom_timings":{"Logster log":[{"type":"Logster log","start_milliseconds":1580.2522999964422,"duration_milliseconds":0.7477000035578385,"parent_timing_id":"a3gprteg67y4alpbs80r"}]}},{"id":"e337gypo9otxdxez6xf7","name":"Rendering: common/_discourse_stylesheet","duration_milliseconds":0.3311000036774203,"duration_without_children_milliseconds":0.3311000036774203,"start_milliseconds":2554,"parent_timing_id":"hr5yfemk44bohw08deif","children":[],"has_children":false,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":true,"is_root":false,"depth":3,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{},"custom_timings":{}},{"id":"5mlo6stlrvbu2lbl875e","name":"Rendering: application/_header","duration_milliseconds":0.057199998991563916,"duration_without_children_milliseconds":0.057199998991563916,"start_milliseconds":2556,"parent_timing_id":"hr5yfemk44bohw08deif","children":[],"has_children":false,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":true,"is_root":false,"depth":3,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{},"custom_timings":{}}],"has_children":true,"key_values":null,"has_sql_timings":false,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[],"sql_timings_duration_milliseconds":0,"is_trivial":false,"is_root":false,"depth":2,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{"Logster log":{"count":3,"duration":2.7219000039622188}},"custom_timings":{"Logster log":[{"type":"Logster log","start_milliseconds":2551.540100005106,"duration_milliseconds":0.45989999489393085,"parent_timing_id":"hr5yfemk44bohw08deif"},{"type":"Logster log","start_milliseconds":2555.129999996512,"duration_milliseconds":0.870000003487803,"parent_timing_id":"hr5yfemk44bohw08deif"},{"type":"Logster log","start_milliseconds":2556.6079999944195,"duration_milliseconds":1.3920000055804849,"parent_timing_id":"hr5yfemk44bohw08deif"}]}}],"has_children":true,"key_values":null,"has_sql_timings":true,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[{"execute_type":3,"formatted_command_string":"SELECT pg_sleep(0.04)","stack_trace_snippet":"app/models/user_auth_token.rb:105:in `lookup'\nlib/auth/default_current_user_provider.rb:96:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":108.5,"duration_milliseconds":40.5,"first_fetch_duration_milliseconds":40.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT pg_sleep(0.06)","stack_trace_snippet":"app/models/user_auth_token.rb:106:in `lookup'\nlib/auth/default_current_user_provider.rb:96:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":149.5,"duration_milliseconds":60.5,"first_fetch_duration_milliseconds":60.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT pg_sleep(0.3)","stack_trace_snippet":"app/models/user_auth_token.rb:107:in `lookup'\nlib/auth/default_current_user_provider.rb:96:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":210.3,"duration_milliseconds":300.7,"first_fetch_duration_milliseconds":300.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT pg_sleep(0.5)","stack_trace_snippet":"app/models/user_auth_token.rb:108:in `lookup'\nlib/auth/default_current_user_provider.rb:96:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":510.9,"duration_milliseconds":501.1,"first_fetch_duration_milliseconds":501.1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_auth_tokens".* FROM "user_auth_tokens" WHERE ((auth_token = '8Cj8rCh3VvJ9rqgnviYYjV2d3uc=' OR\n prev_auth_token = '8Cj8rCh3VvJ9rqgnviYYjV2d3uc=') AND rotated_at > '2020-03-22 17:55:32.520580') LIMIT 1","stack_trace_snippet":"app/models/user_auth_token.rb:109:in `lookup'\nlib/auth/default_current_user_provider.rb:96:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1012.7,"duration_milliseconds":0.3,"first_fetch_duration_milliseconds":0.3,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1","stack_trace_snippet":"lib/auth/default_current_user_provider.rb:102:in `current_user'\nlib/current_user.rb:36:in `current_user'\napp/controllers/application_controller.rb:414:in `guardian'\napp/controllers/application_controller.rb:368:in `resolve_safe_mode'\napp/controllers/application_controller.rb:381:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1014.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_options".* FROM "user_options" WHERE "user_options"."user_id" = 1 LIMIT 1","stack_trace_snippet":"app/controllers/application_controller.rb:391:in `handle_theme'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1018.3,"duration_milliseconds":2.7,"first_fetch_duration_milliseconds":2.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "groups"."id", "groups"."name" FROM "groups" ORDER BY name ASC, "groups"."name" ASC","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/site_serializer.rb:51:in `block in groups'\napp/serializers/application_serializer.rb:35:in `cache_anon_fragment'\napp/serializers/site_serializer.rb:50:in `groups'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1023,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT COUNT(*) FROM (SELECT 1 AS one FROM "topics" WHERE ("topics"."deleted_at" IS NULL) LIMIT 16) subquery_for_count","stack_trace_snippet":"lib/wizard.rb:104:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1026.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users"."id" FROM "users" INNER JOIN "user_auth_tokens" ON "user_auth_tokens"."user_id" = "users"."id" WHERE "users"."admin" = TRUE AND (users.id > 0) ORDER BY user_auth_tokens.created_at LIMIT 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/pluck_first.rb:5:in `pluck_first'\nlib/wizard.rb:113:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1029,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT DISTINCT "user_histories"."context" FROM "user_histories" WHERE "user_histories"."action" = 40 AND "user_histories"."context" = 'introduction' ORDER BY "user_histories"."context" ASC","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/wizard.rb:95:in `completed_steps?'\nlib/wizard/builder.rb:57:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:54:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1032.1,"duration_milliseconds":0.9,"first_fetch_duration_milliseconds":0.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."image_url", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" FROM "topics" WHERE ("topics"."deleted_at" IS NULL) AND "topics"."id" = 7 ORDER BY "topics"."id" ASC LIMIT 1","stack_trace_snippet":"lib/introduction_updater.rb:57:in `find_welcome_post'\nlib/introduction_updater.rb:10:in `get_summary'\nlib/wizard/builder.rb:61:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:54:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1034.9,"duration_milliseconds":1.1,"first_fetch_duration_milliseconds":1.1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id", "posts"."user_id", "posts"."topic_id", "posts"."post_number", "posts"."raw", "posts"."cooked", "posts"."created_at", "posts"."updated_at", "posts"."reply_to_post_number", "posts"."reply_count", "posts"."quote_count", "posts"."deleted_at", "posts"."off_topic_count", "posts"."like_count", "posts"."incoming_link_count", "posts"."bookmark_count", "posts"."score", "posts"."reads", "posts"."post_type", "posts"."sort_order", "posts"."last_editor_id", "posts"."hidden", "posts"."hidden_reason_id", "posts"."notify_moderators_count", "posts"."spam_count", "posts"."illegal_count", "posts"."inappropriate_count", "posts"."last_version_at", "posts"."user_deleted", "posts"."reply_to_user_id", "posts"."percent_rank", "posts"."notify_user_count", "posts"."like_score", "posts"."deleted_by_id", "posts"."edit_reason", "posts"."word_count", "posts"."version", "posts"."cook_method", "posts"."wiki", "posts"."baked_at", "posts"."baked_version", "posts"."hidden_at", "posts"."self_edits", "posts"."reply_quoted", "posts"."via_email", "posts"."raw_email", "posts"."public_version", "posts"."action_code", "posts"."image_url", "posts"."locked_by_id", "posts"."image_upload_id" FROM "posts" WHERE ("posts"."deleted_at" IS NULL) AND "posts"."topic_id" = 7 AND "posts"."post_number" = 1 LIMIT 1","stack_trace_snippet":"lib/introduction_updater.rb:60:in `find_welcome_post'\nlib/introduction_updater.rb:10:in `get_summary'\nlib/wizard/builder.rb:61:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:54:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1038.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users"."username" FROM "users" WHERE (users.id > 0) AND "users"."admin" = TRUE","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/wizard/builder.rb:113:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:105:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1041.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "themes".* FROM "themes" WHERE "themes"."id" = 2 LIMIT 1","stack_trace_snippet":"lib/wizard/builder.rb:146:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:145:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1044,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "site_settings" WHERE "site_settings"."name" = 'default_theme_id' LIMIT 1","stack_trace_snippet":"lib/wizard/builder.rb:147:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:145:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1047.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT COUNT(*) FROM "users" WHERE (moderator or admin ) AND (users.id > 0) AND (username_lower not in ('admin','moderator','administrator','mod','sys','system','community','info','you','name','username','user','nickname','discourse','discourseorg','discourseforum','support','hp'))","stack_trace_snippet":"lib/wizard/builder.rb:283:in `block in build'\nlib/wizard.rb:25:in `append_step'\nlib/wizard/builder.rb:281:in `build'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1050.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT DISTINCT "user_histories"."context" FROM "user_histories" WHERE "user_histories"."action" = 40 AND "user_histories"."context" IN ('locale', 'forum-title', 'introduction', 'privacy', 'contact', 'corporate', 'colors', 'themes-further-reading', 'logos', 'icons', 'homepage', 'emoji', 'invites') ORDER BY "user_histories"."context" ASC","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/wizard.rb:95:in `completed_steps?'\nlib/wizard.rb:86:in `completed?'\nlib/wizard.rb:116:in `requires_completion?'\nlib/wizard.rb:123:in `user_requires_completion?'\napp/serializers/site_serializer.rb:142:in `include_wizard_required?'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1053.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "categories"."id" FROM "categories" WHERE "categories"."topic_featured_link_allowed" = TRUE","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/guardian/category_guardian.rb:75:in `topic_featured_link_allowed_category_ids'\napp/serializers/site_serializer.rb:150:in `topic_featured_link_allowed_category_ids'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1055.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "plugin_store_rows".* FROM "plugin_store_rows" WHERE "plugin_store_rows"."plugin_name" = 'discourse-calendar' AND "plugin_store_rows"."key" = 'users_on_holiday' LIMIT 1","stack_trace_snippet":"app/models/plugin_store.rb:28:in `get'\nplugins/discourse-calendar/plugin.rb:52:in `users_on_holiday'\nplugins/discourse-calendar/plugin.rb:371:in `block (2 levels) in activate!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1059.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT categories.id FROM "categories" WHERE "categories"."read_restricted" = TRUE","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/user.rb:997:in `secure_category_ids'\nlib/guardian/category_guardian.rb:58:in `secure_category_ids'\napp/models/category.rb:110:in `block in '\napp/models/site.rb:35:in `categories'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1061.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT categories.*, t.slug topic_slug FROM "categories" LEFT JOIN topics t on t.id = categories.topic_id WHERE (NOT categories.read_restricted OR categories.id IN (3,4)) ORDER BY "categories"."position" ASC","stack_trace_snippet":"app/models/site.rb:40:in `categories'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1063.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_tags".* FROM "category_tags" WHERE "category_tags"."category_id" IN (1, 2, 3, 4)","stack_trace_snippet":"app/models/site.rb:40:in `categories'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1066.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_tag_groups".* FROM "category_tag_groups" WHERE "category_tag_groups"."category_id" IN (1, 2, 3, 4)","stack_trace_snippet":"app/models/site.rb:40:in `categories'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1069.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_users"."category_id", "category_users"."notification_level" FROM "category_users" WHERE "category_users"."user_id" = 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/category_user.rb:214:in `notification_levels_for'\napp/models/site.rb:58:in `categories'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1072.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_fields".* FROM "user_fields" ORDER BY "user_fields"."position" ASC","stack_trace_snippet":"lib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/models/site.rb:114:in `json_for'\napp/controllers/application_controller.rb:525:in `preload_anonymous_data'\napp/controllers/application_controller.rb:350:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1075.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT COUNT(*) FROM (\n SELECT 1 FROM\n notifications n\n LEFT JOIN topics t ON t.id = n.topic_id\n WHERE t.deleted_at IS NULL AND\n n.high_priority = FALSE AND\n n.user_id = 1 AND\n n.id > 4 AND\n NOT read\n LIMIT 99\n) AS X\n","stack_trace_snippet":"app/models/user.rb:534:in `unread_notifications'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1081.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":" SELECT COUNT(*)\n FROM notifications n\nLEFT JOIN topics t ON t.id = n.topic_id\n WHERE t.deleted_at IS NULL\n AND n.high_priority = TRUE\n AND n.user_id = 1\n AND NOT read\n","stack_trace_snippet":"app/models/user.rb:489:in `unread_notifications_of_priority'\napp/models/user.rb:501:in `unread_high_priority_notifications'\napp/models/user.rb:497:in `unread_private_messages'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1082.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_stats"."user_id", "user_stats"."topics_entered", "user_stats"."time_read", "user_stats"."days_visited", "user_stats"."posts_read_count", "user_stats"."likes_given", "user_stats"."likes_received", "user_stats"."new_since", "user_stats"."read_faq", "user_stats"."first_post_created_at", "user_stats"."post_count", "user_stats"."topic_count", "user_stats"."bounce_score", "user_stats"."reset_bounce_score_after", "user_stats"."flags_agreed", "user_stats"."flags_disagreed", "user_stats"."flags_ignored", "user_stats"."first_unread_at", "user_stats"."distinct_badge_count" FROM "user_stats" WHERE "user_stats"."user_id" = 1 LIMIT 1","stack_trace_snippet":"app/serializers/current_user_serializer.rb:69:in `any_posts'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1084.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "posts" WHERE ("posts"."deleted_at" IS NULL) AND "posts"."user_id" = 1 LIMIT 1","stack_trace_snippet":"app/models/user_stat.rb:180:in `any_posts'\napp/serializers/current_user_serializer.rb:69:in `any_posts'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1086.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_users"."category_id" FROM "category_users" WHERE "category_users"."user_id" = 1 AND "category_users"."notification_level" = 0","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/current_user_serializer.rb:166:in `muted_category_ids'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1089.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "tag_users"."tag_id" FROM "tag_users" WHERE "tag_users"."user_id" = 1 AND "tag_users"."notification_level" = 0","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/current_user_serializer.rb:170:in `muted_tag_ids'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1091.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_profiles".* FROM "user_profiles" WHERE "user_profiles"."user_id" = 1 LIMIT 1","stack_trace_snippet":"app/serializers/current_user_serializer.rb:192:in `dismissed_banner_key'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1094.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "plugin_store_rows".* FROM "plugin_store_rows" WHERE "plugin_store_rows"."plugin_name" = 'reviewables' AND "plugin_store_rows"."key" = 'priority_0' LIMIT 1","stack_trace_snippet":"app/models/plugin_store.rb:28:in `get'\napp/models/reviewable.rb:267:in `min_score_for_priority'\napp/models/reviewable.rb:450:in `list_for'\napp/serializers/current_user_serializer.rb:200:in `reviewable_count'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1096.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT COUNT(*) FROM "reviewables" WHERE "reviewables"."status" = 0","stack_trace_snippet":"app/serializers/current_user_serializer.rb:200:in `reviewable_count'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1098.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_users"."category_id" FROM "category_users" WHERE "category_users"."user_id" = 1 AND "category_users"."notification_level" NOT IN (0, 1) ORDER BY \n CASE\n WHEN notification_level = 3 THEN 1\n WHEN notification_level = 2 THEN 2\n WHEN notification_level = 4 THEN 3\n END","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/current_user_serializer.rb:187:in `top_category_ids'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1101.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "groups"."id", "groups"."name" FROM "groups" INNER JOIN "group_users" ON "groups"."id" = "group_users"."group_id" WHERE "group_users"."user_id" = 1 AND (groups.id > 0) ORDER BY name ASC","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/current_user_serializer.rb:53:in `groups'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1103.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "user_second_factors" WHERE "user_second_factors"."user_id" = 1 AND "user_second_factors"."method" = 1 AND "user_second_factors"."enabled" = TRUE LIMIT 1","stack_trace_snippet":"app/models/concerns/second_factor_manager.rb:59:in `totp_enabled?'\napp/serializers/current_user_serializer.rb:220:in `second_factor_enabled'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1106.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "user_security_keys" WHERE "user_security_keys"."user_id" = 1 AND "user_security_keys"."enabled" = TRUE AND "user_security_keys"."factor_type" = 0 AND "user_security_keys"."enabled" = TRUE LIMIT 1","stack_trace_snippet":"app/models/concerns/second_factor_manager.rb:71:in `security_keys_enabled?'\napp/serializers/current_user_serializer.rb:220:in `second_factor_enabled'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1109.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "username" FROM "ignored_users" INNER JOIN "users" ON "users"."id" = "ignored_users"."ignored_user_id" WHERE "ignored_users"."user_id" = 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/serializers/current_user_serializer.rb:174:in `ignored_users'\napp/controllers/application_controller.rb:533:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1111.1,"duration_milliseconds":0.9,"first_fetch_duration_milliseconds":0.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "tag_users"."tag_id" FROM "tag_users" WHERE "tag_users"."user_id" = 1 AND "tag_users"."notification_level" = 0","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/topic_tracking_state.rb:232:in `muted_tag_ids'\napp/models/topic_tracking_state.rb:198:in `report'\napp/controllers/application_controller.rb:534:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1113.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT \n u.id AS user_id,\n topics.id AS topic_id,\n topics.created_at,\n highest_staff_post_number highest_post_number,\n last_read_post_number,\n c.id AS category_id,\n tu.notification_level\nFROM topics\nJOIN users u on u.id = 1\nJOIN user_stats AS us ON us.user_id = u.id\nJOIN user_options AS uo ON uo.user_id = u.id\nJOIN categories c ON c.id = topics.category_id\nLEFT JOIN topic_users tu ON tu.topic_id = topics.id AND tu.user_id = u.id\nLEFT JOIN category_users ON category_users.category_id = topics.category_id AND category_users.user_id = 1\nWHERE u.id = 1 AND\n \n topics.archetype <> 'private_message' AND\n ((1=0) OR ("topics"."deleted_at" IS NULL AND topics.created_at >= GREATEST(CASE\n WHEN COALESCE(uo.new_topic_duration_minutes, 2880) = -1 THEN u.created_at\n WHEN COALESCE(uo.new_topic_duration_minutes, 2880) = -2 THEN COALESCE(u.previous_visit_at,u.created_at)\n ELSE ('2020-05-21 17:55:33.528146'::timestamp - INTERVAL '1 MINUTE' * COALESCE(uo.new_topic_duration_minutes, 2880))\n END, us.new_since, '1970-01-01 00:00:00') AND tu.last_read_post_number IS NULL AND COALESCE(tu.notification_level, 2) >= 2 AND topics.created_at > '1970-01-01 00:00:00' AND (category_users.last_seen_at IS NULL OR topics.created_at > category_users.last_seen_at))) AND\n \n \n topics.deleted_at IS NULL AND\n \n NOT (\n last_read_post_number IS NULL AND\n COALESCE(category_users.notification_level, 1) = 0\n )\n\nUNION ALL\n\nSELECT \n u.id AS user_id,\n topics.id AS topic_id,\n topics.created_at,\n highest_staff_post_number highest_post_number,\n last_read_post_number,\n c.id AS category_id,\n tu.notification_level\nFROM topics\nJOIN users u on u.id = 1\nJOIN user_stats AS us ON us.user_id = u.id\nJOIN user_options AS uo ON uo.user_id = u.id\nJOIN categories c ON c.id = topics.category_id\nLEFT JOIN topic_users tu ON tu.topic_id = topics.id AND tu.user_id = u.id\nLEFT JOIN category_users ON category_users.category_id = topics.category_id AND category_users.user_id = 1\nWHERE u.id = 1 AND\n topics.updated_at >= us.first_unread_at AND \n topics.archetype <> 'private_message' AND\n (("topics"."deleted_at" IS NULL AND tu.last_read_post_number < topics.highest_staff_post_number AND COALESCE(tu.notification_level, 1) >= 2) OR (1=0)) AND\n \n \n topics.deleted_at IS NULL AND\n \n NOT (\n last_read_post_number IS NULL AND\n COALESCE(category_users.notification_level, 1) = 0\n )\n","stack_trace_snippet":"app/models/topic_tracking_state.rb:223:in `report'\napp/controllers/application_controller.rb:534:in `preload_current_user_data'\napp/controllers/application_controller.rb:354:in `preload_json'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1116.1,"duration_milliseconds":3.9,"first_fetch_duration_milliseconds":3.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."image_url", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" FROM "topics" WHERE "topics"."id" = 7 ORDER BY "topics"."id" ASC LIMIT 1","stack_trace_snippet":"lib/topic_view.rb:699:in `find_topic'\nlib/topic_view.rb:55:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1387.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "categories"."id", "categories"."name", "categories"."color", "categories"."topic_id", "categories"."topic_count", "categories"."created_at", "categories"."updated_at", "categories"."user_id", "categories"."topics_year", "categories"."topics_month", "categories"."topics_week", "categories"."slug", "categories"."description", "categories"."text_color", "categories"."read_restricted", "categories"."auto_close_hours", "categories"."post_count", "categories"."latest_post_id", "categories"."latest_topic_id", "categories"."position", "categories"."parent_category_id", "categories"."posts_year", "categories"."posts_month", "categories"."posts_week", "categories"."email_in", "categories"."email_in_allow_strangers", "categories"."topics_day", "categories"."posts_day", "categories"."allow_badges", "categories"."name_lower", "categories"."auto_close_based_on_last_post", "categories"."topic_template", "categories"."contains_messages", "categories"."sort_order", "categories"."sort_ascending", "categories"."uploaded_logo_id", "categories"."uploaded_background_id", "categories"."topic_featured_link_allowed", "categories"."all_topics_wiki", "categories"."show_subcategory_list", "categories"."num_featured_topics", "categories"."default_view", "categories"."subcategory_list_style", "categories"."default_top_period", "categories"."mailinglist_mirror", "categories"."minimum_required_tags", "categories"."navigate_to_first_post_after_read", "categories"."search_priority", "categories"."allow_global_tags", "categories"."reviewable_by_group_id", "categories"."required_tag_group_id", "categories"."min_tags_from_required_group", "categories"."read_only_banner" FROM "categories" WHERE "categories"."id" = 1","stack_trace_snippet":"lib/topic_view.rb:699:in `find_topic'\nlib/topic_view.rb:55:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1390.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT ignored_user_id\nFROM ignored_users as ig\nJOIN users as u ON u.id = ig.ignored_user_id\nWHERE ig.user_id = 1\n AND ig.ignored_user_id <> 1\n AND NOT u.admin\n AND NOT u.moderator\n","stack_trace_snippet":"lib/topic_view.rb:726:in `setup_filtered_posts'\nlib/topic_view.rb:82:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1394.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) AND (posts.deleted_at IS NOT NULL) AND (posts.post_number > 1) LIMIT 1","stack_trace_snippet":"lib/topic_view.rb:342:in `has_deleted?'\nlib/topic_view.rb:761:in `setup_filtered_posts'\nlib/topic_view.rb:82:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1395.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT posts.sort_order\nFROM posts\nWHERE posts.post_number = 2\nAND posts.topic_id = 7\nLIMIT 1\n","stack_trace_snippet":"lib/topic_view.rb:636:in `get_sort_order'\nlib/topic_view.rb:289:in `filter_posts_near'\nlib/topic_view.rb:248:in `filter_posts'\nlib/topic_view.rb:87:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1397.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id" FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) AND (posts.sort_order < 2) ORDER BY "posts"."sort_order" DESC LIMIT 5","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/topic_view.rb:294:in `filter_posts_near'\nlib/topic_view.rb:248:in `filter_posts'\nlib/topic_view.rb:87:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1398.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id" FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) AND (posts.sort_order >= 2) ORDER BY "posts"."sort_order" ASC LIMIT 19","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/topic_view.rb:299:in `filter_posts_near'\nlib/topic_view.rb:248:in `filter_posts'\nlib/topic_view.rb:87:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1400.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id" FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) AND (posts.sort_order < 2) ORDER BY "posts"."sort_order" DESC LIMIT 18 OFFSET 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/topic_view.rb:306:in `filter_posts_near'\nlib/topic_view.rb:248:in `filter_posts'\nlib/topic_view.rb:87:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1403.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."user_id" FROM "posts" LEFT OUTER JOIN "users" ON "users"."id" = "posts"."user_id" LEFT OUTER JOIN "groups" ON "groups"."id" = "users"."primary_group_id" LEFT OUTER JOIN "users" "reply_to_users_posts" ON "reply_to_users_posts"."id" = "posts"."reply_to_user_id" LEFT OUTER JOIN "users" "deleted_bies_posts" ON "deleted_bies_posts"."id" = "posts"."deleted_by_id" LEFT OUTER JOIN "incoming_emails" ON "incoming_emails"."post_id" = "posts"."id" LEFT OUTER JOIN "topics" ON "topics"."id" = "posts"."topic_id" AND ("topics"."deleted_at" IS NULL) WHERE "posts"."id" IN (10, 20) AND "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) ORDER BY sort_order","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/fast_pluck.rb:52:in `pluck'\nlib/topic_view.rb:91:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1406.6,"duration_milliseconds":1.4,"first_fetch_duration_milliseconds":1.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "user_custom_fields"."user_id", "user_custom_fields"."name", "user_custom_fields"."value" FROM "user_custom_fields" WHERE "user_custom_fields"."user_id" IN (-1, 1) AND "user_custom_fields"."name" = 'on_holiday'","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/concerns/has_custom_fields.rb:84:in `custom_fields_for_ids'\nlib/topic_view.rb:91:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1409.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id" FROM "posts" LEFT OUTER JOIN "users" ON "users"."id" = "posts"."user_id" LEFT OUTER JOIN "groups" ON "groups"."id" = "users"."primary_group_id" LEFT OUTER JOIN "users" "reply_to_users_posts" ON "reply_to_users_posts"."id" = "posts"."reply_to_user_id" LEFT OUTER JOIN "users" "deleted_bies_posts" ON "deleted_bies_posts"."id" = "posts"."deleted_by_id" LEFT OUTER JOIN "incoming_emails" ON "incoming_emails"."post_id" = "posts"."id" LEFT OUTER JOIN "topics" ON "topics"."id" = "posts"."topic_id" AND ("topics"."deleted_at" IS NULL) WHERE "posts"."id" IN (10, 20) AND "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) ORDER BY sort_order","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/fast_pluck.rb:52:in `pluck'\nlib/topic_view.rb:95:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1412,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "post_custom_fields"."post_id", "post_custom_fields"."name", "post_custom_fields"."value" FROM "post_custom_fields" WHERE "post_custom_fields"."post_id" IN (10, 20) AND "post_custom_fields"."name" IN ('notice_type', 'notice_args', 'action_code_who', 'group-timezones', 'has_polls')","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/concerns/has_custom_fields.rb:84:in `custom_fields_for_ids'\nlib/topic_view.rb:95:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1414.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"select sequence from draft_sequences where user_id = 1 and draft_key = 'topic_7'","stack_trace_snippet":"app/models/draft_sequence.rb:29:in `current'\nlib/topic_view.rb:100:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1416.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "watched_words" WHERE "watched_words"."action" = 3 LIMIT 1","stack_trace_snippet":"app/services/word_watcher.rb:14:in `words_for_action_exists?'\nlib/new_post_manager.rb:176:in `queue_enabled?'\nlib/topic_view.rb:103:in `initialize'\napp/controllers/topics_controller.rb:82:in `new'\napp/controllers/topics_controller.rb:82:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1417.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT MAX("posts"."post_number") FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4))","stack_trace_snippet":"lib/topic_view.rb:532:in `highest_post_number'\nlib/topic_view.rb:594:in `current_post_number'\napp/controllers/topics_controller.rb:971:in `track_visit_to_topic'\napp/controllers/topics_controller.rb:145:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1420.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"WITH draft AS (\n SELECT data, sequence\n FROM drafts\n WHERE draft_key = 'topic_7' AND user_id = 1\n),\ndraft_sequence AS (\n SELECT sequence\n FROM draft_sequences\n WHERE draft_key = 'topic_7' AND user_id = 1\n)\nSELECT\n ( SELECT sequence FROM draft_sequence) ,\n ( SELECT data FROM draft ),\n ( SELECT sequence FROM draft )\n","stack_trace_snippet":"app/models/draft.rb:104:in `get'\napp/controllers/topics_controller.rb:148:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1422.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id", "posts"."user_id", "posts"."topic_id", "posts"."post_number", "posts"."raw", "posts"."cooked", "posts"."created_at", "posts"."updated_at", "posts"."reply_to_post_number", "posts"."reply_count", "posts"."quote_count", "posts"."deleted_at", "posts"."off_topic_count", "posts"."like_count", "posts"."incoming_link_count", "posts"."bookmark_count", "posts"."score", "posts"."reads", "posts"."post_type", "posts"."sort_order", "posts"."last_editor_id", "posts"."hidden", "posts"."hidden_reason_id", "posts"."notify_moderators_count", "posts"."spam_count", "posts"."illegal_count", "posts"."inappropriate_count", "posts"."last_version_at", "posts"."user_deleted", "posts"."reply_to_user_id", "posts"."percent_rank", "posts"."notify_user_count", "posts"."like_score", "posts"."deleted_by_id", "posts"."edit_reason", "posts"."word_count", "posts"."version", "posts"."cook_method", "posts"."wiki", "posts"."baked_at", "posts"."baked_version", "posts"."hidden_at", "posts"."self_edits", "posts"."reply_quoted", "posts"."via_email", "posts"."raw_email", "posts"."public_version", "posts"."action_code", "posts"."image_url", "posts"."locked_by_id", "posts"."image_upload_id" FROM "posts" WHERE "posts"."id" IN (10, 20) AND "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) ORDER BY sort_order","stack_trace_snippet":"app/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1423.8,"duration_milliseconds":3.2,"first_fetch_duration_milliseconds":3.2,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users".* FROM "users" WHERE "users"."id" IN (-1, 1)","stack_trace_snippet":"app/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1428,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "incoming_emails".* FROM "incoming_emails" WHERE "incoming_emails"."post_id" IN (10, 20)","stack_trace_snippet":"app/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1431.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."image_url", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" FROM "topics" WHERE ("topics"."deleted_at" IS NULL) AND "topics"."id" = 7","stack_trace_snippet":"app/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1435.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT categories.id FROM "categories" WHERE "categories"."read_restricted" = TRUE","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/user.rb:997:in `secure_category_ids'\nlib/guardian/category_guardian.rb:58:in `secure_category_ids'\napp/models/topic_link.rb:96:in `counts_for'\nlib/topic_view.rb:497:in `link_counts'\napp/serializers/post_serializer.rb:302:in `include_link_counts?'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1438.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT\n l.post_id,\n l.url,\n l.clicks,\n COALESCE(t.title, l.title) AS title,\n l.internal,\n l.reflection,\n l.domain\n FROM topic_links l\n LEFT JOIN topics t ON t.id = l.link_topic_id\n LEFT JOIN categories AS c ON c.id = t.category_id\n WHERE (t.deleted_at IS NULL) AND (COALESCE(t.archetype, 'regular') <> 'private_message') AND (l.post_id in (10,20)) AND (NOT COALESCE(c.read_restricted, false) OR c.id in (3,4))\n ORDER BY reflection ASC, clicks DESC","stack_trace_snippet":"app/models/topic_link.rb:99:in `counts_for'\nlib/topic_view.rb:497:in `link_counts'\napp/serializers/post_serializer.rb:302:in `include_link_counts?'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1440.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topic_users".* FROM "topic_users" WHERE "topic_users"."topic_id" = 7 AND "topic_users"."user_id" = 1 LIMIT 1","stack_trace_snippet":"lib/topic_view.rb:348:in `topic_user'\nlib/topic_view.rb:613:in `read_posts_set'\nlib/topic_view.rb:335:in `read?'\napp/serializers/post_serializer.rb:204:in `read'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1441.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "post_timings"."post_number" FROM "post_timings" WHERE "post_timings"."topic_id" = 7 AND "post_timings"."user_id" = 1 AND "post_timings"."post_number" IN (1, 2)","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/topic_view.rb:618:in `read_posts_set'\nlib/topic_view.rb:335:in `read?'\napp/serializers/post_serializer.rb:204:in `read'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1444.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id", EXTRACT(DAYS FROM CURRENT_TIMESTAMP - created_at)::INT AS days_ago FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) ORDER BY "posts"."sort_order" ASC","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/topic_view.rb:552:in `filtered_post_stream'\nlib/topic_view.rb:557:in `filtered_post_ids'\nlib/topic_view.rb:572:in `unfiltered_post_ids'\nlib/topic_view.rb:437:in `user_post_bookmarks'\napp/serializers/post_serializer.rb:345:in `post_bookmark'\napp/serializers/post_serializer.rb:320:in `include_bookmarked?'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1446.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "bookmarks".* FROM "bookmarks" WHERE "bookmarks"."user_id" = 1 AND "bookmarks"."post_id" IN (10, 20)","stack_trace_snippet":"app/serializers/post_serializer.rb:345:in `post_bookmark'\napp/serializers/post_serializer.rb:320:in `include_bookmarked?'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1448.1,"duration_milliseconds":0.9,"first_fetch_duration_milliseconds":0.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "post_actions".* FROM "post_actions" WHERE ("post_actions"."deleted_at" IS NULL) AND "post_actions"."post_id" IN (10, 20) AND "post_actions"."user_id" = 1","stack_trace_snippet":"app/models/post_action.rb:32:in `counts_for'\nlib/topic_view.rb:429:in `all_post_actions'\napp/serializers/post_serializer.rb:543:in `post_actions'\napp/serializers/post_serializer.rb:236:in `actions'\napp/serializers/post_serializer.rb:253:in `block in actions_summary'\napp/serializers/post_serializer.rb:246:in `each'\napp/serializers/post_serializer.rb:246:in `actions_summary'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1452,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT target_id,\n MAX(r.id) reviewable_id,\n COUNT(*) total,\n SUM(CASE WHEN s.status = 0 THEN 1 ELSE 0 END) pending\nFROM reviewables r\nJOIN reviewable_scores s ON reviewable_id = r.id\nWHERE r.target_id IN (10,20) AND\n r.target_type = 'Post'\nGROUP BY target_id\n","stack_trace_snippet":"lib/topic_view.rb:459:in `reviewable_counts'\napp/serializers/post_serializer.rb:478:in `reviewable_id'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1454.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "calendar_events".* FROM "calendar_events" WHERE "calendar_events"."topic_id" = 7","stack_trace_snippet":"plugins/discourse-calendar/plugin.rb:308:in `block (2 levels) in activate!'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1456.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "post_custom_fields"."name", "post_custom_fields"."value" FROM "post_custom_fields" WHERE "post_custom_fields"."post_id" = 10 ORDER BY id asc","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/concerns/has_custom_fields.rb:278:in `refresh_custom_fields_from_db'\napp/models/concerns/has_custom_fields.rb:178:in `custom_fields'\nplugins/discourse-calendar/plugin.rb:292:in `group_timezones'\nplugins/discourse-calendar/plugin.rb:367:in `block (2 levels) in activate!'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1458.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "post_custom_fields"."name", "post_custom_fields"."value" FROM "post_custom_fields" WHERE "post_custom_fields"."post_id" = 20 ORDER BY id asc","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/concerns/has_custom_fields.rb:278:in `refresh_custom_fields_from_db'\napp/models/concerns/has_custom_fields.rb:178:in `custom_fields'\nplugins/discourse-calendar/plugin.rb:292:in `group_timezones'\nplugins/discourse-calendar/plugin.rb:367:in `block (2 levels) in activate!'\napp/serializers/post_stream_serializer_mixin.rb:54:in `block in posts'\napp/serializers/post_stream_serializer_mixin.rb:47:in `map'\napp/serializers/post_stream_serializer_mixin.rb:47:in `posts'\napp/serializers/post_stream_serializer_mixin.rb:18:in `post_stream'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1460.7,"duration_milliseconds":0.3,"first_fetch_duration_milliseconds":0.3,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"select first_unread_at from user_stats where user_id = 1","stack_trace_snippet":"lib/topic_query.rb:484:in `unread_results'\nlib/topic_query.rb:216:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1463.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id", "topics"."title", "topics"."last_posted_at", "topics"."created_at", "topics"."updated_at", "topics"."views", "topics"."posts_count", "topics"."user_id", "topics"."last_post_user_id", "topics"."reply_count", "topics"."featured_user1_id", "topics"."featured_user2_id", "topics"."featured_user3_id", "topics"."deleted_at", "topics"."highest_post_number", "topics"."image_url", "topics"."like_count", "topics"."incoming_link_count", "topics"."category_id", "topics"."visible", "topics"."moderator_posts_count", "topics"."closed", "topics"."archived", "topics"."bumped_at", "topics"."has_summary", "topics"."archetype", "topics"."featured_user4_id", "topics"."notify_moderators_count", "topics"."spam_count", "topics"."pinned_at", "topics"."score", "topics"."percent_rank", "topics"."subtype", "topics"."slug", "topics"."deleted_by_id", "topics"."participant_count", "topics"."word_count", "topics"."excerpt", "topics"."pinned_globally", "topics"."pinned_until", "topics"."fancy_title", "topics"."highest_staff_post_number", "topics"."featured_link", "topics"."reviewable_score", "topics"."image_upload_id" FROM "topics" LEFT OUTER JOIN topic_users AS tu ON (topics.id = tu.topic_id AND tu.user_id = 1) WHERE (topics.archetype <> 'private_message') AND (topics.deleted_at IS NULL) AND (tu.last_read_post_number < topics.highest_staff_post_number) AND (COALESCE(tu.notification_level, 1) >= 2) AND (topics.updated_at >= '2020-05-21 17:10:13.682543') AND (topics.id NOT IN (7)) AND "topics"."visible" = TRUE ORDER BY CASE WHEN topics.user_id = tu.user_id THEN 1 ELSE 2 END, CASE WHEN topics.category_id = 1 THEN 0 ELSE 1 END, topics.bumped_at DESC LIMIT 5","stack_trace_snippet":"lib/suggested_topics_builder.rb:29:in `add_results'\nlib/topic_query.rb:215:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1464.9,"duration_milliseconds":1.1,"first_fetch_duration_milliseconds":1.1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id" AS t0_r0, "topics"."title" AS t0_r1, "topics"."last_posted_at" AS t0_r2, "topics"."created_at" AS t0_r3, "topics"."updated_at" AS t0_r4, "topics"."views" AS t0_r5, "topics"."posts_count" AS t0_r6, "topics"."user_id" AS t0_r7, "topics"."last_post_user_id" AS t0_r8, "topics"."reply_count" AS t0_r9, "topics"."featured_user1_id" AS t0_r10, "topics"."featured_user2_id" AS t0_r11, "topics"."featured_user3_id" AS t0_r12, "topics"."deleted_at" AS t0_r13, "topics"."highest_post_number" AS t0_r14, "topics"."image_url" AS t0_r15, "topics"."like_count" AS t0_r16, "topics"."incoming_link_count" AS t0_r17, "topics"."category_id" AS t0_r18, "topics"."visible" AS t0_r19, "topics"."moderator_posts_count" AS t0_r20, "topics"."closed" AS t0_r21, "topics"."archived" AS t0_r22, "topics"."bumped_at" AS t0_r23, "topics"."has_summary" AS t0_r24, "topics"."archetype" AS t0_r25, "topics"."featured_user4_id" AS t0_r26, "topics"."notify_moderators_count" AS t0_r27, "topics"."spam_count" AS t0_r28, "topics"."pinned_at" AS t0_r29, "topics"."score" AS t0_r30, "topics"."percent_rank" AS t0_r31, "topics"."subtype" AS t0_r32, "topics"."slug" AS t0_r33, "topics"."deleted_by_id" AS t0_r34, "topics"."participant_count" AS t0_r35, "topics"."word_count" AS t0_r36, "topics"."excerpt" AS t0_r37, "topics"."pinned_globally" AS t0_r38, "topics"."pinned_until" AS t0_r39, "topics"."fancy_title" AS t0_r40, "topics"."highest_staff_post_number" AS t0_r41, "topics"."featured_link" AS t0_r42, "topics"."reviewable_score" AS t0_r43, "topics"."image_upload_id" AS t0_r44, "categories"."id" AS t1_r0, "categories"."name" AS t1_r1, "categories"."color" AS t1_r2, "categories"."topic_id" AS t1_r3, "categories"."topic_count" AS t1_r4, "categories"."created_at" AS t1_r5, "categories"."updated_at" AS t1_r6, "categories"."user_id" AS t1_r7, "categories"."topics_year" AS t1_r8, "categories"."topics_month" AS t1_r9, "categories"."topics_week" AS t1_r10, "categories"."slug" AS t1_r11, "categories"."description" AS t1_r12, "categories"."text_color" AS t1_r13, "categories"."read_restricted" AS t1_r14, "categories"."auto_close_hours" AS t1_r15, "categories"."post_count" AS t1_r16, "categories"."latest_post_id" AS t1_r17, "categories"."latest_topic_id" AS t1_r18, "categories"."position" AS t1_r19, "categories"."parent_category_id" AS t1_r20, "categories"."posts_year" AS t1_r21, "categories"."posts_month" AS t1_r22, "categories"."posts_week" AS t1_r23, "categories"."email_in" AS t1_r24, "categories"."email_in_allow_strangers" AS t1_r25, "categories"."topics_day" AS t1_r26, "categories"."posts_day" AS t1_r27, "categories"."allow_badges" AS t1_r28, "categories"."name_lower" AS t1_r29, "categories"."auto_close_based_on_last_post" AS t1_r30, "categories"."topic_template" AS t1_r31, "categories"."contains_messages" AS t1_r32, "categories"."sort_order" AS t1_r33, "categories"."sort_ascending" AS t1_r34, "categories"."uploaded_logo_id" AS t1_r35, "categories"."uploaded_background_id" AS t1_r36, "categories"."topic_featured_link_allowed" AS t1_r37, "categories"."all_topics_wiki" AS t1_r38, "categories"."show_subcategory_list" AS t1_r39, "categories"."num_featured_topics" AS t1_r40, "categories"."default_view" AS t1_r41, "categories"."subcategory_list_style" AS t1_r42, "categories"."default_top_period" AS t1_r43, "categories"."mailinglist_mirror" AS t1_r44, "categories"."minimum_required_tags" AS t1_r45, "categories"."navigate_to_first_post_after_read" AS t1_r46, "categories"."search_priority" AS t1_r47, "categories"."allow_global_tags" AS t1_r48, "categories"."reviewable_by_group_id" AS t1_r49, "categories"."required_tag_group_id" AS t1_r50, "categories"."min_tags_from_required_group" AS t1_r51, "categories"."read_only_banner" AS t1_r52 FROM "topics" LEFT OUTER JOIN "categories" ON "categories"."id" = "topics"."category_id" LEFT OUTER JOIN topic_users AS tu ON (topics.id = tu.topic_id AND tu.user_id = 1) LEFT JOIN category_users ON category_users.category_id = topics.category_id AND category_users.user_id = 1 WHERE (topics.archetype <> 'private_message') AND (topics.deleted_at IS NULL) AND (topics.created_at >= '2020-05-19 17:55:33.880248') AND (tu.last_read_post_number IS NULL) AND (COALESCE(tu.notification_level, 2) >= 2) AND (COALESCE(tu.notification_level,1) > 0) AND (topics.category_id = -1\n OR COALESCE(category_users.notification_level, 1) <> 0\n OR tu.notification_level > 1) AND (category_users.last_seen_at IS NULL OR topics.created_at > category_users.last_seen_at) AND (topics.id NOT IN (7)) AND "topics"."visible" = TRUE ORDER BY CASE WHEN topics.category_id = 1 THEN 0 ELSE 1 END, topics.bumped_at DESC LIMIT 5","stack_trace_snippet":"lib/suggested_topics_builder.rb:29:in `add_results'\nlib/topic_query.rb:223:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1469,"duration_milliseconds":2,"first_fetch_duration_milliseconds":2,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "categories"."id" FROM "categories" WHERE "categories"."read_restricted" = FALSE","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/guardian/category_guardian.rb:65:in `allowed_category_ids'\nlib/guardian/topic_guardian.rb:166:in `filter_allowed_categories'\nlib/topic_query.rb:836:in `default_results'\nlib/topic_query.rb:461:in `latest_results'\napp/services/random_topic_selector.rb:33:in `backfill'\napp/services/random_topic_selector.rb:76:in `next'\nlib/topic_query.rb:1041:in `random_suggested'\nlib/topic_query.rb:228:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1474.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id" FROM "topics" LEFT OUTER JOIN "categories" ON "categories"."id" = "topics"."category_id" WHERE (topics.archetype <> 'private_message') AND (COALESCE(categories.topic_id, 0) <> topics.id) AND "topics"."visible" = TRUE AND (topics.deleted_at IS NULL) AND (topics.category_id IS NULL or topics.category_id IN (2,1)) AND "topics"."closed" = FALSE AND "topics"."archived" = FALSE AND (topics.created_at > '2019-05-22 17:55:33.888973') ORDER BY RANDOM() LIMIT 3000","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/fast_pluck.rb:52:in `pluck'\napp/services/random_topic_selector.rb:38:in `backfill'\napp/services/random_topic_selector.rb:76:in `next'\nlib/topic_query.rb:1041:in `random_suggested'\nlib/topic_query.rb:228:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1477.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "categories"."sort_order", "categories"."sort_ascending" FROM "categories" WHERE "categories"."id" = 1 LIMIT 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/pluck_first.rb:5:in `pluck_first'\nlib/topic_query.rb:683:in `default_results'\nlib/topic_query.rb:461:in `latest_results'\napp/services/random_topic_selector.rb:33:in `backfill'\napp/services/random_topic_selector.rb:76:in `next'\nlib/topic_query.rb:1042:in `random_suggested'\nlib/topic_query.rb:228:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1481,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id" FROM "topics" LEFT OUTER JOIN "categories" ON "categories"."id" = "topics"."category_id" WHERE (categories.id in (1) AND (\n categories.topic_id <> topics.id OR categories.id = 1\n)\n) AND (topics.archetype <> 'private_message') AND (COALESCE(categories.topic_id, 0) <> topics.id) AND "topics"."visible" = TRUE AND (topics.deleted_at IS NULL) AND "topics"."closed" = FALSE AND "topics"."archived" = FALSE AND (topics.created_at > '2019-05-22 17:55:33.895793') ORDER BY RANDOM() LIMIT 3000","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/fast_pluck.rb:52:in `pluck'\napp/services/random_topic_selector.rb:38:in `backfill'\napp/services/random_topic_selector.rb:76:in `next'\nlib/topic_query.rb:1042:in `random_suggested'\nlib/topic_query.rb:228:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1484.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topics"."id" AS t0_r0, "topics"."title" AS t0_r1, "topics"."last_posted_at" AS t0_r2, "topics"."created_at" AS t0_r3, "topics"."updated_at" AS t0_r4, "topics"."views" AS t0_r5, "topics"."posts_count" AS t0_r6, "topics"."user_id" AS t0_r7, "topics"."last_post_user_id" AS t0_r8, "topics"."reply_count" AS t0_r9, "topics"."featured_user1_id" AS t0_r10, "topics"."featured_user2_id" AS t0_r11, "topics"."featured_user3_id" AS t0_r12, "topics"."deleted_at" AS t0_r13, "topics"."highest_post_number" AS t0_r14, "topics"."image_url" AS t0_r15, "topics"."like_count" AS t0_r16, "topics"."incoming_link_count" AS t0_r17, "topics"."category_id" AS t0_r18, "topics"."visible" AS t0_r19, "topics"."moderator_posts_count" AS t0_r20, "topics"."closed" AS t0_r21, "topics"."archived" AS t0_r22, "topics"."bumped_at" AS t0_r23, "topics"."has_summary" AS t0_r24, "topics"."archetype" AS t0_r25, "topics"."featured_user4_id" AS t0_r26, "topics"."notify_moderators_count" AS t0_r27, "topics"."spam_count" AS t0_r28, "topics"."pinned_at" AS t0_r29, "topics"."score" AS t0_r30, "topics"."percent_rank" AS t0_r31, "topics"."subtype" AS t0_r32, "topics"."slug" AS t0_r33, "topics"."deleted_by_id" AS t0_r34, "topics"."participant_count" AS t0_r35, "topics"."word_count" AS t0_r36, "topics"."excerpt" AS t0_r37, "topics"."pinned_globally" AS t0_r38, "topics"."pinned_until" AS t0_r39, "topics"."fancy_title" AS t0_r40, "topics"."highest_staff_post_number" AS t0_r41, "topics"."featured_link" AS t0_r42, "topics"."reviewable_score" AS t0_r43, "topics"."image_upload_id" AS t0_r44, "categories"."id" AS t1_r0, "categories"."name" AS t1_r1, "categories"."color" AS t1_r2, "categories"."topic_id" AS t1_r3, "categories"."topic_count" AS t1_r4, "categories"."created_at" AS t1_r5, "categories"."updated_at" AS t1_r6, "categories"."user_id" AS t1_r7, "categories"."topics_year" AS t1_r8, "categories"."topics_month" AS t1_r9, "categories"."topics_week" AS t1_r10, "categories"."slug" AS t1_r11, "categories"."description" AS t1_r12, "categories"."text_color" AS t1_r13, "categories"."read_restricted" AS t1_r14, "categories"."auto_close_hours" AS t1_r15, "categories"."post_count" AS t1_r16, "categories"."latest_post_id" AS t1_r17, "categories"."latest_topic_id" AS t1_r18, "categories"."position" AS t1_r19, "categories"."parent_category_id" AS t1_r20, "categories"."posts_year" AS t1_r21, "categories"."posts_month" AS t1_r22, "categories"."posts_week" AS t1_r23, "categories"."email_in" AS t1_r24, "categories"."email_in_allow_strangers" AS t1_r25, "categories"."topics_day" AS t1_r26, "categories"."posts_day" AS t1_r27, "categories"."allow_badges" AS t1_r28, "categories"."name_lower" AS t1_r29, "categories"."auto_close_based_on_last_post" AS t1_r30, "categories"."topic_template" AS t1_r31, "categories"."contains_messages" AS t1_r32, "categories"."sort_order" AS t1_r33, "categories"."sort_ascending" AS t1_r34, "categories"."uploaded_logo_id" AS t1_r35, "categories"."uploaded_background_id" AS t1_r36, "categories"."topic_featured_link_allowed" AS t1_r37, "categories"."all_topics_wiki" AS t1_r38, "categories"."show_subcategory_list" AS t1_r39, "categories"."num_featured_topics" AS t1_r40, "categories"."default_view" AS t1_r41, "categories"."subcategory_list_style" AS t1_r42, "categories"."default_top_period" AS t1_r43, "categories"."mailinglist_mirror" AS t1_r44, "categories"."minimum_required_tags" AS t1_r45, "categories"."navigate_to_first_post_after_read" AS t1_r46, "categories"."search_priority" AS t1_r47, "categories"."allow_global_tags" AS t1_r48, "categories"."reviewable_by_group_id" AS t1_r49, "categories"."required_tag_group_id" AS t1_r50, "categories"."min_tags_from_required_group" AS t1_r51, "categories"."read_only_banner" AS t1_r52 FROM "topics" LEFT OUTER JOIN "categories" ON "categories"."id" = "topics"."category_id" LEFT OUTER JOIN topic_users AS tu ON (topics.id = tu.topic_id AND tu.user_id = 1) LEFT JOIN category_users ON category_users.category_id = topics.category_id AND category_users.user_id = 1 WHERE (topics.archetype <> 'private_message') AND (topics.deleted_at IS NULL) AND "topics"."closed" = FALSE AND "topics"."archived" = FALSE AND (topics.id NOT IN (7,1,3,2)) AND (topics.category_id = -1\n OR COALESCE(category_users.notification_level, 1) <> 0\n OR tu.notification_level > 1) AND "topics"."id" IN (7, 12) AND (topics.id NOT IN (7)) AND "topics"."visible" = TRUE ORDER BY CASE WHEN topics.category_id = 1 THEN 0 ELSE 1 END LIMIT 5","stack_trace_snippet":"lib/suggested_topics_builder.rb:29:in `add_results'\nlib/topic_query.rb:228:in `list_suggested_for'\nlib/topic_view.rb:512:in `suggested_topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1488.1,"duration_milliseconds":1.9,"first_fetch_duration_milliseconds":1.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topic_users".* FROM "topic_users" WHERE "topic_users"."topic_id" = 12 AND "topic_users"."user_id" = 1","stack_trace_snippet":"app/models/topic_user.rb:96:in `create_lookup'\napp/models/topic_user.rb:92:in `lookup_for'\napp/models/topic_list.rb:85:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1492.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "category_users".* FROM "category_users" WHERE "category_users"."category_id" = 2 AND "category_users"."user_id" = 1","stack_trace_snippet":"app/models/category_user.rb:226:in `each_with_object'\napp/models/category_user.rb:226:in `create_lookup'\napp/models/category_user.rb:222:in `lookup_for'\napp/models/topic_list.rb:86:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1494.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users"."id", "user_emails"."email", "users"."username", "users"."name", "users"."uploaded_avatar_id" FROM "users" INNER JOIN "user_emails" ON "user_emails"."user_id" = "users"."id" WHERE "users"."id" = 1","stack_trace_snippet":"lib/avatar_lookup.rb:29:in `user_lookup_hash'\nlib/avatar_lookup.rb:21:in `users'\nlib/avatar_lookup.rb:11:in `[]'\napp/models/topic_posters_summary.rb:87:in `block in top_posters'\napp/models/topic_posters_summary.rb:87:in `map'\napp/models/topic_posters_summary.rb:87:in `top_posters'\napp/models/topic_posters_summary.rb:83:in `sorted_top_posters'\napp/models/topic_posters_summary.rb:25:in `summary'\napp/models/topic.rb:1060:in `posters_summary'\napp/models/topic_list.rb:124:in `block in load_topics'\napp/models/topic_list.rb:116:in `each'\napp/models/topic_list.rb:116:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1497.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users"."id", "users"."primary_group_id" FROM "users" WHERE "users"."id" = 1 AND "users"."primary_group_id" IS NOT NULL","stack_trace_snippet":"lib/primary_group_lookup.rb:29:in `map'\nlib/primary_group_lookup.rb:29:in `user_lookup_hash'\nlib/primary_group_lookup.rb:20:in `users'\nlib/primary_group_lookup.rb:10:in `[]'\napp/models/topic_posters_summary.rb:34:in `new_topic_poster_for'\napp/models/topic_posters_summary.rb:25:in `map'\napp/models/topic_posters_summary.rb:25:in `summary'\napp/models/topic.rb:1060:in `posters_summary'\napp/models/topic_list.rb:124:in `block in load_topics'\napp/models/topic_list.rb:116:in `each'\napp/models/topic_list.rb:116:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1499.6,"duration_milliseconds":0.4,"first_fetch_duration_milliseconds":0.4,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "groups"."id", "groups"."name", "groups"."flair_url", "groups"."flair_bg_color", "groups"."flair_color" FROM "groups" WHERE 1=0","stack_trace_snippet":"lib/primary_group_lookup.rb:33:in `user_lookup_hash'\nlib/primary_group_lookup.rb:20:in `users'\nlib/primary_group_lookup.rb:10:in `[]'\napp/models/topic_posters_summary.rb:34:in `new_topic_poster_for'\napp/models/topic_posters_summary.rb:25:in `map'\napp/models/topic_posters_summary.rb:25:in `summary'\napp/models/topic.rb:1060:in `posters_summary'\napp/models/topic_list.rb:124:in `block in load_topics'\napp/models/topic_list.rb:116:in `each'\napp/models/topic_list.rb:116:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1502.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topic_custom_fields"."topic_id", "topic_custom_fields"."name", "topic_custom_fields"."value" FROM "topic_custom_fields" WHERE (topic_id in (12)) AND (name in ('TopicEventStartsAt'))","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\napp/models/concerns/has_custom_fields.rb:125:in `preload_custom_fields'\napp/models/topic_list.rb:134:in `load_topics'\napp/models/topic_list.rb:78:in `topics'\napp/serializers/suggested_topics_mixin.rb:14:in `include_suggested_topics?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1504.3,"duration_milliseconds":0.7,"first_fetch_duration_milliseconds":0.7,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "posts"."id" FROM "posts" WHERE "posts"."topic_id" = 7 AND (posts.user_id = 1 OR post_type IN (1,2,3,4)) AND "posts"."post_number" = 2 LIMIT 1","stack_trace_snippet":"lib/freedom_patches/fast_pluck.rb:41:in `select_raw'\nlib/freedom_patches/fast_pluck.rb:61:in `pluck'\nlib/freedom_patches/pluck_first.rb:5:in `pluck_first'\nlib/topic_view.rb:578:in `filtered_post_id'\napp/serializers/topic_view_serializer.rb:147:in `last_read_post_id'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1506.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "topic_embeds" WHERE ("topic_embeds"."deleted_at" IS NULL) AND "topic_embeds"."topic_id" = 7 LIMIT 1","stack_trace_snippet":"app/models/topic.rb:1315:in `has_topic_embed?'\napp/models/topic.rb:1319:in `expandable_first_post?'\napp/serializers/topic_view_serializer.rb:186:in `include_expandable_first_post?'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1510.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "bookmarks" WHERE "bookmarks"."topic_id" = 7 AND "bookmarks"."user_id" = 1 LIMIT 1","stack_trace_snippet":"lib/topic_view.rb:354:in `has_bookmarks?'\napp/serializers/topic_view_serializer.rb:190:in `bookmarked'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1513.2,"duration_milliseconds":0.8,"first_fetch_duration_milliseconds":0.8,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topic_timers".* FROM "topic_timers" WHERE ("topic_timers"."deleted_at" IS NULL) AND "topic_timers"."topic_id" = 7 AND "topic_timers"."deleted_at" IS NULL AND "topic_timers"."public_type" = TRUE LIMIT 1","stack_trace_snippet":"app/models/topic.rb:1211:in `public_topic_timer'\napp/serializers/topic_view_serializer.rb:202:in `topic_timer'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1517.1,"duration_milliseconds":0.9,"first_fetch_duration_milliseconds":0.9,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "topic_timers".* FROM "topic_timers" WHERE ("topic_timers"."deleted_at" IS NULL) AND "topic_timers"."topic_id" = 7 AND "topic_timers"."deleted_at" IS NULL AND "topic_timers"."public_type" = FALSE AND "topic_timers"."user_id" = 1 LIMIT 1","stack_trace_snippet":"app/models/topic.rb:1215:in `private_topic_timer'\napp/serializers/topic_view_serializer.rb:210:in `private_topic_timer'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1519.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":" SELECT user_id, count(*) AS count_all\n FROM posts\n WHERE id in (10,20)\n AND user_id IS NOT NULL\nGROUP BY user_id\nORDER BY count_all DESC\n LIMIT 24\n","stack_trace_snippet":"lib/topic_view.rb:382:in `post_counts_by_user'\nlib/topic_view.rb:416:in `participants'\nlib/topic_view.rb:395:in `participant_count'\napp/serializers/topic_view_serializer.rb:239:in `participant_count'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1522,"duration_milliseconds":1,"first_fetch_duration_milliseconds":1,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "groups"."id", "groups"."name", "groups"."created_at", "groups"."updated_at", "groups"."automatic", "groups"."user_count", "groups"."automatic_membership_email_domains", "groups"."primary_group", "groups"."title", "groups"."grant_trust_level", "groups"."incoming_email", "groups"."has_messages", "groups"."flair_url", "groups"."flair_bg_color", "groups"."flair_color", "groups"."bio_raw", "groups"."bio_cooked", "groups"."allow_membership_requests", "groups"."full_name", "groups"."default_notification_level", "groups"."visibility_level", "groups"."public_exit", "groups"."public_admission", "groups"."membership_request_template", "groups"."messageable_level", "groups"."mentionable_level", "groups"."publish_read_state", "groups"."members_visibility_level" FROM "groups" INNER JOIN "topic_allowed_groups" ON "groups"."id" = "topic_allowed_groups"."group_id" WHERE "topic_allowed_groups"."topic_id" = 7","stack_trace_snippet":"lib/topic_view.rb:110:in `show_read_indicator?'\napp/serializers/topic_view_serializer.rb:265:in `show_read_indicator'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1525.4,"duration_milliseconds":32.6,"first_fetch_duration_milliseconds":32.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT 1 AS one FROM "categories" WHERE "categories"."topic_id" = 7 LIMIT 1","stack_trace_snippet":"app/models/topic.rb:1511:in `is_category_topic?'\nlib/guardian/topic_guardian.rb:125:in `can_delete_topic?'\nlib/guardian.rb:538:in `public_send'\nlib/guardian.rb:538:in `can_do?'\nlib/guardian.rb:160:in `can_delete?'\napp/serializers/topic_view_details_serializer.rb:98:in `include_can_delete?'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1560.5,"duration_milliseconds":0.5,"first_fetch_duration_milliseconds":0.5,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users".* FROM "users" WHERE "users"."id" = -1 LIMIT 1","stack_trace_snippet":"app/serializers/topic_view_details_serializer.rb:53:in `created_by'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1564.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1","stack_trace_snippet":"app/serializers/topic_view_details_serializer.rb:57:in `last_poster'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1567.4,"duration_milliseconds":0.6,"first_fetch_duration_milliseconds":0.6,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false},{"execute_type":3,"formatted_command_string":"SELECT ftl.url,\n COALESCE(ft.title, ftl.title) AS title,\n ftl.link_topic_id,\n ftl.reflection,\n ftl.internal,\n ftl.domain,\n MIN(ftl.user_id) AS user_id,\n SUM(clicks) AS clicks\nFROM topic_links AS ftl\nLEFT JOIN topics AS ft ON ftl.link_topic_id = ft.id\nLEFT JOIN categories AS c ON c.id = ft.category_id\nWHERE (ftl.topic_id = 7) AND (ft.deleted_at IS NULL) AND (NOT(ftl.url ILIKE '%.png' OR ftl.url ILIKE '%.jpg' OR ftl.url ILIKE '%.gif')) AND (COALESCE(ft.archetype, 'regular') <> 'private_message') AND (clicks > 0) AND (NOT COALESCE(c.read_restricted, false) OR c.id in (3,4))\nGROUP BY ftl.url, ft.title, ftl.title, ftl.link_topic_id, ftl.reflection, ftl.internal, ftl.domain\nORDER BY clicks DESC, count(*) DESC\nLIMIT 50\n","stack_trace_snippet":"app/models/topic_link.rb:68:in `topic_map'\nlib/topic_view.rb:433:in `links'\napp/serializers/topic_view_details_serializer.rb:49:in `include_links?'\nlib/freedom_patches/ams_include_without_root.rb:57:in `include!'\napp/controllers/topics_controller.rb:1019:in `block (2 levels) in perform_show_response'\napp/controllers/topics_controller.rb:1014:in `perform_show_response'\napp/controllers/topics_controller.rb:165:in `show'\nlib/middleware/omniauth_bypass_middleware.rb:68:in `call'\nlib/content_security_policy/middleware.rb:12:in `call'\nconfig/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":1569.8,"duration_milliseconds":1.2,"first_fetch_duration_milliseconds":1.2,"parameters":null,"parent_timing_id":"8l2sytie97hpa5oi4cph","is_duplicate":false}],"sql_timings_duration_milliseconds":1006.3,"is_trivial":false,"is_root":false,"depth":1,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{"Logster log":{"count":91,"duration":59.01869990339037}},"custom_timings":{"Logster log":[{"type":"Logster log","start_milliseconds":102.41900000663009,"duration_milliseconds":2.5809999933699146,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":105.82620000082534,"duration_milliseconds":0.17379999917466193,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1013.6463999996195,"duration_milliseconds":0.3536000003805384,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1015.1990999988047,"duration_milliseconds":0.8009000011952594,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1021.777200006065,"duration_milliseconds":0.22279999393504113,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1024.1934999998193,"duration_milliseconds":0.8065000001806766,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1027.272999993991,"duration_milliseconds":0.7270000060088933,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1030.2780000029597,"duration_milliseconds":0.7219999970402569,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1033.1659999941476,"duration_milliseconds":0.8340000058524311,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1036.4451999955345,"duration_milliseconds":0.5548000044655055,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1039.2345999926329,"duration_milliseconds":0.7654000073671341,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1042.7036999993725,"duration_milliseconds":0.29630000062752515,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1045.0966000041226,"duration_milliseconds":0.9033999958774075,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1048.115200000233,"duration_milliseconds":0.8847999997669831,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1051.7548000101233,"duration_milliseconds":0.24519998987670988,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1054.2321000027005,"duration_milliseconds":0.7678999972995371,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1056.2082999960985,"duration_milliseconds":0.7917000039014965,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1059.276300004567,"duration_milliseconds":0.7236999954329804,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1062.3572999956086,"duration_milliseconds":0.6427000043913722,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1064.4377000111854,"duration_milliseconds":0.5622999888146296,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1067.2177999956766,"duration_milliseconds":0.7822000043233857,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1070.1417999990517,"duration_milliseconds":0.8582000009482726,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1073.2728000070201,"duration_milliseconds":0.7271999929798767,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1076.1668000002392,"duration_milliseconds":0.8331999997608364,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1084.4464999908814,"duration_milliseconds":0.5535000091185793,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1087.5704000029946,"duration_milliseconds":0.4295999970054254,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1090.263499994413,"duration_milliseconds":0.7365000055870041,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1092.1786000027787,"duration_milliseconds":0.821399997221306,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1094.4688000006136,"duration_milliseconds":0.5311999993864447,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1097.532999994699,"duration_milliseconds":0.4670000053010881,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1099.2638999974588,"duration_milliseconds":0.7361000025412068,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1102.3017000088003,"duration_milliseconds":0.6982999911997467,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1104.431000003824,"duration_milliseconds":0.5689999961759895,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1107.170299997786,"duration_milliseconds":0.82970000221394,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1109.4914999988396,"duration_milliseconds":0.5085000011604279,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1112.7992999997223,"duration_milliseconds":0.2007000002777204,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1114.4117000023834,"duration_milliseconds":0.5882999976165593,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1388.6739999915008,"duration_milliseconds":0.3260000084992498,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1390.6980999965454,"duration_milliseconds":1.301900003454648,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1396.3961000000127,"duration_milliseconds":0.603899999987334,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1399.0667000092799,"duration_milliseconds":0.9332999907201156,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1401.8048999987077,"duration_milliseconds":0.1951000012923032,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1404.2702000017744,"duration_milliseconds":0.7297999982256442,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1408.4038000004366,"duration_milliseconds":0.596199999563396,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1410.5362000045134,"duration_milliseconds":0.46379999548662454,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1413.4117000023834,"duration_milliseconds":0.5882999976165593,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1415.2760000022827,"duration_milliseconds":0.7239999977173284,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1418.4369000050938,"duration_milliseconds":0.5630999949062243,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1420.3955999962054,"duration_milliseconds":0.6044000037945807,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1426.6424999990268,"duration_milliseconds":0.3575000009732321,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1429.439599996549,"duration_milliseconds":0.5604000034509227,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1432.1008000069996,"duration_milliseconds":0.8991999930003658,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1436.348800003645,"duration_milliseconds":0.6511999963549897,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1439.3650000105845,"duration_milliseconds":0.6349999894155189,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1442.487399996724,"duration_milliseconds":0.5126000032760203,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1444.6155999979237,"duration_milliseconds":0.38440000207629055,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1447.0184000052977,"duration_milliseconds":0.9815999947022647,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1449.3350000004284,"duration_milliseconds":0.6649999995715916,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1452.369299999671,"duration_milliseconds":0.6307000003289431,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1456.5659999985946,"duration_milliseconds":0.43400000140536577,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1459.4164999952773,"duration_milliseconds":0.5835000047227368,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1461.4529000105103,"duration_milliseconds":0.5470999894896522,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1466.2770999961067,"duration_milliseconds":0.7229000038933009,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1471.379000000772,"duration_milliseconds":0.6209999992279336,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1475.5254999957979,"duration_milliseconds":0.47450000420212746,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1477.4929999957094,"duration_milliseconds":0.5070000042906031,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1482.5377000013832,"duration_milliseconds":0.4622999986167997,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1485.4293000054313,"duration_milliseconds":0.570699994568713,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1490.3534000095678,"duration_milliseconds":0.6465999904321507,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1492.4600000063656,"duration_milliseconds":0.5399999936344102,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1495.5689999923343,"duration_milliseconds":0.4310000076657161,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1498.2828000104055,"duration_milliseconds":0.7171999895945191,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1500.4463000039104,"duration_milliseconds":0.5536999960895628,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1503.351899998146,"duration_milliseconds":0.6481000018538907,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1505.8250000062399,"duration_milliseconds":0.17499999376013875,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1507.4174000021303,"duration_milliseconds":0.5825999978696927,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1508.6112999942852,"duration_milliseconds":0.3887000057147816,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1511.230700006592,"duration_milliseconds":0.7692999934079126,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1514.4166999968002,"duration_milliseconds":0.5833000031998381,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1515.4803000008687,"duration_milliseconds":0.5196999991312623,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1518.4544000073802,"duration_milliseconds":0.5455999926198274,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1520.3633000121918,"duration_milliseconds":0.6366999878082424,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1523.4222999957856,"duration_milliseconds":0.5777000042144209,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1558.0390000020852,"duration_milliseconds":0.9609999979147688,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1561.2490000004182,"duration_milliseconds":0.7509999995818362,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1562.2700000002515,"duration_milliseconds":0.7299999997485429,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1565.1750000044703,"duration_milliseconds":0.8249999955296516,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1568.3300000060117,"duration_milliseconds":0.6699999939883128,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1572.3114999961108,"duration_milliseconds":0.6885000038892031,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":1576.3126000044867,"duration_milliseconds":0.6873999955132604,"parent_timing_id":"8l2sytie97hpa5oi4cph"},{"type":"Logster log","start_milliseconds":2559.6702000023797,"duration_milliseconds":1.3297999976202846,"parent_timing_id":"8l2sytie97hpa5oi4cph"}]}}],"has_children":true,"key_values":null,"has_sql_timings":true,"has_duplicate_sql_timings":false,"trivial_duration_threshold_milliseconds":2,"sql_timings":[{"execute_type":3,"formatted_command_string":"SELECT 1","stack_trace_snippet":"config/initializers/100-quiet_logger.rb:18:in `call'\nconfig/initializers/100-silence_logger.rb:31:in `call'\nlib/middleware/missing_avatars.rb:23:in `call'\nlib/middleware/turbo_dev.rb:34:in `call'\n","start_milliseconds":21.8,"duration_milliseconds":0.2,"first_fetch_duration_milliseconds":0.2,"parameters":null,"parent_timing_id":"wkej919guiiu0aq7y85x","is_duplicate":false}],"sql_timings_duration_milliseconds":0.2,"is_trivial":false,"is_root":true,"depth":0,"executed_readers":0,"executed_scalars":0,"executed_non_queries":0,"custom_timing_stats":{"Logster log":{"count":1,"duration":0.8065000001806766}},"custom_timings":{"Logster log":[{"type":"Logster log","start_milliseconds":0.19349999981932342,"duration_milliseconds":0.8065000001806766,"parent_timing_id":"wkej919guiiu0aq7y85x"}]}}} diff --git a/website/sample.rb b/website/sample.rb new file mode 100644 index 00000000..b659cf92 --- /dev/null +++ b/website/sample.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +require 'rack-mini-profiler' +require 'sinatra' +require 'sinatra/base' + +class Sample < Sinatra::Base + use Rack::MiniProfiler + + @@data = JSON.parse(File.read(File.expand_path("data.json", __dir__)), symbolize_names: true) + @@page_struct = Rack::MiniProfiler::TimerStruct::Page.allocate + @@page_struct.instance_variable_set(:@attributes, @@data) + @@patched = false + + get '/' do + storage_instance = Rack::MiniProfiler.config.storage_instance + storage_instance.instance_variable_set(:@timer_struct_cache, {}) + storage_instance.instance_variable_set(:@user_view_cache, {}) + storage_instance.save(@@page_struct) + patch_mini_profiler(@@page_struct) unless @@patched + help = <<~TEXT + To the left of this page there should be 2 speed badges. + The first one (with small load time) represents metrics for this particular page. + The other one (with ~2.5 seconds load time) is taken from a real application (Discourse), + modified so that it has as many UI elements as possible and always included with this page + to make easier for you to test your JavaScript and CSS changes. Refreshing this page should + be enough to see any changes you make to files in the lib/html directory. + TEXT + body = <<~HTML + + + + +
+

Rack Mini Profiler

+

#{help.split("\n").join(' ')}

+
+ + + HTML + body.dup + end + + def patch_mini_profiler(page) + Rack::MiniProfiler.send(:define_method, :cache_control_value) do |*args| + 0 + end + + Rack::MiniProfiler.send(:alias_method, :ids_original, :ids) + Rack::MiniProfiler.send(:define_method, :ids) do |*args, &blk| + s = self.send(:ids_original, *args, &blk) + s << page[:id] + s + end + @@patched = true + end +end From d37b34a8014dd6e67894ef9e0dd509468cc144a2 Mon Sep 17 00:00:00 2001 From: OsamaSayegh Date: Fri, 22 May 2020 23:58:23 +0300 Subject: [PATCH 2/3] Add a note about the new rake task --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 8e7c97ce..9ffb180e 100644 --- a/README.md +++ b/README.md @@ -407,6 +407,16 @@ if JSON.const_defined?(:Pure) end ``` +## Development + +If you want to contribute to this project, that's great, thank you! You can run the following rake task: + +``` +$ bundle exec rake client_dev +``` + +which will start a local Sinatra server at `http://localhost:9292` where you'll be able to preview your changes. Refreshing the page should be enough to see any changes you make to files in the `lib/html` directory.A + ## Running the Specs ``` From 64aa2ebba18b1d056a35f83abcbd62b4c1d54064 Mon Sep 17 00:00:00 2001 From: OsamaSayegh Date: Fri, 22 May 2020 23:59:29 +0300 Subject: [PATCH 3/3] Remove character --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ffb180e..c0fb6f05 100644 --- a/README.md +++ b/README.md @@ -415,7 +415,7 @@ If you want to contribute to this project, that's great, thank you! You can run $ bundle exec rake client_dev ``` -which will start a local Sinatra server at `http://localhost:9292` where you'll be able to preview your changes. Refreshing the page should be enough to see any changes you make to files in the `lib/html` directory.A +which will start a local Sinatra server at `http://localhost:9292` where you'll be able to preview your changes. Refreshing the page should be enough to see any changes you make to files in the `lib/html` directory. ## Running the Specs