Git Product home page Git Product logo

conversations's People

Contributors

inputmice 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  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

conversations's Issues

settings view needs double closing

When in settings while coming from manage accounts screen I have to press back 2 times to close settings. After pressing back the first time the settings page is snapping in like you went to a new page. After pressing back a second time it closes as expected.

Im on Cyanogenmod 11 nightly build.

Strip html messages

A user on google play reported that some chat clients send (x)html? within the body and thus spamming conversations with garbage.
Could somebody confirm this and provide me with the name of a client which does that?

(Not really our fault since no client should put xhtml in the body - there is an extra tag for that - but we can fix that anyway)

Repository has no license information

There seems to be no indication as to which open source license this code is under. Could you indicate, either in the headers of your code or in a LICENSE file in the repository root (or both!) how you are licensing this code? Thanks!

Use the alias field from the addressbook

Introduction

Purpose

As a user with a large address book with many persons having almost the same name I use alias to differentiate the people. The APP could check the alias field and use it, if it is set as displayed name in the NewConversationActivity.

Show user as online in the contacts list

Hi,
I think it would be great to see in the contacts list if users are online. You can only see the status if you look into the contact details. This is not very convenient ;)
A small indicator next to each contact would be a small but great improvement.

fetch roster

Fetch roster on every connect when wifi or roster versioning. roster pushes are awesome

Make Conversations not crash on missing permissions

