Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pidgin 2.13.0 chatrooms not working #48

Closed
jgknight opened this issue Jul 3, 2024 · 0 comments
Closed

Pidgin 2.13.0 chatrooms not working #48

jgknight opened this issue Jul 3, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@jgknight
Copy link
Contributor

jgknight commented Jul 3, 2024

Subject of the Issue

Joining/creating chatrooms on pidgin does not work. There are several things that need to be fixed (I haven't identified all of them unfortunately)

I started working on fixing this in a branch but I'm taking a break from it, so filing this issue to track any progress.
https://github.com/jgknight/retro-aim-server/tree/fix-pidgin-chatrooms

Deployment Environment

  • Retro AIM Server Version: ca2b8e5
  • Installation Method: built from source on macOS
  • Client(s) Used: Pidgin 2.13.0

Steps to Reproduce

In Pidgin, try to create a chatroom or join an invite

Expected Behavior

Client should join the chatroom

Actual Behavior

Nothing happens

Troubleshooting Data

  • According to the libpurple source, DetailLevel needs to be 0x02. The client sends 0x01.
  • Cookie value needs to match the chatroom name, not a unique uuid. libpurple even uses cookie and chatroom name interchangeably
  • Need to update the database schema to store the instance and detail levels for the room

In the pidgin debug logs (pidgin.exe --debug) there are some NULL assertion failures but it's unclear to me why they are happening.

(15:29:28) g_log: serv_got_joined_chat: assertion `name != NULL' failed
(15:29:28) oscar: inside chat_info_update (maxmsglen = 1024, maxvislen = 1024)
(15:29:28) g_log: purple_conversation_get_chat_data: assertion `conv != NULL' failed
(15:29:28) g_log: purple_conv_chat_add_users: assertion `chat != NULL' failed
@jgknight jgknight added the bug Something isn't working label Jul 3, 2024
mk6i added a commit that referenced this issue Jul 13, 2024
This commit implements the following changes that makes Pidgin chat
work:

- chat detail level value must be "2"
- set TLV 0xDA in chat room info
- change the chat cookie to this format: %s-%s-%s, where the third %s is
  the chat room name.

Co-authored-by: Josh Knight <josh@noobbox.com>
mk6i added a commit that referenced this issue Jul 13, 2024
This commit implements the following changes that makes Pidgin chat
work:

- chat detail level value must be "2"
- set TLV 0xDA in chat room info
- change the chat cookie to this format: %s-%s-%s, where the third %s is
  the chat room name.

Co-authored-by: Josh Knight <josh@noobbox.com>
mk6i added a commit that referenced this issue Jul 14, 2024
This commit implements the following changes that makes Pidgin chat
work:

- chat detail level value must be "2"
- set TLV 0xDA in chat room info
- change the chat cookie to this format: %s-%s-%s, where the third %s is
  the chat room name.

All chat room business logic is now consolidated in the state package.

Co-authored-by: Josh Knight <josh@noobbox.com>
mk6i added a commit that referenced this issue Jul 14, 2024
This commit implements the following changes that makes Pidgin chat
work:

- chat detail level value must be "2"
- set TLV 0xDA in chat room info
- change the chat cookie to this format: %s-%s-%s, where the third %s is
  the chat room name.

All chat room business logic is now consolidated in the state package.

Co-authored-by: Josh Knight <josh@noobbox.com>
mk6i added a commit that referenced this issue Jul 14, 2024
This commit implements the following changes that makes Pidgin chat
work:

- chat detail level value must be "2"
- set TLV 0xDA in chat room info
- change the chat cookie to this format: %s-%s-%s, where the third %s is
  the chat room name.

All chat room business logic is now consolidated in the state package.

Co-authored-by: Josh Knight <josh@noobbox.com>
@mk6i mk6i closed this as completed Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants