hangups
hangups copied to clipboard
[Feature Request] Load older conversations when you navigate to the bottom of the conversation list
At the moment, 35 conversations are loaded into the list on startup (this is limited by the backend, I guess, since it is the same number on mail.google.com or g+). It would be nice to be able to load older conversations, too. At the moment, a workaround is to open the conversation on another client and restart hangups or ask the opposite site to write a message to yourself.
To add to this issue, since hangups ConversationList is generally incomplete, we occasionally receive the following exception in the log: "Received ClientWatermarkNotification for unknown conversation XXXYYYZZZ" when an event is received for a forgotten conversation. To workaround the problem, we had to store our own permanent conversation memory (convmem), which works fine for the "standard events", but still cannot receive typing or watermark events for "forgotten conversations" due to the nature of the event handling.
In the end, we added an observer to client.on_state_update so that we can receive state_update.typing_notification
and state_update.watermark_notification
to receive the events prior to them being handled by ConversationList event handlers
Partial example of the structure here for reference purposes: ~~https://github.com/hangoutsbot/hangoutsbot/wiki/Reference:-hangups-state_update-dumps~~ page moved: https://github.com/hangoutsbot/hangoutsbot/wiki/hangups-state_update-dumps
Thanks pointing that out, @endofline. I created a new issue #142 for that bug.
I'm able to adjust the number of conversations to load on startup now, so I bumped it to 100 in https://github.com/tdryer/hangups/commit/b4567ad832b9fb42c7930b09ee5f6b4f6e985bc8 to mitigate this issue for now.
Just to add as an FYI (no action required) - I've heard of hangoutsbot admins running this at over >300 conversations - its possible because the bot uses private 1-to-1 channels for mentions :stuck_out_tongue: