# 使用旧版导航时无法读取某些通知

**URL:** https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511
**Category:** Bug
**Created:** [2023年三月8日 16:57 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511 "2023-03-08T16:57:44Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [2023年三月8日 16:57 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/1 "2023-03-08T16:57:45Z")

</div>

在一种场景下，用户会收到无法标记为已读的消息通知。这种情况仅发生在论坛使用旧版菜单导航时。

重现步骤：

- 将“导航菜单”设置为：旧版
- 用户 A 向用户 B 发送私信
- 用户 A 将 B 从话题中移除
- 用户 B 收到新消息的通知
- 用户 B 尝试阅读消息：失败，符合预期（无法访问该话题）
- 用户 B 仍然会收到一条关于他们无法阅读的消息的通知（绿圈）

如果将“导航菜单”设置为侧边栏，那么即使 B 收到无法查看消息的相同错误，该尝试本身也足以将通知标记为已读。

一些补充背景：由于我们仍在使用 Discourse 2.8（即将更新），我们长期以来一直遇到此 bug。我们曾以为 Discourse 3.0 会修复此问题，但前提是使用新的侧边栏/用户菜单。在 Discourse 3.0 中使用旧版导航时，bug 仍然存在：如果用户无法再阅读他们收到通知的话题，他们就无法将通知标记为已读。新的用户菜单似乎以某种方式解决了这个问题，但我们计划在升级到 3.0 后至少在一段时间内继续使用旧版导航。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年三月9日 01:35 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/2 "2023-03-09T01:35:58Z")

</div>

我认为这里有一个变通方法，您不能从 `https://meta.discourse.org/my/notifications` 清除通知吗？使用“全部忽略”……

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [2023年三月9日 08:45 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/3 "2023-03-09T08:45:48Z")

</div>

恐怕不是：在此场景下，该页面的“全部清除”按钮是禁用的，即使绿圈通知仍然存在，也无法清除。这是 3.0.1 版本。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023年三月9日 12:00 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/4 "2023-03-09T12:00:37Z")

</div>

看起来和 [Removing another user from a conversation creates an unclearable notification](https://meta.discourse.org/t/removing-another-user-from-a-conversation-creates-an-unclearable-notification/257415?u=canapin) 一样，对吗？

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [2023年三月9日 13:20 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/5 "2023-03-09T13:20:46Z")

</div>

是的，这似乎是它的重复：同样的问题。 ~~可以关闭/删除此项。~~ 另一个主题已因重复此主题而关闭。

> [@mentalstring](#):
>
> 恐怕不是：在该页面上，即使绿圈通知仍然存在，_全部忽略_按钮在此场景下也是禁用的。

需要明确的是，这可能只发生在唯一缺失的通知是无法标记为已读的通知时。如果有多个通知，这可能会起作用（尚未测试），但那样也会忽略其他通知。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2023年三月9日 22:58 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/11 "2023-03-09T22:58:10Z")

</div>

> [@mentalstring](#):
>
> 如果有多个，这可能有效（未经测试），

让我们来测试一下这个变通方法。

我不确定我想在遗留模式上投入多少工程资源，最终它可能会被淘汰。

变通方法是：

- Mod… @提及用户
- 用户前往用户个人资料中的通知并清除所有通知。

你能测试一下吗？

---

<div class="post-metadata">

### Author: ![mentalstring](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mentalstring/32/168934_2.png) [@mentalstring](https://meta.discourse.org/u/mentalstring)
#### Post date: [2023年三月10日 15:23 UTC](https://meta.discourse.org/t/impossible-to-read-some-notifications-when-using-legacy-navigation/257511/12 "2023-03-10T15:23:08Z")

</div>

我已经过测试，并确认“关闭”按钮可以清除不可读的通知。

话虽如此，我们可能会让已经感到沮丧的用户感到困惑，因为他们可能会在点击“关闭”按钮之前点击通知（提及），原因可能是他们还没有阅读我们关于为什么会被提及的说明，或者只是因为他们需要一些指导。

嗯，至少有一个变通方法：一些用户已经积累了不少这些通知，他们会很高兴能够重置它们。我们将在明天升级到 3.0 版本，之后我们会尝试帮助他们。
