Discourse_list_private_messages always causes Discourse HTTP 500 by sending per_page

Core reproduction

GET /topics/private-messages/ashley.json?page=0&per_page=20

Observed

TypeError: String can't be coerced into Integer
lib/topic_query/private_message_lists.rb:277

Cause

offset = options[:page].to_i * options[:per_page]

The MCP’s list.ts always constructs:

new URLSearchParams({
  page: String(page),
  per_page: String(per_page),
});

Expected fix

Omit unsupported per_page from the upstream request, or coordinate a bounded integer-coercion fix in Discourse core.