Comments (3)
Thank you for the report. As far as I can tell, it is not a race-condition in this plug-in, but rather a side effect of how the Signal protocol works.
For single-contact chats, I recommend adding the contact's UUID to your buddy list. Then the local alias will be available right away, providing a workaround. I am aware that the "contact is now known as name" message sometimes pops up – even if a local alias exists. It annoys me, but not so much I want to investigate it further.
For group chats, I noticed something quite similar: Sometimes, the messages are received out-of-order. More precisely "ordered by participant" rather than "ordered by date". I suspect messages are cached in signald, then something is going on with cryptographic key exchange in the background. As soon as the messages of one participant can be decrypted, they are forwarded to purple. The official client just re-orders the messages. Unfortunately, Pidgin offers no option to re-order messages which have already been shown. I am not sure if it is the same issue as you describe, though.
In both cases: I do not want to withhold messages from being displayed until they can be displayed correctly. I fear the UUID will never be resolved or the cryptographic key exchange will never be completed before the front-end is terminated. Messages would be regarded as "done" in signald, while not having been shown to the user, opening up a way for messages to be "lost". I rather display messages out of order and with incomplete information.
from purple-signald.
Ah, thanks for the explanation, that makes a lot of sense.
from purple-signald.
Thank you for your understanding.
from purple-signald.
Related Issues (20)
- Cannot connect to signald HOT 20
- list_contacts leads to NullPointerException in signald HOT 3
- Messages sent via other device show as to "unknown" HOT 20
- Colors of sender names in group chats differ from member list HOT 10
- display emoji reactions HOT 4
- vague instructions (wrong adduser) HOT 2
- Externally saved attachments causes libpurple / bitlbee to crash HOT 2
- undefined symbol: g_memdup2 HOT 1
- Key Issue in your Git Repo HOT 2
- Message text when replying without "@needle: " HOT 3
- want to ask about @Strykar HOT 2
- Trying to join a missing group terminates the connection
- Required SETTINGS preface not received HOT 5
- pthread build error on OpenSuse. HOT 5
- Bitlbee fails to connect HOT 6
- Look up names of group chat participants not on buddy list HOT 8
- Investigate long messages
- Verification failure in zkgroup
- Messages getting lost because "derived ephemeral key did not match key provided in message" HOT 8
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 purple-signald.