{"record":{"id":"c6e8e8445eec4a55","repo":"discourse/discourse","slug":"discourse-notfound-c6e8e8","errorCode":null,"errorMessage":"Discourse::NotFound","messagePattern":"Discourse::NotFound","errorType":"exception","errorClass":"Discourse::NotFound","httpStatus":404,"severity":"error","filePath":"app/controllers/admin/site_settings_controller.rb","lineNumber":72,"sourceCode":"      on_failed_policy(:settings_are_not_deprecated) do |policy|\n        raise Discourse::InvalidParameters, policy.reason\n      end\n      on_failed_policy(:settings_are_visible) do |policy|\n        raise Discourse::InvalidParameters, policy.reason\n      end\n      on_failed_policy(:settings_are_unshadowed_globally) do |policy|\n        raise Discourse::InvalidParameters, policy.reason\n      end\n      on_failed_policy(:settings_are_configurable) do |policy|\n        raise Discourse::InvalidParameters, policy.reason\n      end\n    end\n  end\n\n  def user_count\n    params.require(:site_setting_id)\n    id = params[:site_setting_id]\n    raise Discourse::NotFound unless id.start_with?(\"default_\")\n    raise Discourse::NotFound unless SiteSetting.has_setting?(id)\n    new_value = value_or_default(params[id])\n\n    raise_access_hidden_setting(id)\n    previous_value = value_or_default(SiteSetting.public_send(id))\n    json = {}\n\n    if (user_option = SiteSettingUpdateExistingUsers.user_options[id.to_sym]).present?\n      if user_option == \"text_size_key\"\n        previous_value = UserOption.text_sizes[previous_value.to_sym]\n      elsif user_option == \"title_count_mode_key\"\n        previous_value = UserOption.title_count_modes[previous_value.to_sym]\n      end\n\n      json[:user_count] = UserOption.human_users.where(user_option => previous_value).count\n    elsif id.start_with?(\"default_categories_\")\n      previous_category_ids = previous_value.split(\"|\")\n      new_category_ids = new_value.split(\"|\")","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/discourse/discourse/blob/1b2d7253e854205d2c95c80b2c6a1cdd42e45059/app/controllers/admin/site_settings_controller.rb#L54-L90","documentation":"Error \"Discourse::NotFound\" thrown in discourse/discourse.","triggerScenarios":"Thrown at app/controllers/admin/site_settings_controller.rb:72 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1b2d7253e854205d2c95c80b2c6a1cdd42e45059","analyzedAt":"2026-08-26T03:11:08.302Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}