One of the design goals of Conversations is to require as little permissions as possible. Yet we require permissions like READ_CONTACTS which - if we were a malicious app could mean I significant impact on privacy. We can not get rid of that permission completely because I really like to have pictures of my contacts. (And also the full names) However Conversations was designed in a way that these permissions are only used at some very specific parts within the code. It would be very easy to wrap those parts with a try-catch and have them return empty values (which then would appear to the rest of Conversations as if these contacts wouldn't exist. (And one would see the usual coloured letters)

The goal is that you could very simply remove the one line from the Manifest and have Conversations behave as usual.

'bad request' on outgoing messages.

Every time I try sending a message, I get a "bad request" error. Incoming messages seem to work fine though. This behaviour is observed using gmail's xmpp services (which seem to work fine in pidgin). Also, I'm using the build from f-droid.org's repositories. Any ideas?

Suggest known XMPP servers

When adding a "new account" one has to type in the complete FQDN to identify the xmpp server in question. Since typing on mobile keyboards is hard, Conversations should support the user in entering the domain names of known XMPP-Servers.

There are some directories of jabber servers that could be used as a source of known servers:

This could be done with auto completion, though one had to type the whole subdomain: "jabber" could mean "jabber.freenet.de" or "jabber.ccc.de", so substring matching could improve that "ccc" would definately mean "jabber.ccc.de" and "freenet" would definately mean "jabber.freenet.de". Substring matching on the TLD would also avoid confusion about popular subdomains like "im.example.com", "jabber.example.com" or "xmpp.example.com".

See also the comment of @rtreffer on this

Little question about streammanagment and offlinemessages.

Hi,
Streammanagment works fine ( when the user lost the connection for a short time )
Offlinemessages too ( when the user is complete Offline )

But...
when i send a message to a user ...and the users APP is crashed, or the smartphone reboots.
The message is lost ....and i recieve a "recipient unavailable" message from the server.

is there a way to handle this on clientside ?
or is it a server thing ?

Unable to resume session with compression enabled

I haven't been able to use stream resumption with compression enabled. I've been trying to narrow that down without much success.
First of all I get a ping timeout after the first (Maybe flush doesnt work and doesnt deliver the packet (speculating here) then Conversations tries to reconnect, resumes again and eventually I will get an xml-not-well-formed from the server

D/xmppService(22009): [email protected]: compression enabled
D/xmppService(22009): seconds since last connect:0
D/xmppService(22009): [email protected]: status=0
D/xmppService(22009): found old stream id. trying to remuse
D/xmppService(22009): <resume h="43" xmlns="urn:xmpp:sm:3" previd="b4397ce2-12be-408f-b5ed-e9b10604156b"/>
 <r xmlns="urn:xmpp:sm:3"/>
D/xmppService(22009): [email protected]: session resumed
D/xmppService(22009): processStreamError
D/xmppService(22009): found unexpected tag: xml-not-well-formed as child of stream

Ui "detaches" from backend service

Sometimes, the UI seems to get temporarily detached from the backend. This means that a conversation view will not get updated with new incoming or outgoing messages. It is still possible to type outgoing messages and send them, and they will be transmitted, but the news messages do not appear in the UI. New incoming messages do not appear in the UI either, but notifications for them will appear. This can be "fixed", by reopening the conversation view in some way, e.g. navigating to the conversation list and then reopening the conversation.

This issue has been known for a while, but we haven't been able to track down the cause due to problems with reproducibility. This problem only seems to appear (for me at least) when entering the app from a notification selected from the lock screen. It also does not seem to affect everyone, so if someone can't reproduce it themselves, I'd be happy to provide any additional information or try out some experimental builds and report back.

Feature request: Gateway support

I running XMPP transports on my server to access some legacy networks (prosody + spectrum2). It already works, but visually floods my contact list, because there are too many contacts then. I could think of organizing them by groups would already help a lot: hiding/collapsing them most of the time would keep the contact list lean.

And with my transports I get a new contact for each gateway I use, which is practically useless (AFAIK) and also acquires space in the contact list. Hiding this one might be a good solution too.

Account / Address book integration

Hi *,

As said I've some code floating around to simplify account management and to integrate with the phones address book...

I'd specifically like to move in:

Now the important questions:

  • What users (jids) should be moved to the address book?
  • Should/Can we keep groups alive?
  • Should we auto-merge with existing users?
  • Should we slowly query the jids for their info? Or should we be "aggressive"?
  • Should we integrate with the account sync? This would be the perfect moment for a roaster fetch.

@iNPUTmice opinions?

Merging / integrating this could take a bit longer.

Status: server not found

Heya!

Just installed your app and added my account on my own private server. I'm positive that the settings are correct, however the app simpy sais:

Status: server not found

I'm positive that the server is up and running, as I'm using it via pidgin right now from the same subnet. Also, I can reach the webserver on the same machine from my phone. Is there a way to get the connection log to debug the situation further?

Feature request: Authentication of new contacts

It would be very great to have the possibility to authenticate a new chat contact within this app. In my case, I've installed a desktop xmpp client just for authentications to woraround this missing feature.

PS: Thanks for your enthusiasm and this awesome app!

Feature request: close/exit functionality

I can't find any possibility to close the app, if I really want to do this.
Today, I've killed the process (over recent apps) but realized, that there is a background service, which has people let talk to me further.
Then I stoped the service and got one more chat request, (over the cached background process, which bootstraps the service, I think).
But it would be very helpful to close the app with all its dependencies over a button or point in the menu.

When enabling SM use the server advertised namespace.

Conversation seems to just check for the sm element presence into features for support and completely ignore the namespace of the said element which defines the protocol version.

Ending in it just arbitrarily using version 3 as shown below:

Mar 28 11:25:29 c2s4358ad0  info    Client connected
Mar 28 11:25:29 c2s4358ad0  debug   Client sent opening <stream:stream> to lightwitch.org
Mar 28 11:25:29 c2s4358ad0  debug   Sent reply <stream:stream> to client
Mar 28 11:25:29 c2s4358ad0  debug   Received[c2s_unauthed]: <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'>
Mar 28 11:25:29 c2s4358ad0  debug   TLS negotiation started for c2s_unauthed...
Mar 28 11:25:29 c2s4358ad0  debug   Client sent opening <stream:stream> to lightwitch.org
Mar 28 11:25:29 c2s4358ad0  debug   Sent reply <stream:stream> to client
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s_unauthed]: <auth mechanism='PLAIN' xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
Mar 28 11:25:30 c2s4358ad0  info    Authenticated as [email protected]
Mar 28 11:25:30 c2s4358ad0  debug   Client sent opening <stream:stream> to lightwitch.org
Mar 28 11:25:30 c2s4358ad0  debug   Sent reply <stream:stream> to client
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s]: <iq id='2makl7v972' type='set'>
Mar 28 11:25:30 c2s4358ad0  debug   Resource bound: [email protected]/mobile
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s]: <iq id='s7h7g8lgjr' type='set'>
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s]: <enable xmlns='urn:xmpp:sm:3' resume='true'>
Mar 28 11:25:30 c2s4358ad0  debug   Disconnecting client, <stream:error> is: unsupported-stanza-type
Mar 28 11:25:30 c2s4358ad0  info    c2s stream for [email protected]/mobile closed: unsupported-stanza-type
Mar 28 11:25:30 c2s4358ad0  debug   Destroying session for [email protected]/mobile ([email protected]): unsupported-stanza-type
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s_destroyed]: <presence from='[email protected]/mobile'>
Mar 28 11:25:30 c2s4358ad0  debug   Discarding data sent to resting session: <presence type='error' to='[email protected]/mobile'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></presence>
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s_destroyed]: <iq id='huum75njao' type='get' to='lightwitch.org'>
Mar 28 11:25:30 c2s4358ad0  debug   Discarding data sent to resting session: <iq id='huum75njao' type='error' from='lightwitch.org'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s_destroyed]: <iq id='oh4a5p2of8' type='get' to='lightwitch.org'>
Mar 28 11:25:30 c2s4358ad0  debug   Discarding data sent to resting session: <iq id='oh4a5p2of8' type='error' from='lightwitch.org'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
Mar 28 11:25:30 c2s4358ad0  debug   Received[c2s_destroyed]: <iq id='79par05df9' type='get'>
Mar 28 11:25:30 c2s4358ad0  debug   Discarding data sent to resting session: <iq id='79par05df9' type='error'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
Mar 28 11:25:30 c2s4358ad0  info    Client disconnected: connection closed

