Huccct 14c6028f43 feat(chat): 群聊桌面端 + 会话右栏统一 + 会话恢复修复 пре 1 дан
..
README.md 14c6028f43 feat(chat): 群聊桌面端 + 会话右栏统一 + 会话恢复修复 пре 1 дан
fmodeagent-chatthreads.id 0f14056a06 fix(session): 会话目录单向同步 + 渲染预览修复 + 多端 UI 收敛 пре 6 дана
fmodeagent-chatthreads.js 14c6028f43 feat(chat): 群聊桌面端 + 会话右栏统一 + 会话恢复修复 пре 1 дан

README.md

云函数源码(随项目版本化)

平台把云函数存在 Parse 库的 Function 表(objectId 即前端调用的函数 id)。 本目录保存源码副本,便于 code review 与回滚;发布方式见下。

已发布

文件 Function.objectId name path version
fmodeagent-chatthreads.js oR5O67i1Cm fmodeagent-chatthreads /fmodeagent/chatthreads 0.1.6(与线上一致,2026-11-06 对齐)

v0.1.6 说明(2026-11-06) 群会话需要在会话目录里区分出来,靠两个字段:kind(dm/group)与 memberIds(成员容器 id)。 这两个字段此前只存在于线上,工作区源码仍停在 v0.1.5 —— 直接部署工作区这份会把线上功能回退掉。 本次已补齐 opUpsert 写入与 opList 返回,并用本地仿真验证 8 项语义(含「不带 kind 的后续 upsert 不得把群降级成单聊」)。 部署前务必先校验:node scripts/verify-cloud-fn.mjs(对比线上返回的字段集)。

v0.1.4:工作区归属 workspaceId('' = 日常对话)。

发布 / 热更

# 新建(objectId 自动生成)
curl -X POST https://server.fmode.cn/parse/classes/Function \
  -H "X-Parse-Application-Id: ncloudmaster" -H "X-Parse-Master-Key: <MK>" \
  -H "Content-Type: application/json" -d '{"name":"...","code":"...","enabled":true,...}'

# 热更(免重启)
curl -X PUT https://server.fmode.cn/parse/classes/Function/<objectId> \
  -H "X-Parse-Application-Id: ncloudmaster" -H "X-Parse-Master-Key: <MK>" \
  -H "Content-Type: application/json" -d '{"code":"..."}'

函数体约定(从现有函数反推,实测)

  • 入口:async function handler(request, response);入参在全局 params。
  • 身份:request.user 由平台按 X-Parse-Session-Token 解析后注入。
  • 🔴 输出必须 response.status(200).json(...) 显式写出;直接 return 对象 平台不回包(请求挂起)。
  • token 只能放 X-Parse-Session-Token 请求头;放 body 的 token 字段会被平台鉴权层直接 401。