Giter Site home page Giter Site logo

monal-im / monal Goto Github PK

View Code? Open in Web Editor NEW
473.0 473.0 94.0 196.02 MB

Monal for XMPP (iOS and macOS)

Home Page: https://monal-im.org

License: Other

HTML 4.04% Objective-C 79.28% Ruby 0.13% Swift 11.25% Python 0.30% Shell 0.64% C 1.55% Rust 2.80%
apple chat instant-messaging ios jabber macos messenger swift xmpp xmpp-client

monal's People

Contributors

angelina-p09 avatar ccordeeate avatar comradekingu avatar cweiske avatar da2x avatar dependabot[bot] avatar echolon avatar foss- avatar friedrichaltheide avatar gracion avatar guodong323 avatar janst97 avatar kovalevartem avatar licaon-kter avatar lissine0 avatar marmistrz avatar mimi89999 avatar minus273 avatar nathanbnm avatar nautilusx avatar pitchum avatar poormusic2001 avatar schwindp avatar sirdrakeistda avatar thevaidik avatar tmolitor-stud-tu avatar weblate avatar wiseweb-works avatar yarons avatar zainashraf1562 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

monal's Issues

Http upload using Prosodys mod_http_upload gives SSL error

@anurodhp You wrote in your blog that you was testing XEP-0363 with Prosody as Server. Did you use the mod_http_upload for prosody or an external component like the HttpUploadComponent? If you used the mod then is it handling the SSL request by itself or did you configure e.g. Apache to handle this?
I use simply the mod_http_upload in it's default settings from Prosody with a certificate from Let's Encrypt and i also get this error that "There was an error uploading the file to the server: SSL Error" like @tristan-k posted . Viewing a sent picture in Safari is possible.

Maybe this is a mod_http_upload problem with iOS/OSX.

I testet my https://domain.tld:5281 with
Free SSL Server Test by htbridge.com and got

​** Test For Compliance With PCI DSS Requirements **

SUPPORTED PROTOCOLS
TLSv1.0Good configuration
TLSv1.1Good configuration
TLSv1.2Good configuration

SUPPORTED CIPHERS
TLS_RSA_WITH_AES_128_CBC_SHAGood configuration
TLS_RSA_WITH_AES_256_CBC_SHAGood configuration
TLS_RSA_WITH_CAMELLIA_128_CBC_SHAGood configuration
TLS_RSA_WITH_CAMELLIA_256_CBC_SHAGood configuration
TLS_RSA_WITH_AES_128_CBC_SHA256Good configuration
TLS_RSA_WITH_AES_256_CBC_SHA256Good configuration
TLS_RSA_WITH_AES_128_GCM_SHA256Good configuration
TLS_RSA_WITH_AES_256_GCM_SHA384Good configuration

** Test For Compliance With NIST Guidelines **

SUPPORTED PROTOCOLS
TLSv1.0Good configuration
TLSv1.1Good configuration
TLSv1.2Good configuration

SUPPORTED CIPHERS
TLS_RSA_WITH_AES_128_CBC_SHAGood configuration
TLS_RSA_WITH_AES_256_CBC_SHAGood configuration
TLS_RSA_WITH_CAMELLIA_128_CBC_SHANon-compliant with NIST guidelines
TLS_RSA_WITH_CAMELLIA_256_CBC_SHANon-compliant with NIST guidelines
TLS_RSA_WITH_AES_128_CBC_SHA256Good configuration
TLS_RSA_WITH_AES_256_CBC_SHA256Good configuration
TLS_RSA_WITH_AES_128_GCM_SHA256Good configuration
TLS_RSA_WITH_AES_256_GCM_SHA384Good configuration

"There was an error uploading the file to the server"

Hello!

I use your newest Version on my iPhone.

When I try to send an Image then I recieve follow message:
There was an error uploading the file to the server.
"The operation could not be completed. (JSON error 0.)"

