psi-plus / main

Main repository with patches and required resources
https://psi-plus.com/
GNU Lesser General Public License v2.1
68 stars 20 forks source link

Psi+ doesn't show message errors #788

Open mdosch opened 3 years ago

mdosch commented 3 years ago

Version: 1.4.554 (debian)

When a message is not delivered, Psi+ doesn't show the error therefore you don't know that the message was not delivered (e.g. because it's rejected).

<message to='REDACTED/Psi+' type='error' id='aac9a' from='reject@yax.im' xml:lang='en'><error type='cancel'><not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xm
lns='urn:ietf:params:xml:ns:xmpp-stanzas'>Error handling test</text></error></message>

In this case I would expect to get an indication that the message delivery failed and the message Error handling test should be shown to the user. But nothing is shown:

2020-10-30-115151_scrot

You can use xmpp:reject@yax.im for testing as it will also reply with an error.

tehnick commented 3 years ago

This is strange. As far as I see XEP-0086 is supported in Psi+: https://github.com/psi-im/psi/wiki/Supported-XEPs

mdosch commented 3 years ago

Error codes are deprecated and stanza errors are defined in RFC6120.

tehnick commented 3 years ago

Yeh, Psi+ supports a lot of deprecated things and does not support some of new ones...

Neustradamus commented 5 months ago

@Ri0n: Can you look this good @mdosch ticket?

In more, there is "reply with nonexistent account" too, specified in profanity-im ticket:

It is more a Psi ticket ^^

lao-mang commented 5 months ago

да. ошибки не выводит

Neustradamus commented 4 months ago

There are two errors in this case:

<iq id='ID1' from='user@domain.tld' to='reject@yax.im' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq xml:lang="en" to="user@domain.tld/client" from="reject@yax.im" type="error" id="ID1">
<error type="auth">
<forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>

<message to="reject@yax.im" type="chat" id="ID2">
<body>test</body>
<active xmlns="http://jabber.org/protocol/chatstates"/>
<request xmlns="urn:xmpp:receipts"/>
<nick xmlns="http://jabber.org/protocol/nick">Neustradamus</nick>
<origin-id xmlns="urn:xmpp:sid:0" id="ID2"/>
</message>

<message xml:lang="en" to="user@domain.tld/client" from="reject@yax.im" type="error" id="ID2">
<error type="cancel">
<not-allowed xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Error handling test</text>
</error>
</message>

Other errors are here:

Neustradamus commented 4 months ago

@mdosch: Your original error is now showed with this commit:

Not allowed.
The recipient or server does not allow any entity to perform the action.
Error handling test
------

Psi+ 1.5.1889:

@Ri0n: But not the PubSub error :/

<iq id='ID1' from='user@domain.tld' to='reject@yax.im' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='eu.siacs.conversations.axolotl.devicelist'/>
</pubsub>
</iq>

<iq xml:lang="en" to="user@domain.tld/client" from="reject@yax.im" type="error" id="ID1">
<error type="auth">
<forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>