Perhaps it should either use the advertised version or not try to enable Stream Management at all.

Leaving conference room kills the app

I/ActivityManager( 1977): START u0 {cmp=eu.siacs.conversations/.ui.NewConversationActivity} from pid 12585
D/AndroidRuntime(12585): Shutting down VM
W/dalvikvm(12585): threadid=1: thread exiting with uncaught exception (group=0x41f6bc80)
E/AndroidRuntime(12585): FATAL EXCEPTION: main
E/AndroidRuntime(12585): Process: eu.siacs.conversations, PID: 12585
E/AndroidRuntime(12585): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
E/AndroidRuntime(12585):    at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
E/AndroidRuntime(12585):    at java.util.ArrayList.get(ArrayList.java:308)
E/AndroidRuntime(12585):    at eu.siacs.conversations.ui.ConversationActivity.onOptionsItemSelected(ConversationActivity.java:297)
E/AndroidRuntime(12585):    at android.app.Activity.onMenuItemSelected(Activity.java:2600)
E/AndroidRuntime(12585):    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1065)
E/AndroidRuntime(12585):    at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/AndroidRuntime(12585):    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
E/AndroidRuntime(12585):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
E/AndroidRuntime(12585):    at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:177)
E/AndroidRuntime(12585):    at android.widget.AdapterView.performItemClick(AdapterView.java:298)
E/AndroidRuntime(12585):    at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
E/AndroidRuntime(12585):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
E/AndroidRuntime(12585):    at android.widget.AbsListView$3.run(AbsListView.java:3638)
E/AndroidRuntime(12585):    at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(12585):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(12585):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(12585):    at android.app.ActivityThread.main(ActivityThread.java:5081)
E/AndroidRuntime(12585):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(12585):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(12585):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
E/AndroidRuntime(12585):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(12585):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 1977): Activity pause timeout for ActivityRecord{424116f0 u0 eu.siacs.conversations/.ui.ConversationActivity t187 f}

Close OTR channel when switching to plain text communication

Steps to reproduce:

  • Have a previously established OTR session with a buddy
  • Switch off OTR in the app
  • Continue writing messages

Actual results:
The messages are sent unencrypted, but the OTR channel is not closed by the app. This produces potentially confusing notifications of unexpectedly unencrypted messages at the other party's client.

Expected results:
The app should close the OTR channel to notify the other communication party of the user's choice to continue communicating without encryption.

Archiving Conversations Broken

I/ActivityManager(13023): Timeline: Activity_launch_request id:eu.siacs.conversations time:38260135
I/ActivityManager( 1977): START u0 {cmp=eu.siacs.conversations/.ui.NewConversationActivity} from pid 13023
D/AndroidRuntime(13023): Shutting down VM
W/dalvikvm(13023): threadid=1: thread exiting with uncaught exception (group=0x41f6bc80)
E/AndroidRuntime(13023): FATAL EXCEPTION: main
E/AndroidRuntime(13023): Process: eu.siacs.conversations, PID: 13023
E/AndroidRuntime(13023): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
E/AndroidRuntime(13023):    at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
E/AndroidRuntime(13023):    at java.util.ArrayList.get(ArrayList.java:308)
E/AndroidRuntime(13023):    at eu.siacs.conversations.ui.ConversationActivity.onOptionsItemSelected(ConversationActivity.java:297)
E/AndroidRuntime(13023):    at android.app.Activity.onMenuItemSelected(Activity.java:2600)
E/AndroidRuntime(13023):    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1065)
E/AndroidRuntime(13023):    at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/AndroidRuntime(13023):    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
E/AndroidRuntime(13023):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
E/AndroidRuntime(13023):    at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:177)
E/AndroidRuntime(13023):    at android.widget.AdapterView.performItemClick(AdapterView.java:298)
E/AndroidRuntime(13023):    at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
E/AndroidRuntime(13023):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
E/AndroidRuntime(13023):    at android.widget.AbsListView$3.run(AbsListView.java:3638)
E/AndroidRuntime(13023):    at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime(13023):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime(13023):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(13023):    at android.app.ActivityThread.main(ActivityThread.java:5081)
E/AndroidRuntime(13023):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(13023):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(13023):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
E/AndroidRuntime(13023):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime(13023):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 1977): Activity pause timeout for ActivityRecord{42271660 u0 eu.siacs.conversations/.ui.ConversationActivity t187 f}

duplicate "Add Account" dialog on rotation

When one opens the "Add Account" dialog box and rotates the phone, the another dialog box pops up right over it. This only happens when there is no account under "Manage Accounts". To add an account it is not enough to just enter all data into the upper dialog box and one has to close all but the last dialog boxes and enter the credentials there. So this can be very annoying and frustrating when gone unnoticed. This is especially critical, because right after installing Conversations, this dialog box is the first thing te user sees. Because there is no account initially, the very first user interaction is broken and in a annoying way. Note that the original dialog box resizes in the right way, so there seems to be no reason to create another one in the first place. There also appears a dialog box, when going to "Manage Accounts" and just rotating the screen.

Transform certificate failure into a notification

Hi,

It has happend ~3x to me that I was redirected to the RosterActivity while the certificate was "untrusted" and the connection was thus stuck. I had to go back to the Manage Accounts view, reconnect and acknowledge the certificate.

Yaxim had a nice notification iirc that would appear if the certificate is not trustworth. This has the nice advantage that it works even if the certificate is changed. It might make sense to show such a warning inside every activity, too....

Alternatly: I once implemented a way to run a detached XMPP connection, one that does not belong to a service but is rather standalone. This way one can do a full connect, see what breaks, alert the user and have him fix the issues. This is especially useful in on a "create account" situation.

Feature Request: Auto-away when screen is off

I know the goal of Conversations is largely to hide things like current online status for simplicity's sake, but this results in users showing up on desktop clients as always "available." Google Talk handled this by setting users to "away" when their screen was off/locked.

OpenPGP API version 3

I was required to implement some changes to the OpenPGP API to get it accepted for K-9 Mail.
Unfortunately some of these changes were breaking changes.
Now that my pull request has been merged into K-9 Mail (thunderbird/thunderbird-android#457), I promise that in the near future no big API changes are planned.

So, to work with OpenKeychain 2.5 (should appear in some hours on Google Play), you would need to update to the current openpgp-api-library.
I now also have a small documentation wiki page here: https://github.com/openpgp-keychain/openpgp-keychain/wiki/OpenPGP-API

If you have questions, don't hesitate to write me.

Source code: refactor XMPPConnection into several classes

Awesome project BTW! I was also working on an XMPP client which looked beautiful but due to time constraints I never managed to get any meaningful progress on it. Then I came across this project which incorporates much of what I wanted to implement.

However, one improvement which I would like to suggest is the splitting up of XMPPConnection class into several more manageable classes. Right now it's a super class which does everything in one class. However, a better more managable design would be splitting this up into several classes as so:

  • a wrapper class which wraps the connection process using a thread
  • the actual connection class which carries out the connection and then starts parsing
  • a main parser class which accepts the next tag and chooses the sub-parser based on the tag's info
  • several parser class which actually do the reponses etc.

This is very similar to a design of an IRC library I wrote for Android github.com/tilal6991/Relay - the basic structure is the same as I what I suggest here.

Awesome work again

iq 'from' attributes are not checked and roster pushes are not verified

I've been looking into XMPP implementations and whether they verify the source of iq replies. See http://mail.jabber.org/pipermail/jdev/2014-January/089824.html and http://mail.jabber.org/pipermail/jdev/2014-January/089838.html for more discussion.

https://github.com/siacs/Conversations/blob/master/src/eu/siacs/conversations/xmpp/XmppConnection.java#L650 appears to contain no code that checks whether the received iq's from attribute matches the used to attribute. This can lead to spoofing of iq replies (spoofing rosters, etc.). The use of randomly generated id values makes this harder, but not impossible.

More importantly, https://github.com/siacs/Conversations/blob/7d505856a0009464eb9e2523743c1bba6241a217/src/eu/siacs/conversations/services/XmppConnectionService.java#L322 does not check for roster pushes whether they come from the server or not. Any incoming iq with an <query xmlns='jabber:iq:roster'> child is handled as if it were a push from the server. I have not verified this using the client itself, only by inspection of the source code. These replies should come from your own bare JID, but some other servers out there send it from the bare domain or from your own full JID.

Add support for DIGEST-MD5

Love the style of the App so purchased however when I add my account it just says connecting..... How can I find out why ?

I have all my DNS SRV records set etc and can get other clients to work no problem at all.

Support SCRAM-SHA1-PLUS

SCRAM-SHA1-PLUS is one of the few auth methods that is MITM safe. It hashes TLS informations into the sasl response which means only the other end of the connection can verify the credentials, meaning a normal MITM will fail on auth. (This is called channel binding, which is available if the -PLUS suffix is used).

This is only useful if the application also pins the auth method, e.g. if a server proposed SCRAM-SHA1-PLUS it will no longer fall back to a weaker auth method.

Beem seems to use the swift.im implementation. I'm not sure if their licence is compatible.

Feature request: Join MUC and allow log-out

It would be nice, if Conversations would provide the following things:

  1. A way to join existing MUC (I assumed it would support MUCs, as Group Chats are advertised).
  2. A way to log out, be offline. I manually stopped Conversations on my phone when switching to a PC, however, I'm still getting messages to the phone.

Thanks a lot,

Server Port is not changeable

My prosody is running on a non-standard port and there is no option to select a different port. It should be able to get the port via DNS because the C2S-port is also in a SRV-port but the app doesn't seem to check against the SRV record.

Support for own certificates

I use my self hosted prosody server with self generated certificate.

Conversations always say: Status: server not found

I think it is because my certificate.
Will it be possible to use own certificates?

Source code: splitting off the XMPP part of Conversations into a new library

Currently the XMPP part and the UI part are in one package. This makes it hard for other projects to use the XMPP library directly in their projects. Splitting the xmpp sub-package into a new library repository and using that instead would solve this issue and also increase the maintainabilty of both parts by increasing class seperation

Crash while joining a muc room.

I/ActivityManager( 1897): START u0 {act=android.intent.action.VIEW typ=viewConversation flg=0x4000000 cmp=eu.siacs.conversations/.ui.ConversationActivity (has extras)} from pid 4496
D/xmppService( 4496): calling start service. caller was:ui
I/ActivityManager( 1897): Displayed eu.siacs.conversations/.ui.ConversationActivity: +271ms
W/CursorWrapperInner( 4496): Cursor finalized without prior close()
I/ActivityManager( 1897): Timeline: Activity_windows_visible id: ActivityRecord{41b51af8 u0 eu.siacs.conversations/.ui.ConversationActivity t3} time:358395
D/AndroidRuntime( 4496): Shutting down VM
W/dalvikvm( 4496): threadid=1: thread exiting with uncaught exception (group=0x4163ece0)
E/AndroidRuntime( 4496): FATAL EXCEPTION: main
E/AndroidRuntime( 4496): Process: eu.siacs.conversations, PID: 4496
E/AndroidRuntime( 4496): java.util.ConcurrentModificationException
E/AndroidRuntime( 4496):    at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
E/AndroidRuntime( 4496):    at eu.siacs.conversations.entities.Conversation.getMessages(Conversation.java:88)
E/AndroidRuntime( 4496):    at eu.siacs.conversations.ui.ConversationFragment.updateMessages(ConversationFragment.java:380)
E/AndroidRuntime( 4496):    at eu.siacs.conversations.ui.ConversationActivity$1$1.run(ConversationActivity.java:80)
E/AndroidRuntime( 4496):    at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 4496):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 4496):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 4496):    at android.app.ActivityThread.main(ActivityThread.java:5081)
E/AndroidRuntime( 4496):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4496):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 4496):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime( 4496):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
E/AndroidRuntime( 4496):    at dalvik.system.NativeStart.main(Native Method)

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.