Devvit 版本:@devvit/public-api ^0.14.0(Node 24 运行时)

我做了什么

在两个wiki版本下,分别使用reddit.updateWikiPage() / reddit.createWikiPage()写入相同的Markdown内容到相同的wiki页面路径:

内容

来自本周的megathread:https://www.reddit.com/r/subreddit/comments/id/

22 个问题没有回复:

  • https://www.reddit.com/r/subreddit/comments/id/subject/id2/
  • https://www.reddit.com/r/subreddit/comments/id3/subject/id4/
    ...

期望

两个版本都渲染#标题和-列表项作为Markdown,和人类直接在wiki编辑器中输入的内容一样。

实际

v1(在old.reddit.com中查看):渲染正确,真实的h1标题,真实的列表,每个URL都自动链接。

v2(在新Reddit/www.reddit.com中查看):渲染为一块平坦的普通文本。#和-标记显示为字面字符,而不是解析为Markdown,并且URL也没有自动链接。相同的内容,相同的写入调用形状,只是wikiVersion换成了:

  • old Reddit(v1):正确的标题+列表项+可点击链接
  • new Reddit(v2):"# 未回答的问题 从本周的问题megathread:... 22 个问题没有回复: - https://... - https://... - https://..."所有内容都合并成一个未格式化的文本

另外,在新Reddit wiki编辑模式下,为v2页面,内容在textarea中不像正常的可选/复制文本那样行为,无法在编辑框中选取和复制,就像在old.reddit.com编辑器中一样。

影响

任何使用Devvit API写入结构化wiki内容(标题,列表,链接)的应用程序,如果目标wikiVersion是“v2”,在新Reddit上都会得到不可用的,未格式化的输出,即使内容在v1下是正确渲染的。这使得v2 wiki页面在这个问题得到解决之前,对于任何事务性之外的内容都是不可用的,降低了迁移指南中建议将应用程序迁移到v2的可行性。

复现

  1. 在v2注册的子版块上调用reddit.updateWikiPage({ subredditName, page, content: "# Heading\n\n- item one\n- item two", wikiVersion: "v2" })。
  2. 在www.reddit.com/r//wiki/中查看页面。
  3. 与相同的调用与wikiVersion:“v1”,在old.reddit.com/r//wiki/中查看的页面进行比较。