However, the upload actually succeeds. That is, the file is stored on the server just fine:

2016-05-08 23:23:25.851 [debug] <0.486.0>@ejabberd_receiver:process_data:282 Received XML on stream = <<"photo.png97369image/png">>
2016-05-08 23:23:25.852 [debug] <0.487.0>@ejabberd_router:do_route:324 route
from {jid,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>}
to {jid,<<>>,<<"xmpp.kautbullinger.de">>,<<>>,<<>>,<<"xmpp.kautbullinger.de">>,<<>>}
packet {xmlel,<<"iq">>,[{<<"id">>,<<"08E0BC57-B870-4416-80F8-64EA82A191C9">>},{<<"type">>,<<"get">>},{<<"to">>,<<"xmpp.kautbullinger.de">>}],[{xmlel,<<"request">>,[{<<"xmlns">>,<<"urn:xmpp:http:upload">>}],[{xmlel,<<"filename">>,[],[{xmlcdata,<<"photo.png">>}]},{xmlel,<<"size">>,[],[{xmlcdata,<<"97369">>}]},{xmlel,<<"content-type">>,[],[{xmlcdata,<<"image/png">>}]}]}]}
2016-05-08 23:23:25.853 [info] <0.396.0>@mod_http_upload:create_slot:622 Got HTTP upload slot for [email protected]/Monal-iOS (file: photo.png)
2016-05-08 23:23:25.853 [debug] <0.396.0>@ejabberd_router:do_route:324 route
from {jid,<<>>,<<"xmpp.kautbullinger.de">>,<<>>,<<>>,<<"xmpp.kautbullinger.de">>,<<>>}
to {jid,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>}
packet {xmlel,<<"iq">>,[{<<"id">>,<<"08E0BC57-B870-4416-80F8-64EA82A191C9">>},{<<"type">>,<<"result">>}],[{xmlel,<<"slot">>,[{<<"xmlns">>,<<"urn:xmpp:http:upload">>}],[{xmlel,<<"put">>,[],[{xmlcdata,<<"https://xmpp.kautbullinger.de:5443/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.png">>}]},{xmlel,<<"get">>,[],[{xmlcdata,<<"https://xmpp.kautbullinger.de:5443/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.png">>}]}]}]}
2016-05-08 23:23:25.854 [debug] <0.396.0>@ejabberd_local:do_route:260 local route
from {jid,<<>>,<<"xmpp.kautbullinger.de">>,<<>>,<<>>,<<"xmpp.kautbullinger.de">>,<<>>}
to {jid,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>}
packet {xmlel,<<"iq">>,[{<<"id">>,<<"08E0"...>>},{<<"type">>,<<...>>}],[{xmlel,<<...>>,...}]}
2016-05-08 23:23:25.854 [debug] <0.396.0>@ejabberd_sm:do_route:411 session manager
from {jid,<<>>,<<"xmpp.kautbullinger.de">>,<<>>,<<>>,<<"xmpp.kautbullinger.de">>,<<>>}
to {jid,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>,<<"t.mebes">>,<<"kautbullinger.de">>,<<"Monal-iOS">>}
packet {xmlel,<<"iq">>,[{<<"id">>,<<"08E0"...>>},{<<"type">>,<<...>>}],[{xmlel,<<...>>,...}]}
2016-05-08 23:23:25.854 [debug] <0.396.0>@ejabberd_sm:do_route:529 sending to process <0.487.0>
2016-05-08 23:23:25.854 [debug] <0.487.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"https://xmpp.kautbullinger.de:5443/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.pnghttps://xmpp.kautbullinger.de:5443/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.png">>
2016-05-08 23:23:25.854 [debug] <0.487.0>@ejabberd_c2s:send_text:1838 Send XML on stream = <<"">>
2016-05-08 23:23:25.889 [debug] <0.486.0>@ejabberd_receiver:process_data:282 Received XML on stream = <<"">>
2016-05-08 23:23:25.889 [debug] <0.487.0>@ejabberd_c2s:check_h_attribute:2756 [email protected]/Monal-iOS acknowledged 199 of 199 stanzas
2016-05-08 23:23:25.966 [info] <0.476.0>@ejabberd_listener🉑333 (#Port<0.9021>) Accepted connection 188.195.202.55:49700 -> 144.76.108.84:5443
2016-05-08 23:23:25.966 [debug] <0.653.0>@ejabberd_http:init:154 S: [{[],mod_http_upload}]
2016-05-08 23:23:25.966 [info] <0.653.0>@ejabberd_http:init:158 started: {p1_tls,{tlssock,#Port<0.9021>,#Port<0.9022>}}
2016-05-08 23:23:26.043 [debug] <0.653.0>@ejabberd_http:process_header:281 ({tlssock,#Port<0.9021>,#Port<0.9022>}) http query: 'PUT' <<"/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.png">>
2016-05-08 23:23:26.395 [debug] <0.653.0>@ejabberd_http:extract_path_query:395 client data: <<255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,72,0,72,0,0,255,225,0,88,69,120,105,102,0,0,77,77,0,42,0,0,0,8,0,2,1,18,0,3,0,0,0,1,0,1,0,0,135,105,0,4,0,0,0,1,0,0,0,38,0,0,0,0,0,3,160,1,0,3,0,0,0,1,0,1,0,0,160,2,0,4,0,0,0,1,0,0,4,56,160,3,0,4,0,0,0,1,0,0,5,160,0,0,0,0,255,237,0,56,80,104,111,116,111,115,104,111,112,32,51,46,48,0,56,66,73,77,4,4,0,0,0,0,0,0,56,66,73,77,4,37,0,0,0,0,0,16,212,29,140,217,143,0,178,4,233,128,9,152,236,248,66,126,255,192,0,17,8,5,160,4,56,3,1,34,0,2,17,1,3,17,1,255,196,0,31,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,255,196,0,181,16,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250,255,196,0,31,1,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,255,196,0,181,17,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250,255,219,0,67,0,6,6,6,6,6,6,10,6,6,10,14,10,10,10,14,18,14,14,14,14,18,23,18,18,18,18,18,23,28,23,23,23,23,23,23,28,28,28,28,28,28,28,28,34,34,34,34,34,34,39,39,39,39,39,44,44,44,44,44,44,44,44,44,44,255,219,0,67,1,7,7,7,11,10,11,19,10,10,19,46,31,26,31,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,255,221,0,4,0,68,255,218,0,12,3,1,0,2,17,3,17,0,63,0,224,155,130,72,164,32,55,81,75,140,31,173,46,112,113,235,94,106,61,1,50,65,221,78,11,135,56,60,63,52,208,62,108,30,212,226,126,64,127,186,113,76,16,15,238,210,241,140,119,233,74,220,55,31,90,58,179,99,235,64,198,231,3,62,135,20,225,212,143,81,64,25,6,148,245,4,82,98,232,10,8,199,177,165,3,5,151,214,151,25,39,29,168,28,55,52,12,110,1,108,250,83,199,63,47,99,77,244,62,156,83,184,7,30,212,172,47,33,48,63,42,92,99,159,206,148,14,55,83,135,181,48,176,157,57,160,115,143,74,92,14,221,233,72,249,104,24,99,4,138,7,34,142,113,75,208,140,126,52,3,97,159,78,180,171,70,51,211,181,41,192,52,2,14,7,227,75,142,40,199,173,56,12,53,1,96,94,126,97,75,142,73,160,112,48,59,82,143,122,6,59,173,59,29,168,3,35,138,112,28,86,76,208,57,234,189,106,80,58,83,71,74,80,77,34,111,212,145,121,233,78,92,146,72,166,175,45,79,0,10,76,161,224,14,49,82,99,158,42,48,49,129,235,83,40,192,169,91,13,48,198,71,210,148,12,245,163,105,60,103,21,40,28,147,76,104,98,131,143,175,20,253,128,156,154,120,90,85,24,24,245,169,99,19,28,99,181,38,59,10,118,56,38,140,109,226,149,187,12,69,24,20,184,231,154,82,78,115,218,151,25,34,172,87,27,215,232,40,35,140,158,148,236,100,226,151,177,247,160,99,6,50,61,105,49,129,239,79,28,100,158,77,37,0,8,112,106,85,60,113,81,99,61,41,200,196,12,118,168,104,104,148,102,156,58,83,1,28,131,79,199,106,144,72,127,25,200,230,144,30,13,52,30,40,83,142,180,139,20,12,29,213,32,112,72,245,53,25,35,28,26,140,182,198,201,233,78,196,108,91,36,99,154,96,97,142,79,74,170,215,0,244,170,210,78,138,55,59,113,77,71,160,156,139,198,101,199,203,200,168,30,108,13,204,112,43,30,107,253,160,136,240,69,100,203,123,151,234,121,173,99,77,178,37,82,198,244,151,241,39,3,154,161,46,162,221,176,43,13,238,51,201,250,213,41,46,149,120,39,21,...>>
2016-05-08 23:23:26.395 [debug] <0.653.0>@ejabberd_http:process:353 [<<"31b9922be995aeb909d9e2a5b802013b4e401f0f">>,<<"ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM">>,<<"photo.png">>] matches []
2016-05-08 23:23:26.395 [debug] <0.653.0>@mod_http_upload:process:409 Storing file from 188.195.202.55 for xmpp.kautbullinger.de: /var/lib/ejabberd/upload/31b9922be995aeb909d9e2a5b802013b4e401f0f/ACuCV9HvIr42UzKXTvDSlGfCwmNpUGGQcy0JYPYM/photo.png

Can you fix this problem?

Thank you very much!

Contacts being duplicated

Hello, I have my own jabber server, which Monal (iOS) accesses just fine. I get an initial list of contacts. However, if I then send a message to a contacts, then come back to the contacts, they seems to have duplicated, i.e. [email protected] appears twice. If I stop/shutdown Monal I get the original contact list, i.e. no duplicates.

John

Add support for renaming contacts

It would be nice to have the ability to rename contacts directly from Monal.

Current workaround is to do all contact renaming from another XMPP client.

XEP-0363: http file upload gives json error

When I try to send a file via HTTP-Upload I get an error telling me "JSON error 0" happened.
On the prosody server I see the following:

==> /var/log/prosody/prosody.log <==
Sep 16 10:27:14 c2s9383fb0      debug   RECV: <iq id='FD8C79FA-AE01-4F28-B0FF-33305BF4E9D2' type='get' to='proxy.example.org'><request xmlns='urn:xmpp:http:upload'><filename>photo.png</filename><size>221895</size><content-type>image/png</content-type></request></iq>
Sep 16 10:27:14 c2s9383fb0      debug   Received[c2s]: <iq id='FD8C79FA-AE01-4F28-B0FF-33305BF4E9D2' type='get' to='proxy.example.org'>

==> /var/log/prosody/httpuploadcomponent.log <==
component:81 - 2016-09-16 08:27:14 - [84668807-0fd2-40ae-9438-9151a78cb284] Got XMPP slot request for 'photo.png' (image/png) with size 221895...

==> /var/log/prosody/prosody.log <==
Sep 16 10:27:14 jcp8f30548      debug   Received[component]: <iq id='FD8C79FA-AE01-4F28-B0FF-33305BF4E9D2' type='result' to='[email protected]/Monal-iOS' from='proxy.example.org'>
Sep 16 10:27:14 c2s9383fb0      debug   SEND: <iq id='FD8C79FA-AE01-4F28-B0FF-33305BF4E9D2' type='result' to='[email protected]/Monal-iOS' from='proxy.example.org'><slot xmlns='urn:xmpp:http:upload'><put>https://proxy.example.org:5281/upload/84668807-0fd2-40ae-9438-9151a78cb284/photo.png</put><get>https://proxy.example.org:5281/upload/84668807-0fd2-40ae-9438-9151a78cb284/photo.png</get></slot></iq>

I'm using latest prosody 0.10 as server and Monal 2.9.1 (184)

If you need more info or if I should test something, just ask :)

new version crashes on connect

Hey,

thanks for the new Version.

But the Version 2.9.1 crashes on iOS 9.2
I see that it trys to connect and than crash. The version before worked fine.

My Jabber Server is prosody with mam enabled.

Online/offline list not correct

I have about 109 users in my roster, currently 35 are connected according to the server (prosody).
Gajim and Conversations displays those 35 as online but Monal just displays 15 as "online". The missing 20 can be found under "offline".

Does not so how text in second line

On my iPhone, Monal does not show the text that I enter when I am bejond the first line.
When entering text in the second line, I will only show up once I get to the third line and so on.
See attached screenshot. There I am typing text in the third line but it does not show up. It shows up one I reach the fourth ine.
img_2633

Smacks keepalive ping

Currently Monal doesn't seem to do some sort of keepalive ping and I have to configure my prosody server to send out smacks pings (r-tags) after 7 minutes of inactivity to keep the connection alive.

If I don't do this my mobile carrier closes the TCP connection after some time (approximately 10-15 minutes) and Monal gets disconnected.

Sending an r-tag every 5 minutes or so (that is the interval Conversation uses for this) would solve this issue. For non-smacks sessions you could send a ping stanza to get the same result.

This could be connected to issue #3 I think.

Server address field is ignored.

When I specify a server other than the one that is in my domain's srv record, that value is ignored and the srv record is used anyway (according to the console log).

No audio heard in call, not seeing inbound RTP

I have Monal running on an iPhone and iPad on the same network. Login, presence, and text chat between them is successful, but audio call is not.

To reproduce:

  • Log each device into a separate XMPP account (local XMPP server on same network).
  • Tap (i) and green “Call (Beta)” button in one device, “Accept Call” on the other.

Both display “Calling" view with Cancel button. No sound is heard on either device.

Running one in Xcode, it looks like the app is receiving packets, but they are not RTP:
1/second polling is occuring, and when a packet comes in, ProcessRawPacket is called, but IsRTP() never returns true.

I’m not sure where the failure is. Debugging with printf’s in jrtplib, it appears to be sending RTP packets. And if I run Monal in the simulator and run Wireshark there, I see UDP packets with 172 bytes of data going out, but not coming in from the other device running Monal. I’m not sure those are RTP, since Wireshark knows about RTP but does not indicate they are.

I’d like to troubleshoot and fix this. Any suggestions where to look?

Version: “2.9.2 (0)” top-of-tree debug from github. (Same results with 2.9.1 downloaded from App Store )
Environment: 802.11g unencrypted/open (Old Airport Extreme), Mikrotik RouterOS providing DHCP.
Account settings: TLS off. Server: OS X 10.10.5, OS X Server Messages service 5.0.15.
iOS 9.3.5
Other anomalies: after device sleep, a repeating login/failure cycle occurs about 2 second interval until I use Log out All. Then Reconnect All is successful.

XEP-0045 Multi-User Chat: Enable create, join and direct invites to a room

Users expect today an easy way to create a room and to invite or simply add their colleagues or family members. Monal (as well as ChatSecure) only show rooms, that are already available. For a seamless user experience iOS users do not want to go back to their desktop or a web based xmpp client, to create or manage rooms.

Do we have a chance to get more of MUC administration features as specified in XEP-0045 integrated in Monal?

Otr

Is otr support on the roadmap?

Strange issue with seemingly lost messages

I have a strange issue which I hope you can help me solve.

First off, some details: I am running my own XMPP server (Prosody on Debian), and I am talking to a friend on the same server. I personally use Miranda NG on my Windows machine, and they use Monal on their iPhone (connected via Wifi, not 3G/4G). For the last few years I was always able to talk to my XMPP contacts without problems, and this contact is the first one I am having issues with.

So here is our problem: While chatting, it seems that some of my messages do not arrive at their end. However, the weird thing is that while the message does not show up on their screen, I still get a receipt notification from them.
I have talked to the Prosody developers, showed them some logs and they confirmed to me that it must be a client issue. It is strange because my friend also tried two other clients which exposed a similar problem, but if the server sees my message, and I see the other client's receipt notification, then it
really seems like something is going wrong on my friend's end?

I know that this might not be enough information for you to help me solving this issue, so I hope that you can give me any information if there's a debug mode in Monal or anything else my friend could do to help debugging the problem?
I already talked to the AstraChat developers (which is another client my friend tried on their phone) - and sadly they couldn't provide a debug mode for the iOS version of their client. The problem, however, was pretty much identical across all clients.

MAM+Carbons creates a shadow conversation with myself

Version 1.2 (24) from MAS, OS X 10.11.3.

User B sends me a message, I reply to it on another devices.

Monal will then show one active conversation with User B with their and my messages in it. I’ll also get a second active conversation in Monal that only includes my own messages sent to User B from my second device,

only displaying first line in composing edit field

It seems that when writing more than one line it only displays the first line in the edit field of the chat window. Which makes it hard to write :-)
I haven't tested this myself but a friend wrote me about it. He is using latest AppStore version.

Copy & paste support for file transfer

It would be great if I could take a screenshot to the clipboard (by holding ⌃), paste it into a Monal conversation window, and have it sent (possibly using a temporary file in the background).

XEP-0172: User Nickname

Monal does not allow to set a custom nickname. This is especially important for MUC chats. Currently the nick displayed to others in muc chats is the username part of the JID.

This should be fixed by implementing XEP-0172 and allowing people to use custom nicknames

Connection loop after removing stream management

I have a prosody server with stream management (XEP-0198) enabled. I wanted to disable it to make some tests but I am facing some issues with a Monal client connected to the server. When I disable stream management and restart the server, Monal enters in a loop: it connects, tries to resume some previous stream, fails, connects again and so on. Attempt rate is about 1 every 10 sec. I expect Monal to recognize there has been some configuration change.

Here is a sample of the logs:

May 14 22:14:15 c2sd8622    debug   Sent reply <stream:stream> to client
May 14 22:14:15 c2sd8622    debug   Received[c2s]: <resume h='9' previd='XXX' xmlns='urn:xmpp:sm:3'>
May 14 22:14:15 stanzarouter warn    Unhandled c2s stream element or stanza: resume; xmlns=urn:xmpp:sm:3: <resume h='9' previd='XXX' xmlns='urn:xmpp:sm:3'/>
May 14 22:14:15 c2sd8622    debug   Disconnecting client, <stream:error> is: <stream:error><unsupported-stanza-type xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>

Note I have a Conversations client connected to the same server which resumes gracefully after disabling stream management.

XEP-0363 with openfire,HttpUploadComponent and jitsi

Hey, has anyone got file http upload working for openfire?
I have setup HttpUploadComponent with openfire and have it connected as a Component Sessions. So in monal when I click to send image to another monal account it detects XEP-0363 support and tries to send the photo, however it times out with a timeout error.

Trying to workout what program has the issue (openfire, HttpUploadComponent ,monal).

Also has anyone got http upload working for jitsi? when I try pc to monal I get a can't send file error, not sure if jitsi supports XEP-0363 as I can't find any info on it.

[QUESTION] Pictures are not displayed in-line

I am using Conversations (1.11.5) and chatting with two different partners, both using current version of Monal, all via jabber.de.

  • If I receive an Image, Conversations displays the received image without problems as in-line, doesn't matter if it comes from partner1 oder partner2
  • If I send an image to partner1, the image is displayed in-line in Monal, as it should be.
  • If I send an image to partner2, the image is just displayed as a link to the jabber.de server to click it in Monal.

What is going on here? Obviously it CAN work, but why does'nt make it in both cases, using the nearly same conditions? Is there any hidden preference?

XEP-0333: Chat Markers

There alredy is an issue about XEP-0184: Message Delivery Receipts

It would be great if Monal would respond to XEP-0184 requests contained in incoming messages, so the sender can see if the message reached the destination or not.

Furthermore, it would be awesome if Monal could send out 0184 requests with outgoing messages, and mark them in the UI accordingly.

But XEP-0333 seems to be more future-proof:

Message Delivery Receipts (XEP-0184) [1] currently provides delivery receipts on a per message basis, but it does not provide any mechanism for the user to indicate that they have read or acknowledged the message. As delivery receipts are sent on a per message basis it would require multiple messages to "sync up" up delivery receipts between resources.

Moreover by using Chat State Notifications (XEP-0085) [2] you could infer that a message has been read by the recipient, if they become active at any point after the message has been delivered, but again it would require multiple messages to "sync up" chat states between resources.

NSPOSIXErrorDomain error at Login time

After integration of Monal sample to my code, after using Login code getting following error
Stream error code=49 domain=NSPOSIXErrorDomain local desc:The operation couldn’t be completed. Can't assign requested address
Same credentials are working for Monal app but in application with integration gives this error.

Can't login success

I think i don't know how to add an account in the client(iOS/OSX).

Openfire used to be service at local, the monal client can't login .
But Adium(another client for osx)can.

What should i do?

Reconnect issues

I don't know if this is the intended behavior but I can't get Monal to stay connected very long.

I have a iPhone for testing Monal at work (to see when it's good enough to suggest for the users at my company) and it's connected to wifi, laying still on my desk but every day or so when I check Monal has been disconnected (I check with Gajim to see which clients are logged in with my user account).

The Monal UI itself does not recognize that it's been disconnected and I must first click Log out All before clicking Reconnect All.

Could this be improved somehow or are there some restrictions in ios?

MAM doesn't work with Prosody / Monal 1.3

I've updated Monal to 1.3 from the Mac App Store but the new MAM feature doesn't seem to work. Should it work out of the box or do I need to activate it on the client manually?

I'm using Debian Jessie, Prosody 0.9.7 from the Debian repositories and the most recent mod_mam on my server. At least with Conversations (Android) on my phone MAM seems to work without any issues.

Btw, thanks for this awesome client!

OMEMO Encrypted Jingle File Transfer (XEP-xxxx)

Jingle File Transfer (XEP-0234) describes a very flexible and powerful method for peer-to-peer file transfer with interchangable transports. Unfortunatly only some of those transports can by encrypted (e.g. Jingle In-Band Bytestreams Transport Method (XEP-0261) and none integrate into existing end-to-end encryption schemes. This specification defines an approach to encrypt the actual file before transferring it by using the OMEMO encryption. Note that the encryption can and should happen on the fly.

Autostart at boot

For me this does not work, is Monal suppose to start at boot? (without opening the app first)

Reconnecting causes Connection Loop

Monal (on iOS) enters a connection loop here which seemingly causes the Jabber server to block connection attempts for a while. We encounter that a lot in testing server-related stuff.

Steps taken:

  • Connecting to the account via Pidgin (works fine)
  • Disconnecting from the account with Pidgin
  • Connecting to the account with Monal (works fine)
  • Closing the Monal app (quit, not running in background)
  • Opening the Monal app

Then, Monal tries to (re-)connect and displays "logging in" / "could not log in" very quickly until the login fails permanently. After that, logging in stops working completely for a while with different clients / webchats. Also, Monal creates another internal account for the Jabber account.

Client: Monal 2.9.1. (184)
OS: iOS 7.1.2 (11D257)

What are the supported XEPs?

We at jabber.at provide a list of recommended clients for our users and show support for a few important XEPs. I couldn't find a list of supported XEPs for monal, so my question is if you support:

  • XEP-0027
  • XEP-0167
  • XEP-0198
  • XEP-0280

Of course it would also be great if you could ping us about new versions for your client, especially if they improve support for the mentioned XEPs ;-)

greetings, Mati

Monal reuses stanza ids which causes id clashes

I just stumbled upon this log trace in prosody, showing that Monal doesn't use different ids for its stanzas when they are sent during the same second.

Oct 06 21:43:07 c2s9db7560      debug   Received[c2s]: <iq id='monal89383' type='set'>
Oct 06 21:43:07 c2s9db7560      debug   #queue = 1
Oct 06 21:43:07 c2s9db7560      debug   Queuing <r> (in a moment)
Oct 06 21:43:07 c2s9db7560      debug   Handled 2 incoming stanzas
Oct 06 21:43:07 c2s9db7560      debug   Received[c2s]: <iq id='monal89383' type='get' to='xmpp.eightysoft.de'>
Oct 06 21:43:07 c2s9db7560      debug   #queue = 2
Oct 06 21:43:07 c2s9db7560      debug   Handled 3 incoming stanzas
Oct 06 21:43:07 c2s9db7560      debug   Received[c2s]: <iq id='monal89383' type='get' to='xmpp.eightysoft.de'>
Oct 06 21:43:07 c2s9db7560      debug   #queue = 3
Oct 06 21:43:07 c2s9db7560      debug   Handled 4 incoming stanzas
Oct 06 21:43:07 c2s9db7560      debug   Received[c2s]: <iq id='monal89383' type='get'>

You should use uuids as stanza ids to avoid all sorts of id clashes.

Preferences not saved

Version 1.2 (24) from MAS, OS X 10.11.3.

  1. Open Preferences: Display and enabled Show offline contacts and Show Message Previews.
  2. Restart the app
  3. Open Preferences: Display again

Preferences aren’t saved.

http upload, SSL error?

I just tested uploading a file with http upload and I get
"There was an error uploading the file to the server" and then some explaining text "An SSL error has occured and a secure connection to the server cannot be made.".

I don't get it, there's a valid cert on the server, and not self-signed.

(No problems with Gajim or Conversations)

MAM timestamps

Got messages from archive, but with current time. Please, check the message timestamp

Add support for SplitScreen and Slide-Over on recent iPads

Hi,
please consider adopting the multitasking enhancements introduced in iOS9.
Being able to work in split screen mode and having Monal always at hand would be awesome.
According to Apples documentation it shouldn't require any big changes and it would definitely make Monal stand out.

P.S. If you'd consider including the feature but don't find the time let me know - I could probably offer a PR

Not fetching contact list

Version 1.2 (24) from MAS, OS X 10.11.3.

Client connects okay. From the status light in Preferences: Accounts, it looks like it’s connecting and disconnecting a few times (blinks between red and green light), before settling on connected (green light). My contact list, however, is never fetched and the contacts list is never populated.

XEP-0048: Bookmarks

Monal should use XEP-0048 Bookmark Storage to join those MUCs in the users bookmarks. Also when joining a new MUC with Monal, that MUC should be added to the bookmark list.

This gives the following possibilities:

  • Only join those those marked with auto join
  • Use nickname from bookmark
  • Use name from bookmark to display in conversations list

(e.g. clients like Gajim and Conversations uses bookmarks and honours all those settings)

App terminate

When i app terminate than user connect or display online in XMPP server?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.