Hi,
我正在测试由子版块菜单项创建的Devvit Web交互式帖子。应用程序在自动生成的私人测试子版块上成功构建、上传和安装,但点击菜单项从未创建帖子。
环境
- Devvit CLI: 0.14.1
- u/devvit
/web: 0.14.1 - Node.js: 24.19.0
- macOS x64
- Hono 服务器
- 应用程序:
fugitif-piece17 - 测试版本:
v0.0.1.3
配置
{
"post": {
"dir": "dist/client",
"entrypoints": {
"default": {
"entry": "index.html",
"height": "tall"
}
}
},
"server": {
"dir": "dist/server",
"entry": "index.cjs"
},
"permissions": {
"reddit": true
},
"menu": {
"items": [
{
"label": "Créer — Pièce 17",
"description": "Créer le mouve exécutable Pièce 17",
"forUserType": "moderator",
"location": "subreddit",
"endpoint": "/internal/menu/post-create"
}
]
}
}
服务器端点
app.post('/internal/menu/post-create', async (c) => {
const _input = await c.req.json<MenuItemRequest>();
if (!context.subredditName) {
return c.json<UiResponse>({
showToast: 'Subreddit not found in Devvit context.'
});
}
const post = await reddit.submitCustomPost({
subredditName: context.subredditName,
title: 'Pièce 17 — Synthèse des éléments versés au dossier',
entry: 'default'
});
return c.json<UiResponse>({
showToast: `Post created: ${post.id}`
});
});
重现步骤
- 运行
npm run dev。 - Devvit 报告
Updating... Success!和Playtest ready。 - 打开并刷新生成的私人测试子版块。
- 选择管理菜单项
Créer — Pièce 17。 - 没有帖子或弹出窗口出现。
- 终端报告:
​
Failed to POST to Node.js server endpoint /internal/menu/post-create;
server responded with error: fetch failed
Fatal Unhandled Promise rejected:
TypeError: Cannot use 'in' operator to search for 'message' in
Failed to POST to Node.js server endpoint /internal/menu/post-create;
server responded with error: fetch failed
at serverErrorToStatus (/srv/index.cjs:18139:28)
at respond (/srv/index.cjs:20215:65)
已进行的检查
- 将本地 Node.js 升级到 24.19.0。
- 重新安装依赖项
npm ci。 - 确认构建和两次自动测试都通过。
- 简化 Reddit 权限从
{ "enable": true }到true。 - 移除可选的
textFallback。 - 从不包含空格或特殊字符的文件系统路径重新测试。
- 上传了一个新的测试版本,每次相关的更改后。
错误仍然相同。该调用似乎遵循当前的 submitCustomPost() 文档。
这是当前平台问题影响 submitCustomPost() 在测试中,还是需要为新初始化的应用程序添加权限/配置步骤?
评论 (0)