redsolution / xabber-android

Open-source XMPP client for Android
http://xabber.com
Other
1.82k stars 815 forks source link

Why aren't images (or other file types) displayed inline on http_upload? #817

Open webmst opened 6 years ago

webmst commented 6 years ago

Hi all, having xabber on both the sending and the receiving clients, I notice that when I send an image via http_upload, the receiver always gets a URL displayed on screen instead of having the image displayed inline, like the sender sees. It's not a big hassle, I'm just wondering why I have to tap on the URL to have it displayed in another app (chrome). I know that XEP-0363 specifies that just the URL of the sent file is transfered from the sender to the receiver, leaving the task of opening it to the client, so I'm asking if the receiving xabber client can use some kind of "inline helper apps" to quickly open the files (e.g. an inline picture viewer for images or a mini-media player for media files). Thanks in advance.

andrewnenakhov commented 6 years ago

Actually Xabber tries to load images if url looks like an image. Big sized images take long time to load. This can be turned off in Settings-Privacy, because in current implementation it potentially allows url sender to determine IP address of recipient when client will try to pull image from provided url.

Close issue if you feel like your question was answered.

webmst commented 6 years ago

Well, what you have described it's not what I see.

On the sender's side a green check mark is promptly displayed under the inline image but on the receiver's side I just see the full URL of the image (e.g. https://xmppserver.addr/upload//image_file.jpg).

For the records, in privacy-settings, the loading of images is enabled.

The afore said behaviour led me to think that the whole inline visualization of uploaded files (of different types) is still to be developed.

Please let me know if other commonly-used filetypes are actually rendered inside xabber (e.g. text or some well-known media formats just to start); as I said before my expectation was Xabber to be embedding the function of other apps (e.g. vlc for playing media).

Str4tocaster commented 6 years ago

@webmst Currently Xabber can parse only images inside message.

webmst commented 6 years ago

@Str4tocaster IMHO, it would be a very good idea for it to parse for opening inline some common filetypes, still - given images can already be handled - I'm wondering why .jpg files are not opened in my case (url parsing algorithm error?)...

andrewnenakhov commented 6 years ago

@webmst images might be not displayed if they are unreachable by network or take too much time to load.

We plan to change image display slightly anyway, so only images that were sent explicitly as images would be displayed automatically, others would be just links.

webmst commented 6 years ago

@andrewnenakhov

It sounds OK to me that the algorithm checks if the image file is available on the server within a given time before displaying it, so I tried sending a small image (<1M) having both the server (prosody 0.9) and two Xabber clients on the same LAN (to exclude connectivity issues) just to check your hypotesis, with no luck (same result).

Could I look for anything specific on Xabber's log?