核心复现
GET /topics/private-messages/ashley.json?page=0&per_page=20
观察到的现象
TypeError: String can't be coerced into Integer
lib/topic_query/private_message_lists.rb:277
原因
offset = options[:page].to_i * options[:per_page]
MCP 的 list.ts 始终构建如下参数:
new URLSearchParams({
page: String(page),
per_page: String(per_page),
});
预期修复方案
在上游请求中省略不支持的 per_page 参数,或者协调在 Discourse 核心中实现有界的整数强制转换修复。