运行iOS 12.5的iPad上的聊天问题

喜欢这个插件。做得很好。

我发现 Discourse Chat 在运行 iOS 12.5 的 iPad 上存在一个问题。我知道 Discourse 将在 1 月份停止支持此版本,但鉴于它目前仍处于“支持”状态,我想报告一下。

该问题表现为 UI 问题,但似乎比这更深层。

UI 问题

文本输入区域不够高。这使得在区域中放置光标非常困难。

看这里……

放大……

可用性问题

另一个可能相关的问题是,即使您将光标放在该区域,它也不会显示聊天消息已被阅读。屏幕顶部的蓝色/绿色已读指示器即使您访问过聊天频道也一直存在。这显然使得聊天难以使用,因为您无法引起某人对消息的注意,因为指示器始终亮着。

不一致性

这些问题大多数时候都会出现,但我偶尔见过文本输入区域看起来正常,并且将光标放在其中可以清除已读指示器的情况。

我找不到这种不一致性的规律,但它可能与个人聊天和频道之间的差异有关——但这可能是一个烟雾弹(双关语)。

这个问题对我来说之所以如此严重,是因为这个 Discourse 实例是在学校由 10-12 名用户使用的,他们都配备了 iPad。我曾要求升级这些设备,但它们很旧,最高只支持 iOS ~12.5。我被告知我们还得用一段时间——这肯定会在一月份之后给我带来麻烦。

谢谢!

1 个赞

虽然我看到这已被移至用户体验讨论类别而不是 bug,但我想强调这不仅仅是一个用户界面/外观问题。

正如我在上面提到的,即使访问了频道并将光标放在文本输入区域,聊天通知指示器也不会清除。

这就像没有触发 focus 或类似事件一样。

谢谢!

iOS 12.5 的支持将于一月结束。Discourse 3.0 是最后一个支持它的版本,之后用户将只能看到只读视图。

由于聊天目前是一个插件,我不确定在这么老的设备上为仅仅 3-4 个月的时间投入多少精力来支持聊天。也许团队中的某个人可以评论一下。

感谢您的回复,@Stephen

是的,我能理解——我在开篇帖子中也提到了它们即将停止支持。我其实是想了解一个正式的立场,以便我能做些计划。

我也想知道这涉及到什么。我可以想象支持这样一个旧平台可能太困难了,但如果只是一个简单的修复,我很希望看到它被实现。如果符合我有限的技能范围,我也很乐意提供帮助。

有几点评论。

当您说“只有 3-4 个月”时,我会建议(即使可能不理想)可以固定 Discourse 和聊天插件到特定版本,然后“愉快地”运行更长时间。

显然,我需要考虑不接受安全更新的影响,但英国学校的预算非常紧张,在明年 7 月之前升级 iPad 几乎是不可能的。

再次感谢您分享您的想法。

tl;dr 我创建了一个主题组件,似乎可以解决这个问题,但希望对使用的 CSS / 方法进行验证。

更新

关于此事的更新。我创建了一个简单的主题组件,我将在明天进行在线测试,但它似乎可以让 Discourse Chat 在 iOS 12.5 上正常工作。

感谢 BrowserStack 的好人们,他们通过他们的开源计划慷慨地提供了对运行 12.x 的基于云的 iPad 的调试访问。

虽然这个解决方案似乎可行,但我非常希望有真正 CSS 知识的人能进行审查,因为我只是通过猜测和谷歌搜索才走到这一步。

发生了什么?

我提到这个问题似乎有些“随机”。事实证明,聊天输入框的大小与聊天消息容器 div 中可滚动文本(不仅仅是可见文本)的整个高度成反比。

因此,如果某个频道中的消息不多,聊天输入框的高度看起来很正常。随着频道中出现更多消息,聊天输入框的高度会缩小。

额外问题

除了收缩的 textarea 问题外,我还注意到“返回频道”按钮(箭头/小于号)的对齐方式有些偏差。

解决方案?

对于“返回频道”按钮,以下 CSS 将其重新对齐……

div.topic-chat-float-container .chat-drawer .topic-chat-drawer-header {
    align-items: center;
}

看……

使用 BrowserStack,我能够定位收缩的聊天输入框容器 div。我发现如果我应用此 CSS……

.chat-composer-container {
    flex-shrink: 0;
}

……它将保持聊天输入框容器的高度,无论聊天内容的大小如何。

像这样……

我很乐意为我的 iPad 12.5 用户维护主题组件,但只想知道这种 CSS 方法是否有效/最佳/危险。

谢谢!

2 个赞

很棒!

我无法立即对此发表评论,但我已将其列入我的待办事项,以便更广泛地讨论您提出的问题,以便我们能在此处更清晰地回复。可能还需要一两周的时间才能对此做出更明确的答复。

2 个赞

我总体的担忧是,这从长远来看是不可行的

一旦我们在 1 月份停止对核心的支持,JS 可能会开始出现故障,而这无法在主题组件中修复。

2 个赞

是的,这很有道理。

对我来说,这将是一个权宜之计,直到下一个预算年度,届时学校希望能为我的用户提供更强大的 iPad。

事实上,如果 Discourse Chat 没有受到我们用户的欢迎,我早就忽略它了,但它在我们自动化的一些流程中起到了完美的作用。

我希望在明年一月份将 Chat 和 Discourse 的工作提交 ID 固定在 app.yml 中,然后设法勉强完成。

2 个赞

感谢您提供背景信息。是的,这确实有道理。我希望支持这些设备能更容易些,或者苹果能独立于 iOS 升级浏览器。

Android 没有这个问题……这真是个“苹果问题”。

2 个赞