当用户关注的公共频道超过 100 个时,已加星标的聊天频道会消失
关注了超过 100 个公共分类聊天频道的用户,在重新加载 Discourse 后无法可靠地看到所有已加星标的频道。
我验证了以下内容:
- /chat/api/me/channels 仅返回 100 个已关注的公共频道。
- 返回的频道按字母顺序排列。
- 位于前 100 个频道之外的频道未出现在侧边栏和“已加星标”部分中。
- 直接获取该频道确认其状态为开放,且 following=true 和 starred=true。
- 关注少于 100 个公共频道的用户能正常看到相同的已加星标频道。
后端在按字母顺序排列后应用了 MAX_PUBLIC_CHANNEL_RESULTS = 100:
前端似乎通过过滤已经截断的通用频道集合来派生 starredChannels:
在引入字母顺序排列更改后,此问题变得一致且明显:
预期行为:无论其在公共频道结果中的位置如何,所有已加入和已加星标的频道都应显示在“已加星标”中。 可能的修复方案是独立加载已加星标的频道,或对所有已关注的公共频道进行分页处理。
感谢报告 @ARK-Helena
这个边界情况确实有点极端,所以我把苹果“一分为二”,支持独立获取星标频道和普通频道,但每种“类型”仍然保留 100 个的上限。
哇 @zogstrip 那速度快得惊人
我想知道,如果用户加入了超过 100 个(任意类型的)聊天室,他们还能在侧边栏中加载所有聊天室吗?侧边栏是否有某种分页机制,或者至少有一个提示表明列表已被截断?非常感谢!
没有,这就是我为什么说我把苹果切成两半的原因,因为添加分页机制会耗费更多的精力。而且,处于这种非常规状态的用户非常罕见,所以在投入精力去实现之前,我们必须等待更多的“用户报告”。