Comments (11)
Mailing lists tend to have more than one conversation going on at once. How would this be handled on the matrix side?
from matrix-appservice-email.
The same happens in Matrix rooms - should we really try to split?
I don't have an idea if and how we should handle it anyway, feel free to share your ideas on the matter!
from matrix-appservice-email.
Without matrix supporting threading, and without adding some AI to determine where a message is directed, I'm not sure it's reasonably possible to have the bridge reply to the correct thread on the mailing list. Default could be, for now, to just reply to the most recent message?
from matrix-appservice-email.
Good point. Maybe we should have a main read-only room where the first message of each new thread ends up with a link to join a specific room for those who wish to participate, where the full history can be found?
I wouldn't like a system where you are automatically invited to join new rooms for each new thread, it would be an annoyance more than anything (I think?)
from matrix-appservice-email.
But that doesn't work either - can't have a new topic created on the Matrix side if the room is read-only...
from matrix-appservice-email.
Could still post a read only room as the bridge if the bridge bot (@_email:whatever.com
) sets the speak permission to something other than 0, then each message coming into the room would need a permissions check first. So this would be the flow for a new message:
- Join room, if required
- Have bridge bot promote the new user, if required
- Send message
I'd say inviting might be a bit spammy. Possibly have some way to support the matrix user indicating "please invite me" or "just leave me alone"? An option could also be just dumping some text at the end of the message: Join #_some_weird_alias:server.com to continue the conversation
from matrix-appservice-email.
@turt2live and how would you see a Matrix user initiating a new thread?
If we follow the logic of dedicated rooms per thread, that would mean its first message can either be the subject/topic, or the content, which will trigger a new room creation and invite from the AS user.
At this point, the user would need to either set a room topic, or write a first message in the new room.
Overall, far from user-friendly.
Another approach would be to include the last X messages in any outgoing e-mail, so people can actually have some context to help with the lack of thread.
from matrix-appservice-email.
Special aliasing for the room, or a command to the bridge.
Aliasing
This is a bit more complicated and doesn't make sense from a user perspective, but may still work out. If aliases for threads are namespaced to something like #_email_wlandiscuss_somethreadid
, then a user could join a room on their own, such as #_email_wlandiscuss_cool_thing
. The bridge would create the room, and leave the room for discussion. Maybe an m.notice to say "Use !subject <subject>
to set the subject for this thread.", preventing use of the command after the first message has been sent.
Command
Something like !newthread <mailing list> <subject>
in a 1:1 to the bridge bot. Would invite the user to the new room and leave a reply to the command saying something like "Join #whatever to start the conversation"
from matrix-appservice-email.
@turt2live So overall, the real issue is with portal rooms, since you must adapt to a mailing list structure which, until threads are implemented in Matrix, is just not compatible with IM style.
On the other hand, for plumbed rooms, it can be clearly communicated that people subscribe to a Matrix room, in the style of a mailing list, reusing the existing bridge mechanism.
This will not replace an actual mailing list and they will be notified for every message where everything happens on a single "thread".
I think we should start with that. What do you think?
from matrix-appservice-email.
That sounds like a good start. Hopefully matrix adds threading soon :)
from matrix-appservice-email.
Edited the issue description to include our conversation.
from matrix-appservice-email.
Related Issues (20)
- Notifications get marked as spam too easily by SpamAssassin
- Process messages with the room state corresponding to the event instead of the room state at processing time HOT 1
- Generate HS registration config from command line
- Error when receiving transaction
- Errors from synapse should not prevent email from being sent
- Ask for approval before sending messages to email
- Leave rooms where only bridge users remain
- Send thumbnails of avatar in notifications instead of the full size image
- Don't spam /joined_members endpoint
- Tightloop when mail sent from unrecognized address
- Support + for emails HOT 3
- transparent bridge mode, i.e. get rid of conventional email client and exchange plain standard emails from my matrix client HOT 1
- Include some room history
- Keep one room's messages in a single email thread.
- Certain text getting stripped HOT 1
- Retry accepting invites if it initially fails HOT 1
- SMTP Postfix MTA rejects mails HOT 1
- NPE in EmailFormatterInbound prevents all mail from being read HOT 1
- Enabling encryption breaks communication HOT 1
- Research if and how the bridge could disable the possiblity to enable encryption in a room
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matrix-appservice-email.