Replying to a group message from different address changes the member list - bug or feature?

I have been playing around with groups in Deltachat a bit and noticed the following behaviour:

In Deltachat (android version) I have set up a group with two members, Delta <delta@example.org> who uses delta chat, and Test <test@example.org> who uses a plain email client. The group member list in Deltachat shows two members, delta@example.com (as Me), and test@example.com (as Test)

Now, if I reply to the initial message in this group, but change From to e.g. Changed <test+changed@example.org>, the reply is shown as coming from Changed in Deltachat, and in the group member list, Test <test@example.com> is replaced by Changed <test+changed@example.com>.

Is this a bug or a feature?

PS: If it is a feature, I’ll probably use this in a Matterbridge plugin for Deltachat that I am developing…

1 Like

If you can, use the deltachat core for your project. https://github.com/deltachat/deltachat-core-rust
It’s written in rust and has also a C-api for which you could create bindings for Go.
https://c.delta.chat/ - documentation for the deltachat-ffi (c api)
When using the deltachat core you don’t need to interact with email or encryption directly, the core exposes a “high level” api that gives you access to chats, contacts, messages and so on.

We have an Impersonate feature planned: BOT - Impersonate / Alias names.

Here are 3 bots made with deltachat core for reference purposes:

If you can, use the deltachat core for your project.

I’m thinking about it, but see two possible problems:

  • I want to implement the bridge as a plugin in Matterbridge itself, and I’m not sure how they feel about pulling in non-Go dependencies and
  • If possible, the bridge should be able to work both as a deltachat group and a email mailing list (kind of) for “normal” MUAs. Not sure if that is supported by deltachat core.

We have an Impersonate feature planned

Cool. I’ll definitely use that when it becomes available.

Mailing list support is also planned, but not supported yet.
for a list of feature requests see List of Feature Proposals

Here are the specs of deltachat https://github.com/deltachat/spec/blob/master/spec.md (though this document is a bit outdated I believe.)

The best way to make bots for deltachat is still to use the deltachat core.

When you’re creating a plugin, couldn’t that plugin require deltachat go bindings? I mean go compiled anyway so a small rust compilation wouldn’t make that big of a deal I guess.
depending on c dependencies seems to be supported by go cgo command - cmd/cgo - Go Packages

you can always ask them if it would be ok for them…

Sure, I’ll do that.

I’ve read this version, which seems to be current (at least it gets updates regularly): deltachat-core-rust/spec.md at master · deltachat/deltachat-core-rust · GitHub

And I think we should move discussion of a Matterbridge bot to a dedicated thread…

Back to the original topic: Any thoughts on the (weird, IMO) behaviour I spotted while playing around with groups?

I wouldn’t use this for impersonation. It could be a feature when we look at the future possibility to change ones email address (migrating to a different provider). But better ask people like @hpk, @link2xt or @r10s for this lowlevel/email interaction question.

Also the reason why I’m writing this post:
hugotty currently works on making go bindings for deltachat: https://github.com/hugot/go-deltachat/

@hpk fixed this behavior recently, so it is hardly a feature: https://github.com/deltachat/deltachat-core-rust/commit/01df2e2dc7b70a695e71a9d986ff23098004ac95

2 Likes