discourse/discourse · error · Discourse::InvalidParameters

:notification_level_id

Error message

:notification_level_id

What it means

Error ":notification_level_id" thrown in discourse/discourse.

Source

Thrown at lib/topics_bulk_action.rb:228

    topics.each do |t|
      next if t.private_message? != from_pm
      next unless guardian.can_convert_topic?(t)

      yield TopicConverter.new(t, @user, silent: silent)

      if t.errors.any?
        t.errors.full_messages.each { |msg| @errors[msg] += 1 }
      elsif t.reload.private_message? != from_pm
        @changed_ids << t.id
      end
    end
  end

  def change_notification_level
    notification_level_id = @operation[:notification_level_id]

    raise Discourse::InvalidParameters.new(:notification_level_id) if notification_level_id.blank?

    topics.each do |t|
      if guardian.can_see?(t)
        TopicUser.change(@user, t.id, notification_level: notification_level_id.to_i)
        @changed_ids << t.id
      end
    end
  end

  def close
    topics.each do |t|
      if guardian.can_moderate?(t)
        t.update_status(
          "closed",
          true,
          @user,
          { message: @operation[:message], silent_tracking: @operation[:silent] },
        )

View on GitHub (pinned to 1b2d7253e8)

When it happens

Trigger: Thrown at lib/topics_bulk_action.rb:228 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of discourse/discourse@1b2d7253e8 (2026-08-26). Data as JSON: /api/errors/b42a849c06eadb4a. Report an issue: GitHub.