问题标签 [chatkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
193 浏览

reactjs - React - 可在整个组件中访问的对象

所以我正在尝试使用 chatkit,他们有我们使用的连接功能。

但是我正在尝试获取 currentuser 对象,因此我可以在其他功能中使用它。但是,对象始终未定义,函数也未定义。

我正在使用这个 sdk https://docs.pusher.com/chatkit/reference/javascript

我尝试了const userthis.user

0 投票
1 回答
1256 浏览

vue.js - Pusher ChatKit - 房间和房间订阅 - 如何检测新消息

最近我在我的 Vue 项目中实现了Pusher ChatKit 。

我已经查看了js 文档,但我对启动应用程序的流程感到困惑,因此我有新消息的活跃侦听器。

我有 5 个房间,这currentUser是其中的一部分。

当我做

我得到了当前用户,我可以访问他的roomsroomSubscriptions.

1)有什么区别?用户所在的任何房间也应该是他订阅的房间,不是吗?

文档说我需要订阅每个用户房间才能设置onNewMessage()挂钩。

所以我这样做了:

2)但是现在当我只收到一个房间的新消息时,每个房间钩子都会触发钩子(5次)。

现在,一旦我完成了订阅循环,我下次运行时就不需要这样做了,chatManager.connect()因为即使在调用currentUser.roomSubscriptions之前,我上次订阅的房间已经填满了。this.initiateNewChatState()

3)这引出了一个问题,订阅用户已经属于的用户房间的正确流程是什么,以及如何检测新消息和新房间创建(当有人开始与你聊天时)?

文档确实被简化了,并且对于现实生活中的案例是不可实现的。有人有这方面的经验吗?

谢谢!

0 投票
4 回答
774 浏览

android - ChatKit 库:传入图像的边距错误

我在我的应用程序中使用ChatKit库 ( https://github.com/stfalcon-studio/ChatKit/ ) 作为聊天功能。在图书馆提供的消息列表中,我还包括了图片消息。

它工作正常,但气泡的图像布局不明确,如下图:

在此处输入图像描述

气泡图 1 和 3 应该在右侧对齐,但它们在传入消息的可用空间中粘在左侧。

请注意,默认文本消息气泡在右侧正确显示。

我没有在库中找到任何用于配置此行为的布局属性。

这是我的消息列表 XML:

我收到的短信布局布局:

输出布局:

输出的MessageHolder:

有任何想法吗 ?

0 投票
0 回答
248 浏览

vue.js - Vue 中的 Pusher Chatkit - onNewMessage 钩子触发了两次?

我有一个使用 Pusher Chatkit 的 Vue.js 应用程序。

我有一个问题,我已经有一段时间找不到答案了。每当我重新访问onNewMessage()视图/组件时,都会多次触发Chatkit挂钩。这取决于我重新访问该页面的时间。

页面刷新或首次加载可以解决问题,直到下次重新访问。

一定是我每次访问视图时都创建了多个侦听器,但我不明白这些侦听器是什么。

Pusher 表示房间订阅在完成两次后会“覆盖”旧的订阅。

这是我的 chat.vue 组件

这是我的 chatkit.js 内容:

同样,问题是onNewMessage()在页面刷新/首次加载后第一次触发,但随后随着每次新页面访问(来回导航)增加一个。

我在每次访问时都创建了一些听众,但它不能是 ChatManager 而不是 User.subscribeToRoom!?

感谢您的任何指示。

0 投票
0 回答
310 浏览

javascript - Pusher/Chatkit:路径中的 InstanceID 和访问令牌不匹配

什么?

我目前正在使用 chatkit 构建一个反应本机应用程序,但是身份验证似乎失败并不断返回以下消息:Instance ID in the path and the access token don't match

我使用 Laravel 作为后端并有以下路线: Route::post('/chatkit-auth-user', 'API\MessagesController@authenticateChatkitUser');

在此方法中,我根据用户 ID 对用户进行身份验证,如下所示:

生成令牌,然后显然将其传递给 TokenProvider 实例,如下所示:

currentUser永远不会得到安慰,并且总是返回带有标题中消息的 403。从文档中,我认为我已经正确实现了所有内容,我什至用https://github.com/pusher/chatkit-server-node扩展了一个heroku应用程序,同样的问题仍然存在。我花了几天时间试图弄清楚这一点,如果我做错了什么,如果我能得到一些指导,我将不胜感激!

0 投票
1 回答
1086 浏览

reactjs - 在登录和注销时启动单独的 redux-saga

我正在学习 Redux-Saga,当他们登录并在注销时断开他们的连接时,我在理解将人们连接到聊天服务(Pusher 的 Chatkit)的正确流程时遇到了一些麻烦。

到目前为止,我有一个等待 LOGIN_REQUEST 操作的“auth”传奇,使用 axios 登录到 REST api,然后通过调用 USER_SET 操作将用户名和令牌存储在商店中。

我的问题是,当登录发生并存储凭据时,我应该放置一个名为 CHAT_CONNECT 的新操作,它会启动另一个传奇以连接到 Chatkit,还是应该让聊天传奇收听 LOGIN_SUCCESS 被触发和采取行动?这两种方法是否有任何实际差异。

作为一个额外的问题,使用 Redux Sagas 从 Chatkit 接收和处理新的 websocket 消息的最佳方式是什么?这是用于连接和接收来自聊天工具包的事件的样板代码。

0 投票
0 回答
430 浏览

android - 如何在 Android 的 ChatKit 库中创建额外的消息布局?

我正在尝试Interactive Console为其中一个 Android 应用程序实现一个。我正在为此使用ChatKit。除了现有的消息布局,我想使用自定义消息类型、布局和视图持有者。

这就是我所做的。

这是CardListViewHolder.kt文件

但是,现在这不是加载现有的 text MessageHolders/Layouts。我想使用现有的消息单元类型以及这种额外的 Carousal 类型的消息布局。

我在这里做错了吗?为什么其他现有内容类型不起作用?

0 投票
1 回答
253 浏览

javascript - 做出反应。聊天工具 API。MessageList 组件错误 - 呈现来自其他房间的消息。组件生命周期和状态

我使用 React 构建的 Chatkit 应用程序遇到了一些奇怪的活动。本质上,我是在不同房间对两个不同的用户进行测试。当我从一个房间的用户发送消息时。其他用户可以看到该消息,尽管他们不在同一个房间。这是正在发生的事情的屏幕截图。

只有当用户至少在同一个房间里出现过一次时,才会出现这种情况。

越野车聊天

我可以判断消息正在正确创建,因为我在 ChatKit API 的正确位置看到了它们。此外,如果我重新渲染组件,消息最终会出现在正确的位置。但是跨房间消息传递错误仍然存​​在。

更正聊天

我的印象是它肯定与 MessageList 组件的状态有关。我确保每次进入新房间时都会更新组件状态,但我想真正的问题是应用程序的其他实例是否甚至关心不同实例的组件状态变化。

所以事不宜迟,这是我的代码:

ChatScreen(主应用程序)

消息列表(组件)

RoomList(组件)

这是渲染 ChatScreen 的组件 (ChannelsContainer)

请让我知道你们的想法。

0 投票
1 回答
463 浏览

chatkit - TypeError:this.state.currentUser.isTypingIn 不是函数

我正在使用 React 和 Chat Kit 构建一个聊天应用程序,但是当我尝试实现我的实时指示器时会出现上述错误。我采取了以下步骤:

我创建了一个无状态组件TypingIndicator.js

然后,我将上面的无状态组件连接到ChatScreen.js 一个容器组件,该组件管理我的应用程序状态并使用演示组件(通常是无状态组件)呈现 UI

0 投票
1 回答
165 浏览

swift - 连接到 Pusher ChatKit [Swift]

我正在尝试连接到 pusher 聊天工具;但是,每次我尝试连接时,我都会收到此响应:

“在 16.0 秒内尝试 6 次中的 5 次。错误是:收到错误的响应状态代码:401 错误消息:services/chatkit_authorizer/authorization/missing_permission:用户无权访问请求的资源”

在进行 6 次尝试后,它会连接,所以我不确定丢失的权限是什么。

下面是我用来连接的代码。