创建新私信时草稿未保存

创建消息并保存为草稿时,该消息不会出现在“草稿”中。

复现步骤:

  • 打开“消息”
  • 点击 :email: “新建消息”
  • 输入一些内容
  • 点击如下视频所示的小 :downwards_button: 图标。
  • 开始撰写新消息
  • 此时应弹出一条通知,显示:
    “您确定要删除此消息吗?”
  • 点击“不,保存草稿”
  • 进入草稿部分。但草稿并未出现。

尽管在已经创建新消息的过程中再次尝试创建新消息的行为看起来有些奇怪,但草稿功能难道不应该正常工作吗?


1 个赞

你能复现这个问题吗 @tshenry

4 个赞

我可以,但我认为这可能是预期的行为。据我所知,如果草稿不满足站点设置中的最小帖子长度(默认为20个字符)要求,它将无法保存。

在我看来,如果草稿少于20个字符,即使用户需要从头开始,通常也不是什么严重问题。我认为我们唯一可以改进的地方是,不要让用户误以为草稿会被保存。

8 个赞

我尝试创建一个新主题,内容只有 5 个字符,但它却被保存为草稿了。

2 个赞

确实如此。感谢跟进,这促使我深入挖掘。看来问题可能与时机有关。

  • 如果仅在私信标题栏输入“你好”后停止,草稿会被保存::white_check_mark:
  • 如果仅在私信文本框中输入“你好”后停止,草稿会被保存::white_check_mark:

  • 如果先在私信标题栏输入“你好”,然后立即在文本框中输入“你好”,草稿不会被保存::cross_mark:
  • 如果先在私信文本框中输入“你好”,然后立即在标题栏中输入“你好”,草稿不会被保存::cross_mark:

在撰写主题时,上述所有场景似乎都能正常工作。

5 个赞

我试了这两种情况,确实如你所说。不过,如果输入另一个长度为 19 个字符的短语,弹出消息仍然会出现,当你点击“保存草稿”时,草稿并未被保存。正如你所指出的,通知应该稍作改进,以免会员误以为他们的草稿会被保存。也许,如果字符数少于 20,根本不应该弹出该消息。感谢你的关注!:slightly_smiling_face:

2 个赞

看起来是 bug 吧,@sam

1 个赞

嗯,是个小问题,不会导致任何重要数据丢失

我会把它加入我的清单

5 个赞

这应该通过以下方式修复:

https://github.com/discourse/discourse/commit/0853208d67090d4ce2a9ebec07839bfa564c16e5

描述:

当前草稿保存流程如下:

  • 如果仅存在标题(无回复),则保存草稿
  • 如果仅存在回复(无标题),则保存草稿
  • 如果标题和回复都存在,且回复长度小于 min_post_length,同时标题长度小于 min_topic_title_length,则保存草稿
  • 如果标题和回复都存在,且回复长度小于 min_post_length,则草稿不会被保存(那么为什么上述情况会被保存呢?:thinking:

当前的草稿保存条件复杂难懂,容易引起困惑。

此提交更新了该流程:只要标题或回复(或两者)存在,且其中至少一项满足所需的长度要求,即保存草稿。

感谢 @Thomas_G 报告此问题,也感谢 @tshenry 的进一步研究。:+1:

6 个赞