# \#development

**URL:** https://discourse.imfreedom.org/tag/development/11.md

[Latest](https://discourse.imfreedom.org/latest.md) · [Categories](https://discourse.imfreedom.org/categories.md) · [Tags](https://discourse.imfreedom.org/tags.md)

---

## [Message Drafting](https://discourse.imfreedom.org/t/message-drafting/431)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 8\
**Last updated:** [October 11, 2026, 12:00am UTC](https://discourse.imfreedom.org/t/message-drafting/431 "2026-10-11T00:00:29Z")

</div>

I’ve been triaging issues and I ran across an interesting one about being able to “stash” a message. Basically you’re drafting a longer reply or whatever, but the person sends another message which you can quickly respon…

---

## [Bouncers and Managed Accounts](https://discourse.imfreedom.org/t/bouncers-and-managed-accounts/434)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 3\
**Last updated:** [September 29, 2026, 10:24pm UTC](https://discourse.imfreedom.org/t/bouncers-and-managed-accounts/434 "2026-09-29T22:24:59Z")

</div>

An idea I’ve had in the back of my mind for a bit is how to handle IRC bouncers and other similar ideas. Yes part of this is to look at making the detachable libpurple front end we’ve been after for ever. Anyways, the m…

---

## [More frequent releases?](https://discourse.imfreedom.org/t/more-frequent-releases/435)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 1\
**Last updated:** [September 29, 2026, 4:43am UTC](https://discourse.imfreedom.org/t/more-frequent-releases/435 "2026-09-29T04:43:15Z")

</div>

So I have a crazy idea I either need to be talked out of or convinced it’s not crazy… After alpha 3 on Wednesday I want move to monthly releases on the last Thursday of the month. There’s a number of reasons for this… …

---

## [Conversation Manager and Threads](https://discourse.imfreedom.org/t/conversation-manager-and-threads/423)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 1\
**Last updated:** [September 27, 2026, 4:16am UTC](https://discourse.imfreedom.org/t/conversation-manager-and-threads/423 "2026-09-27T04:16:29Z")

</div>

This started out as me looking for input on how to proceed but in the process of writing it I believe I have come to a conclusion on how to proceed. But if you have any questions or comments, please don’t hesitate. I’m…

---

## [Audit log ideas](https://discourse.imfreedom.org/t/audit-log-ideas/427)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 8\
**Last updated:** [September 21, 2026, 10:10pm UTC](https://discourse.imfreedom.org/t/audit-log-ideas/427 "2026-09-21T22:10:16Z")

</div>

It’s not uncommon for someone to change a setting (account, preference, etc) or something and then forget what it was or that they did it at all. To combat this, I want to add an audit log. The audit log should be focus…

---

## [Url cleaning notes](https://discourse.imfreedom.org/t/url-cleaning-notes/413)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 2\
**Last updated:** [August 18, 2026, 5:51pm UTC](https://discourse.imfreedom.org/t/url-cleaning-notes/413 "2026-08-18T17:51:04Z")

</div>

I started looking into how to develop a “link cleaning” feature and it’s a lot more complicated than I originally anticipated. Firefox has two different lists, one licensed under the LGPL and the other under the MPL2 bu…

---

## [Handling failure to send message](https://discourse.imfreedom.org/t/handling-failure-to-send-message/406)

<div class="topic-metadata">

**Author:** [@csb6](https://discourse.imfreedom.org/u/csb6)\
**Replies:** 5\
**Last updated:** [July 13, 2026, 8:01pm UTC](https://discourse.imfreedom.org/t/handling-failure-to-send-message/406 "2026-07-13T20:01:36Z")

</div>

When a message fails to send, how should/does this show up in the UI? Looking through the Pidgin 3 code, in pidginconversation.c a PurpleMessage gets created and PurpleMessage.send\_message\_async is called, but there is n…

---

## [Re-joining a conversation when opening Pidgin 3](https://discourse.imfreedom.org/t/re-joining-a-conversation-when-opening-pidgin-3/399)

<div class="topic-metadata">

**Author:** [@csb6](https://discourse.imfreedom.org/u/csb6)\
**Replies:** 1\
**Last updated:** [July 5, 2026, 9:59pm UTC](https://discourse.imfreedom.org/t/re-joining-a-conversation-when-opening-pidgin-3/399 "2026-07-05T21:59:39Z")

</div>

For my plugin I am wondering how best to re-join an existing conversation when opening Pidgin 3. (or whichever Purple 3 frontend is being used) Is this something that the Protocol class should handle, e.g. after the prot…

---

## [Platform dependent but UI independent plugins](https://discourse.imfreedom.org/t/platform-dependent-but-ui-independent-plugins/389)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 5\
**Last updated:** [June 5, 2026, 5:54pm UTC](https://discourse.imfreedom.org/t/platform-dependent-but-ui-independent-plugins/389 "2026-06-05T17:54:46Z")

</div>

I was randomly looking at what would be necessary to create an idle source for win32 (more on that in another post) when I ran across an interesting issue. Now that we have Pidgin and Gaim we have an odd scenario where …

---

## [Add rust or zig support for libpurple3](https://discourse.imfreedom.org/t/add-rust-or-zig-support-for-libpurple3/387)

<div class="topic-metadata">

**Author:** [@Castro](https://discourse.imfreedom.org/u/Castro)\
**Replies:** 1\
**Last updated:** [May 23, 2026, 2:18am UTC](https://discourse.imfreedom.org/t/add-rust-or-zig-support-for-libpurple3/387 "2026-05-23T02:18:57Z")

</div>

Hi everyone, I just landing in here because I want to replace whatsapp web if a lightweight client. Taking a look on this MR, I need to say, as a non C developer this sound like a lot of noise for a simple MR. Too muc…

---

## [Should we add DOAP files to everything?](https://discourse.imfreedom.org/t/should-we-add-doap-files-to-everything/310)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 1\
**Last updated:** [March 28, 2026, 4:11pm UTC](https://discourse.imfreedom.org/t/should-we-add-doap-files-to-everything/310 "2026-03-28T16:11:13Z")

</div>

Earlier I was looking at DOAP files which is something we haven’t traditionally done. But they’re meant to put a bunch of machine readable information into open source project repositories. There’s some GNOME specific d…

---

## [Pidgin 3 Development Phases](https://discourse.imfreedom.org/t/pidgin-3-development-phases/369)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 0\
**Last updated:** [March 5, 2026, 9:33pm UTC](https://discourse.imfreedom.org/t/pidgin-3-development-phases/369 "2026-03-05T21:33:07Z")

</div>

So far we’ve done “experimental” releases for Pidgin 3 but we never really documented what it means to be experimental or what comes after that so I’m going to attempt to tackle here. Purple 3 and Pidgin 3 provide publi…

---

## [Crash when removing a disconnected account](https://discourse.imfreedom.org/t/crash-when-removing-a-disconnected-account/359)

<div class="topic-metadata">

**Author:** [@ivanhoe](https://discourse.imfreedom.org/u/ivanhoe)\
**Replies:** 7\
**Last updated:** [February 6, 2026, 8:26pm UTC](https://discourse.imfreedom.org/t/crash-when-removing-a-disconnected-account/359 "2026-02-06T20:26:37Z")

</div>

Do we need a NULL check here? Thread 1 “pidgin3” received signal SIGSEGV, Segmentation fault. 0x00007ffff7a953c1 in g\_type\_check\_instance\_is\_fundamentally\_a () from /usr/lib64/libgobject-2.0.so.0 (gdb) bt 12 #0 0x00007…

---

## [\[R\*ddit Repost\] Twitch Support Implementation](https://discourse.imfreedom.org/t/r-ddit-repost-twitch-support-implementation/331)

<div class="topic-metadata">

**Author:** [@amirkhandr](https://discourse.imfreedom.org/u/amirkhandr)\
**Replies:** 7\
**Last updated:** [December 22, 2025, 8:08pm UTC](https://discourse.imfreedom.org/t/r-ddit-repost-twitch-support-implementation/331 "2025-12-22T20:08:11Z")

</div>

This is a repost from R\*ddit in Case if no one wants or will find this Forum firstly or never will find Pidgin’s /r. Asked: Hello! I just discovered Pidgin (and IRC Clients) and wanted to use it for Twitch Chat Brows…

---

## [Pidgin: Why GTK/GNOME and can Qt be in Pidgin anytime?](https://discourse.imfreedom.org/t/pidgin-why-gtk-gnome-and-can-qt-be-in-pidgin-anytime/329)

<div class="topic-metadata">

**Author:** [@amirkhandr](https://discourse.imfreedom.org/u/amirkhandr)\
**Replies:** 4\
**Last updated:** [December 21, 2025, 10:45am UTC](https://discourse.imfreedom.org/t/pidgin-why-gtk-gnome-and-can-qt-be-in-pidgin-anytime/329 "2025-12-21T10:45:04Z")

</div>

Hello! I wonder why is it was decided to keep up with GTK/GNOME for Pidgin3 instead of Qt? And, of course, some other Interface Questions (even stupid Questions just because I’m not smart and I’m silly) so far: Will i…

---

## [Ideas to avoid sending messages to the wrong people](https://discourse.imfreedom.org/t/ideas-to-avoid-sending-messages-to-the-wrong-people/316)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 1\
**Last updated:** [October 21, 2025, 6:28am UTC](https://discourse.imfreedom.org/t/ideas-to-avoid-sending-messages-to-the-wrong-people/316 "2025-10-21T06:28:08Z")

</div>

I came across this toot today Kate Morley: "The only AI feature I’d want in a messaging app i…" - Hachyderm.io. I fired off a few ideas there, but this is probably a better place to discuss this. Gary "grim" Kramlich: "@…

---

## [Default Badges for Conversations](https://discourse.imfreedom.org/t/default-badges-for-conversations/317)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 1\
**Last updated:** [October 20, 2025, 3:52pm UTC](https://discourse.imfreedom.org/t/default-badges-for-conversations/317 "2025-10-20T15:52:37Z")

</div>

So we just landed Add Badges to Conversations and it’s got me thinking about what kind of default badges we should have. So far I’ve come up with the following Invite Only Not Safe For Work (NSFW) I know Not Safe For L…

---

## [Determining when to prompt on leaving conversations](https://discourse.imfreedom.org/t/determining-when-to-prompt-on-leaving-conversations/315)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 6\
**Last updated:** [October 16, 2025, 9:51pm UTC](https://discourse.imfreedom.org/t/determining-when-to-prompt-on-leaving-conversations/315 "2025-10-16T21:51:36Z")

</div>

so, thinking of how to address the recent issue where a user closed the conversation window in pidgin 2 which caused pidgin to part all of theirs channels from their bouncer… We could add a property to a conversation to…

---

## [Auto contrast adjustment on display names](https://discourse.imfreedom.org/t/auto-contrast-adjustment-on-display-names/312)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 10\
**Last updated:** [October 3, 2025, 9:53pm UTC](https://discourse.imfreedom.org/t/auto-contrast-adjustment-on-display-names/312 "2025-10-03T21:53:00Z")

</div>

I realized we can calculate the colors because know the background colors for adwaita, so we just need to check light/dark and go from there. But i saw something about some new algorithm and when I was looking I was hav…

---

## [How to handle messages from external users](https://discourse.imfreedom.org/t/how-to-handle-messages-from-external-users/311)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 0\
**Last updated:** [October 1, 2025, 8:00am UTC](https://discourse.imfreedom.org/t/how-to-handle-messages-from-external-users/311 "2025-10-01T08:00:08Z")

</div>

so due to the way Purple.ConversationMember works, we’ve been adding anyone that does something in a conversation to the member list. So the irc status window starts looking like this.. (yeah we need to adjust colors ye…

---

## [Contact List Updates](https://discourse.imfreedom.org/t/contact-list-updates/303)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 0\
**Last updated:** [September 8, 2025, 7:48pm UTC](https://discourse.imfreedom.org/t/contact-list-updates/303 "2025-09-08T19:48:50Z")

</div>

We’re just getting started here, but all of the “show” features have been implemented in the contact list.

---

## [Pidgin 2.15.0?](https://discourse.imfreedom.org/t/pidgin-2-15-0/288)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 10\
**Last updated:** [June 3, 2025, 2:20pm UTC](https://discourse.imfreedom.org/t/pidgin-2-15-0/288 "2025-06-03T14:20:24Z")

</div>

I know I said the last minor version of Pidgin 2 would be 2.14, but there’s been some recently developments that I think justify a 2.15.0. I wanted to share them with you all and get your thoughts on moving forward with …

---

## [Support for local Matrix bridges?](https://discourse.imfreedom.org/t/support-for-local-matrix-bridges/283)

<div class="topic-metadata">

**Author:** [@nclm](https://discourse.imfreedom.org/u/nclm)\
**Replies:** 1\
**Last updated:** [May 21, 2025, 6:09pm UTC](https://discourse.imfreedom.org/t/support-for-local-matrix-bridges/283 "2025-05-21T18:09:00Z")

</div>

Hello! I used to be a happy Pidgin user, but with most of my contacts now on Facebook Messenger, Whatsapp, Instagram and Signal, I haven’t used the program in many years. I’m glad to see it’s still alive and well (with …

---

## [RFC: Archiving of edited, redacted, and ephemeral messages](https://discourse.imfreedom.org/t/rfc-archiving-of-edited-redacted-and-ephemeral-messages/251)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 2\
**Last updated:** [February 13, 2025, 10:25pm UTC](https://discourse.imfreedom.org/t/rfc-archiving-of-edited-redacted-and-ephemeral-messages/251 "2025-02-13T22:25:27Z")

</div>

Modern chat networks/apps allow the authors of messages to edit them delete them manually, and even delete them automatically after some amount of time after being read. These abilities are great, and we intend to suppor…

---

## [Pidgin 2 signing with an HSM](https://discourse.imfreedom.org/t/pidgin-2-signing-with-an-hsm/240)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 0\
**Last updated:** [January 22, 2025, 6:33am UTC](https://discourse.imfreedom.org/t/pidgin-2-signing-with-an-hsm/240 "2025-01-22T06:33:38Z")

</div>

In /r/3778 we added support for a new authenticode signing type in Makefile.mingw named CUSTOM\_AUTHENTICODE which should contain the path to a script/batch file/whatever to do the code signing. The Makefile.mingw will pa…

---

## [AIM/Oscar support removed?](https://discourse.imfreedom.org/t/aim-oscar-support-removed/214)

<div class="topic-metadata">

**Author:** [@squidgnz](https://discourse.imfreedom.org/u/squidgnz)\
**Replies:** 1\
**Last updated:** [November 15, 2024, 6:56am UTC](https://discourse.imfreedom.org/t/aim-oscar-support-removed/214 "2024-11-15T06:56:19Z")

</div>

Hi! First time chatter here, and I was looking to set up AIM/OSCAR for a third-party server host. But I can’t seem to find the actual protocol to modify so I can use it. Was it removed in a previous version? Thanks in a…

---

## [Hgkeeper migration](https://discourse.imfreedom.org/t/hgkeeper-migration/153)

<div class="topic-metadata">

**Author:** [@grim](https://discourse.imfreedom.org/u/grim)\
**Replies:** 4\
**Last updated:** [July 2, 2024, 6:20am UTC](https://discourse.imfreedom.org/t/hgkeeper-migration/153 "2024-07-02T06:20:28Z")

</div>

Greetings everyone! In the next few weeks I’m going to be migrating keep.imfreedom.org from the kubernetes cluster to a stand alone node. This will go mostly unnoticed to everyone, but to the developers with write acces…

---

## [PurpleConnectionClass.disconnect to chain up or to dispatch](https://discourse.imfreedom.org/t/purpleconnectionclass-disconnect-to-chain-up-or-to-dispatch/166)

<div class="topic-metadata">

**Author:** [@ivanhoe](https://discourse.imfreedom.org/u/ivanhoe)\
**Replies:** 1\
**Last updated:** [June 10, 2024, 9:29pm UTC](https://discourse.imfreedom.org/t/purpleconnectionclass-disconnect-to-chain-up-or-to-dispatch/166 "2024-06-10T21:29:08Z")

</div>

So I wanted to fix that SIGSEGV that’s happening when closing Pidgin3 or when disconnecting an account. The SIGSEGV happens for example when disconnecting an IRCv3 account at parent\_class-\>disconnect in the following cod…

---

## [How is Pidgin::DisplayItem::id supposed to be unique?](https://discourse.imfreedom.org/t/how-is-pidgin-id-supposed-to-be-unique/134)

<div class="topic-metadata">

**Author:** [@ivanhoe](https://discourse.imfreedom.org/u/ivanhoe)\
**Replies:** 8\
**Last updated:** [February 29, 2024, 9:37pm UTC](https://discourse.imfreedom.org/t/how-is-pidgin-id-supposed-to-be-unique/134 "2024-02-29T21:37:13Z")

</div>

I’m working on the problem that new conversations open when double clicking a contact with an already open conversation. Following code does the job when testing with the Demo plugin, but the IDs are only the names of th…

---

## [How does the Demo protocol create its conversations?](https://discourse.imfreedom.org/t/how-does-the-demo-protocol-create-its-conversations/141)

<div class="topic-metadata">

**Author:** [@ivanhoe](https://discourse.imfreedom.org/u/ivanhoe)\
**Replies:** 2\
**Last updated:** [February 28, 2024, 10:41pm UTC](https://discourse.imfreedom.org/t/how-does-the-demo-protocol-create-its-conversations/141 "2024-02-28T22:41:02Z")

</div>

With RR 2280 merged you can no longer open a conversation with Demo protocol contacts because they don’t have a conversation ID set. I would’ve liked to fix that but I can’t figure out where to do that. Where is the Demo…

[Next page](https://discourse.imfreedom.org/tag/development/11.md?match_all_tags=true&page=1&tags%5B%5D=development)
