-
Notifications
You must be signed in to change notification settings - Fork 15
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
Most users not getting fetched #65
Comments
This also means that other people's @-mentions of unloaded users show up as "@invalid-user", because we can't rely on |
So, a bit of background, (mostly for me so I don't forget again), a little while ago the Discord client migrated to a lazy-loading approach for guilds and users (from opcode 12 which used to load everything but now it does nothing, to using opcode 14 for fetching guilds: f70173c). The core of the lazy-loading seems to be opcode 14 (which responds with This was stress tested with a test account in 55+ very large guilds with 10s of thousands of members, alas, it seems something has been changed. |
Yeah, all mentions look like: Kinda problematic to chat :) |
I have a not-even-half-baked patch that attempts to fetch user information on demand when they're first referenced (i.e. when they first speak in a channel you've joined or when they're first |
Ok, so I've had some time to look into this and have good news and bad news. Good news is it looks like the primary source of this problem was my quick hack to process I hope that I can implement it using hdata line editing, but I'm starting to feel like completely reimplementing the buffer render would be best. |
I've started some (really hacky) experiments in the |
Async user fetching has been committed to master, although it seems some users are still not fetched. |
Now I see mentions like these: |
For some reason, not all members are being fetched (or received). I haven't been able to look into it, and I currently don't have to time to work on it. But it is a known issue that I will be looking into. |
The new message renderer implementation should now show unloaded users as |
I actually preferred the IDs to |
That's a fair point, it should probably be configurable. |
When weechat-discord connects, it gets only a subset of the users on each channel (e.g. 16 users for a channel with 32 online and 80+ total users). This seems to be a change in the way Discord handles
GUILD_MEMBERS_CHUNK
, since it also affects discord.js and cordless.Ideally there would be a way to fetch the entire user list without relying on this; there must be some API call that returns that, after all, or the discord web client wouldn't be able to. Failing that, a mostly-workable alternative would be to incrementally build the user list for each channel by adding anyone who speaks in that channel and anyone who's @mentioned to the user list as they show up.
The text was updated successfully, but these errors were encountered: