| author | Eric Roberts
<eric@devl.me> 2026-08-19 15:00:39 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-08-19 15:07:06 UTC |
| parent | 47acfe229a790fe8d5d0a6c2a84d1ada30a177b7 |
| borogove/Client.hx | +4 | -4 |
| test/TestClient.hx | +2 | -2 |
diff --git a/borogove/Client.hx b/borogove/Client.hx index 089cb40..b062fc6 100644 --- a/borogove/Client.hx +++ b/borogove/Client.hx @@ -649,7 +649,7 @@ class Client extends EventEmitter { chat.getMemberDetails([message.senderId]).then(members -> { if (members.length > 0 && members[0].isSelf) return; - this.trigger("chat-state/update", { message: message, userState: userState }); + this.trigger("chat-state/update", { message: message, userState: userState, member: members[0] }); }); } @@ -1607,13 +1607,13 @@ class Client extends EventEmitter { /** Event fired when another participant changes state (such as typing/not typing) - @param handler takes sender ID, Chat ID, thread ID, and the new user state + @param handler takes sender, Chat ID, thread ID, and the new user state @returns token for use with removeEventListener **/ @:HaxeSwiftBridge.contextLifetime(handler, EventEmitter) - public function addUserStateListener(handler: (String,String,Null<String>,UserState)->Void):EventHandlerToken { + public function addUserStateListener(handler: (Member,String,Null<String>,UserState)->Void):EventHandlerToken { return this.on("chat-state/update", (data) -> { - handler(data.message.senderId, data.message.chatId, data.message.threadId, data.userState); + handler(data.member, data.message.chatId, data.message.threadId, data.userState); return EventHandled; }); } diff --git a/test/TestClient.hx b/test/TestClient.hx index 3065ac2..ec56090 100644 --- a/test/TestClient.hx +++ b/test/TestClient.hx @@ -445,8 +445,8 @@ class TestClient extends utest.Test { final client = new Client("test@example.com", persistence); client.getDirectChat("friend@example.com"); - client.addUserStateListener((senderId, chatId, threadId, userState) -> { - Assert.equals("friend@example.com", senderId); + client.addUserStateListener((member, chatId, threadId, userState) -> { + Assert.equals("friend@example.com", member.id); Assert.equals("friend@example.com", chatId); Assert.isNull(threadId); Assert.equals(UserState.Composing, userState);