Closed fancypantalons closed 4 years ago
This change probably merits some form of documentation of the settings, either in the readme or perhaps the start of a docs/ dir.
This change probably merits some form of documentation of the settings, either in the readme or perhaps the start of a docs/ dir.
IMO the latter would be ideal. There definitely needs to be a setup/install guide for linking, and the settings for external attachment hosting also deserve to be documented.
Does this include the changes from commit 5a99200 mentioned in #13 or am I to merge and cherry-pick both?
Does this include the changes from commit 5a99200 mentioned in #13 or am I to merge and cherry-pick both?
This PR contains everything (including an additional fix I just pushed to deal with orphaned group chats). So you can just review and pull this and you should get everything!
Nice work! Your code is very clean and it even has comments! :)
Did the new settings end up in any user facing documentation?
No. Not as far as I know. At least I did not write anything. ;)
Moreover, it is unlikely that I will supply a detailed user-documentation for these new features. I am writing a lot of documentation at my day job and I do not want this project to feel like work.
Hah, I get that. I have no issues throwing a little bit of doc together if it's helpful. If @demure if there isn't already an issue filed to create some doc, feel free to file one and I can dig into it at some point!
Of course, if you wanted to volunteer a first draft... ;)
I can take a stab at documenting it from my bitlbee bias perspective. I assume markdown format, in a /doc
dir is desirable?
Yes, markdown in a doc directory is good.
This PR represents a refactoring that culminates in control over whether groups are automatically opened/joined at startup.
First, we refactoring all the tracking so that groups are stored alongside the SignaldAccount in their own list. Previously group data was attached to the conversation, but since we may not have open conversations for all groups right away, we have to start tracking that information separately.
Second, we automatically add group chats to the buddy list and mark them persistent. Since we're not automatically opening chats, this is the only way to ensure the user has a way to open a group chat that isn't opened yet. Marking them persistent ensures that when you close the chat, you don't accidentally leave it unless you really mean it!
Third, since we're in here adding a bunch of capabilities anyway, we add support for renaming group chats. We do this using the Pidgin "Alias..." function, such that if you alias a chat it's renamed in the Signal protocol and all the associated tracking is updated. Similarly, if we receive a rename, we automatically alias the chat to rename it.
Then, last but not least, we add the new auto-join-group-chats setting. When disabled, group chats are only automatically opened when a message is received (this ensures we don't lose any messages; if we didn't open the conversation, we'd have nowhere to put them!) When enabled, they're opened at startup as per the previous behaviour.
The default is to not automatically open chats. So Bitlbee users will definitely want to enable this setting.