【问题标题】:Kaizala Web is crashing due to accessing an undefined variableKaizala Web 由于访问未定义的变量而崩溃
【发布时间】:2020-09-15 14:31:29
【问题描述】:

我们采用 Kaizala 作为员工与客户保持联系的一种方式。 Kaizala 本身安装在每个员工拥有的平板电脑上,他们主要使用 Kaizala 的 Web 应用程序进行通信。 大约 1 个月后,今天一名员工的网络应用程序一直失败。这意味着在提供位置、电话号码和耦合代码后,Web 应用程序会简要显示聊天和群组列表,然后变为白色。这仅适用于该用户在所有主要浏览器上发生。

在 DevTools 中有这个输出

webcommon.js?v=1.1.20.0713.173537:164 TypeError: Cannot read property 'convId' of undefined
    at Function.mapToProps (webapp.js?v=1.1.20.0713.173537:47)
    at r (webcommon.js?v=1.1.20.0713.173537:1)
    at Function.r.mapToProps (webcommon.js?v=1.1.20.0713.173537:1)
    at r (webcommon.js?v=1.1.20.0713.173537:1)
    at webcommon.js?v=1.1.20.0713.173537:1
    at Object.run (webcommon.js?v=1.1.20.0713.173537:1)
    at a.initSelector (webcommon.js?v=1.1.20.0713.173537:1)
    at new Connect(t) (webcommon.js?v=1.1.20.0713.173537:1)
    at constructClassInstance (webcommon.js?v=1.1.20.0713.173537:164)
    at beginWork (webcommon.js?v=1.1.20.0713.173537:164)

我追踪到这个位置(漂亮打印,在 webapp.js 中),上面提到的错误发生在第 3 行。

    t.ConversationItemContainer = i.connect((function(e, t) {
        var n = e.conversationsState.allConversations[t.convId]
        , i = e.conversationsState.allConversationsMetadata[t.convId]
        , r = e.conversationsState.selectedConversation === n.convId
        , a = t.conversationItemIndex
        , l = t.conversationListSize
        , u = o.conversationsSelectors.getAccessPolicyResult(e, n.convId)
        , p = c.groupManagerSelectors.getTenantData(e, n.tenantId);

在那里,t.convIdundefined,但设置了其他属性。

有人知道问题的根源是什么吗?

[更新] 在 Chrome 的 DevTools 中使用断点,我可以看到,这是一致的

var n = e.conversationsState.allConversations[t.convId]

t.convId 的值是undefined,导致行

r = e.conversationsState.selectedConversation === n.convId

抛出提到的 TypeError,事实上,nundefined

【问题讨论】:

  • 请详细说明

标签: kaizala


【解决方案1】:

我认为我只是靠运气解决了这个问题。在一名员工(有问题)所在的所有组中,至少还有另一名员工。其他员工没有这些问题,所以我猜,崩溃的网络应用程序的问题不是来自组,但来自一对一的对话。 让有问题的员工删除所有一对一的对话,从而解决了问题。现在我们只能猜测,也许在其中一个对话中只有一条消息被删除。也许随着那条消息的删除(作为对话中唯一的一条),整个对话都被删除了,但没有完全删除。这至少是我能猜到的,因为t.convId 是未定义的。

【讨论】:

    猜你喜欢
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    相关资源
    最近更新 更多