Plots2: 隐藏对已发送垃圾邮件或尚未审核的评论的回复

创建于 2020-12-15  ·  23评论  ·  资料来源: publiclab/plots2

对评论的回复似乎没有过滤垃圾邮件。 我们应该看到这条消息:

“你确定吗? 用户将无法再登录或发布,他们的内容将被隐藏,除了评论。” 好像错了

发生这种情况的例子: https :

看到这条评论的回复:

image

相反,它应该有一条这样的消息,它适用于常规评论(回复帖子的评论,而不是其他评论:

image

问题

(这可能现在已经解决了……让我们编写一个测试来确认并修复测试中可能出现的任何故障):

对评论的回复不会过滤掉垃圾评论。 我们在几个地方使用这个replied_comments方法,所以我们可能需要多次修复这个问题。

https://github.com/publiclab/plots2/search?q=replied_comments

我们不能在定义中这样做,因为它实际上是一个 ActiveRecord 关系,而不是我们可以添加过滤器的自定义方法: https :

我们应该过滤掉status = 0的定义中, comment.replied_comments ,也为status = 4显示上述消息。

然后,我们应该编写一些基本的测试:

https://github.com/publiclab/plots2/blob/876d0fc084064aaecc23f8003630d7d1ab858fa1/test/functional/comment_controller_test.rb#L57 -L61

Ruby help wanted testing

最有用的评论

@17sushmita是的,当然,请继续,将不胜感激!

所有23条评论

这似乎在我的驾驶室里! 当我觉得自己的工作超前时,我可以将其分解为子问题。

我正在本地测试它以将其分解为 ftos,看起来问题已经解决。 有人也可以确认他们的情况也是如此...... @noi5e也许你在你的项目中的某个地方解决了它..

@cesswairimu嗯!! 我觉得是别人做的😅

@cesswairimu如果我不明白,有人可以为此编写一个测试吗? 这对于 FTO 来说有点太复杂了,但我认为编写测试可以教会申请人很多东西。 也许我们不应该在编写测试之前关闭这个问题

@noi5e我同意,我会将其更新为更多的测试编写问题。 谢谢

嗯,我不确定——也许测试可以先来确认它是否真的修复了?

因为我们只能根据使用情况进行过滤,而不是在has_many定义中,所以似乎,我没有看到.where.not(status: 0)上的这些:

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comments.html.erb#L8

https://github.com/publiclab/plots2/blob/401874455490c6300270ef54490fe9452e0ca522/app/views/questions/show.html.erb#L69

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comment.html.erb#L162

你怎么认为?

谢谢,所有!!! 💯

啊,我猜在那些includes()上,它必须被命名,所以也许... .where('comments.status != 0')

是的,我认为这是正确的,请参阅此处的用法:

https://github.com/publiclab/plots2/blob/672d63ab11c2159e28d2cc502c47a3b3c83730b9/app/models/node.rb#L1114

@jywarren @cesswairimu @noi5e我可以为此编写测试吗?

@17sushmita是的,当然,请继续,将不胜感激!

对评论的回复似乎没有过滤垃圾邮件。 我们应该看到这条消息:

“你确定吗? 用户将无法再登录或发布,他们的内容将被隐藏,除了评论。” 好像错了

@jywarren说这条消息似乎有误是什么意思? 当版主试图将评论标记为垃圾邮件时,它不应该显示吗? 请提供更多背景信息。

@17sushmita我也有点困惑。 我想也许杰弗里的意思是文本在下图中显示为黄色,而不是Moderate first-time comment ? 如果是这样,那似乎是错误的。

102243313-05b48f80-3ec9-11eb-919a-d2dd39d84c45

在我们等待澄清的同时,您仍然可以继续编写测试。 我只是想在这里发布一些可能有用的建议。

首先,您可以将垃圾邮件/首次发布评论插入到测试数据库中,作为对另一条评论的回复

nodes(node_name).add_comment({
  uid: user_id,
  body: comment_text
  reply_to: parent_comment_id
  status: 0 # comment status: 0 for banned, 4 for first-time poster (a moderator has to approve the comment)
})

然后从那里编写测试的其余部分,确保我们用来检索评论的方法没有收到状态为 0 或 4 的评论回复。

类似的东西! 你可能需要做一些研究。 如果您遇到困难,请务必在此处发表评论,或者需要一些指示来查看代码库中的位置。 我们是来帮忙的!

@noi5e ,非常感谢您的帮助😃️!! 我还需要澄清一点。 我是否需要为评论回复测试创建一个新文件或在/plots2/test/functional/admin_controller_test.rb/plots2/test/system/spam2_test.rb/plots2/test/functional/comment_controller_test.rb或还有其他文件吗?

@17sushmita我不是 100% 肯定,但我在想/test/functional/comment_controller_test.rb 。 我想到的另一个地方是评论的单元测试。 来自其他人的想法?

与此同时,在我们等待其他人权衡的同时,请随时开始处理这个问题。

@17sushmita我不是 100% 肯定,但我在想/test/functional/comment_controller_test.rb 。 我想到的另一个地方是评论的单元测试。 来自其他人的想法?

与此同时,在我们等待其他人权衡的同时,请随时开始处理这个问题。

谢谢,我开始编写测试,但我观察到的一件事是,即使将评论标记为垃圾邮件,它也会显示出来,并且根据软件,它是正确的,因为在将其标记为垃圾邮件时,它会生成@jywarren提到的除了评论。” 但是,显示垃圾邮件标记的评论真的合适吗?🤔️

显示垃圾邮件标记的评论真的合适吗?🤔️

我不这么认为!

你提到的这段文字很有趣:

“你确定吗?用户将无法再登录或发布,他们的内容将被隐藏,除了评论。

这让我想到,也许在过去,我们没有审核评论。 我认为那段文字已经过时了。

无论如何,我想我们都同意我们绝对应该过滤所有评论! 所以我们可以避免@jywarren最初提到的垃圾邮件机器人。

我刚刚在本地测试了这个,在我看来这似乎还没有解决。 我们目前不过滤垃圾邮件或首次审核的评论回复......请记住,常规评论(不是其他评论的回复)正在被过滤,因此这仅适用于回复。 (我测试了不是回复的评论,这些评论正在被审核)

将进一步分解这一点。 在本地,我创建了一个新帐户,并在笔记上发表了评论。 这是我发表评论时看到的。 到现在为止还挺好:

Screen Shot 2021-03-22 at 11 39 30 AM

作为用户,_“等待社区版主批准”_ 消息让我认为我的评论不会公开显示。

但是,评论确实会公开出现! 当我在退出站点的隐身窗口中访问相同的注释时,该评论与用户 _cisco_ 所看到的完全一样:

Screen Shot 2021-03-22 at 11 43 21 AM

禁止用户 _cisco_ 似乎也没有太大改变。 _“待批准”_ 消息消失,但仍可从隐身窗口查看评论:

Screen Shot 2021-03-22 at 11 46 06 AM

所以是的,这肯定需要改变。

@17sushmita继续努力吧!

此外,如果您还没有找到它,我们已经在/test/fixtures/users.yml创建了一个被禁止的 _spammer_ 用户

@noi5e这是一个非常清楚的解释。 我也在我的本地系统上进行了非常相似的测试,结果是一样的,这让我这么认为。 因此,我将首先删除垃圾评论,然后为它编写测试是否已修复。

顺便说一句,评论回复目前似乎没有出现在管理员的垃圾邮件审核仪表板中:

Screen Shot 2021-03-22 at 11 40 21 AM

如果用户 cisco 发表评论回复,它不会让他们出现在活动用户中:

Screen Shot 2021-03-22 at 11 40 35 AM

#9257 中提到的 Outreachy 垃圾邮件审核项目的潜在问题?

感谢@17sushmita@noi5e如此彻底地@noi5e是完全正确的——我们只需要更简单的“中等首次评论”消息。

过滤垃圾邮件或首次审核的评论回复

和尚未解决的重要问题。

非常感谢你们的帮助,你们俩。 🎉

我会在新项目描述中记录垃圾邮件仪表板问题!!!

@jywarren @noi5e ,很抱歉再次

是的,目前被禁用户的状态不会影响他们的可见性
注释。 谢谢!

2021 年 3 月 24 日,星期三,上​​午 8:17 Sushmita @* > 写道:

@jywarren https://github.com/jywarren @noi5e
https://github.com/noi5e ,抱歉又问了,但我还有一个
困惑。 我们是否应该显示不是垃圾邮件但用户是垃圾邮件的评论
禁止? 遇到这种情况怎么办?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/publiclab/plots2/issues/8854#issuecomment-805774370
或取消订阅
https://github.com/notifications/unsubscribe-auth/AAAF6J4WSMFWF64K72GXR5TTFHJ6NANCNFSM4U4TWDIQ
.

顺便说一句,评论回复目前似乎没有出现在管理员的垃圾邮件审核仪表板中:

Screen Shot 2021-03-22 at 11 40 21 AM

如果用户 cisco 发表评论回复,它不会让他们出现在活动用户中:

Screen Shot 2021-03-22 at 11 40 35 AM

#9257 中提到的 Outreachy 垃圾邮件审核项目的潜在问题?

@noi5e我无法在本地重现评论回复问题。 我以新用户身份登录,发表评论回复,注销然后以管理员身份登录,然后我将评论回复标记为垃圾邮件。 我去了垃圾邮件审核页面,我在评论下找到了评论回复。

image

image

有什么我想念的吗?

@TildaDares ,我相信这个问题已在#9381 中得到解决

谢谢@jcads

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

divyabaid16 picture divyabaid16  ·  3评论

keshavsethi picture keshavsethi  ·  3评论

RuthNjeri picture RuthNjeri  ·  3评论

keshavsethi picture keshavsethi  ·  3评论

first-timers[bot] picture first-timers[bot]  ·  3评论