Commit graph

205 commits

Author SHA1 Message Date
Daniel Gultsch d6835101b9 fixes for previous commit 2019-10-05 21:58:21 +02:00
Daniel Gultsch 9bf5fb98ac show language in message bubble if multiple language variants were received
XML and by inheritence XMPP has the feature of transmitting multiple language
variants for the same content. This can be really useful if, for example, you
are talking to an automated system. A chat bot could greet you in your own
language.

On the wire this will usually look like this:

```xml
<message to="you">
  <body>Good morning</body>
  <body xml:lang="de">Guten Morgen</body>
</message>
```

However receiving such a message in a group chat can be very confusing and
potentially dangerous if the sender puts conflicting information in there and
different people get shown different strings.

Disabeling support for localization entirely isn’t an ideal solution as on
principle it is still a good feature; and other clients might still show a
localization even if Conversations would always show the default language.

So instead Conversations now shows the displayed language in a corner of the
message bubble if more than one translation has been received.

If multiple languages are received Conversations will attempt to find one in
the language the operating system is set to. If no such translation can be
found it will attempt to display the English string.

If English can not be found either (for example a message that only has ru and
fr on a phone that is set to de) it will display what ever language came first.

Furthermore Conversations will discard (not show at all) messages with with
multiple bodies of the same language. (This is considered an invalid message)

The lanuage tag will not be shown if Conversations received a single body in
a language not understood by the user. (For example operating system set to
'de' and message received with one body in 'ru' will just display that body as
usual.)

As a guide line to the user: If you are reading a message where it is important
that this message is not interpreted differently by different people (like a
vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-12 10:12:51 +02:00
Daniel Gultsch b2ea91909b introduced type private_file_message to handle attachments in PMs. fixes #3372 2019-04-27 11:46:43 +02:00
Daniel Gultsch bf7d50692c use styled warning for message error. fixes #3428 2019-04-08 16:32:41 +02:00
Daniel Gultsch d390345073 show max file upload size in server info 2019-03-23 07:27:03 +01:00
Daniel Gultsch 24a51d8715 do null check before splitting error message for processing 2019-02-23 10:24:08 +01:00
Daniel Gultsch d95b904b5b show file too large instead of generic delivery failed 2019-02-20 21:44:06 +01:00
Daniel Gultsch 7f170276a9 refactored avatar workers into single class 2019-01-25 10:07:02 +01:00
Daniel Gultsch 04d1b92a79 make bitmap worker task static; migrate conversation list row to binder 2019-01-24 12:27:57 +01:00
Daniel Gultsch c5e35dc4b3 extend open with to audio files 2019-01-12 10:29:41 +01:00
Daniel Gultsch e9bf2b464c explicitly set type=images for all media with an image mime type
this is in preperation to be able to query the database for all images
2019-01-12 09:01:35 +01:00
Daniel Gultsch 52afcac230 mark deleted files in database and not query them when querying for media 2019-01-10 14:52:27 +01:00
Daniel Gultsch 5c920a9362 fixed some rare crashes caused by race conditions 2018-12-17 19:35:08 +01:00
Daniel Gultsch c02676ea4c implement self healing omemo
after receiving a SignalMessage that can’t be decrypted because of broken sessions
Conversations will attempt to grab a new pre key bundle and send a new PreKeySignalMessage
wrapped in a key transport message.
2018-12-02 14:41:29 +01:00
Daniel Gultsch de0741bdf7 show cancelled instead of delivery failed if user requested to abort transfer 2018-10-07 14:59:08 +02:00
Daniel Gultsch 06972ec95c show conversation media in contact/conference details 2018-09-15 19:38:45 +02:00
Daniel Gultsch ffc5d47091 Merge branch 'start_convervsations_by_long_press' of https://github.com/ChaosKid42/Conversations into ChaosKid42-start_convervsations_by_long_press 2018-09-02 15:02:03 +02:00
Christoph Scholz 3ecb7136c1 start new conversations by long press on avatar 2018-09-01 21:05:31 +02:00
Daniel Gultsch 06f37b0d2b AudioPlayer: disable screen and switch to earpiece when holding phone to ear
Based of initial worked by @harshitbansal05
2018-09-01 18:23:07 +02:00
Daniel Gultsch 4b3de32a4e linkify subject + open xmpp directly w/o going through start conv activity 2018-06-20 15:12:02 +02:00
Daniel Gultsch 17db77ed5d Merge branch 'trailing_url_slash' of https://github.com/klonfish/Conversations into klonfish-trailing_url_slash 2018-06-11 16:19:51 +02:00
Daniel Gultsch 1510958278 do not show file id in check size button 2018-05-26 10:17:38 +02:00
klonfish 41760b40ef Improved URL matching
URLs with trailing special chars (e.g. slash, minus, ...) should now be
matched correctly, even when followed by a non-url char
2018-05-10 20:55:05 +02:00
Daniel Gultsch ffe610f961 max out emoji enlargment at 42 emojis 2018-05-09 09:07:26 +02:00
Daniel Gultsch 7ca719b8be apply styling helper to conversation overview 2018-05-06 11:22:20 +02:00
Daniel Gultsch 9b73029267 copy jabber id and web url via context menu 2018-05-04 11:39:03 +02:00
Daniel Gultsch 6fe5c5e770 handle invalid image bounds 2018-05-03 15:38:48 +02:00
Daniel Gultsch 5e1cbf8514 only highlight alphanumeric chars 2018-05-03 13:57:13 +02:00
Daniel Gultsch 949b77c353 make show location depend on plugin setting 2018-05-01 12:55:11 +02:00
Daniel Gultsch 27f31446c0 search term parsing + highlighting 2018-04-30 17:09:55 +02:00
Daniel Gultsch 3011f875eb highlight search term in search results 2018-04-28 23:50:35 +02:00
Daniel Gultsch 59b5dece96 theming: switched to material green. changed accent color 2018-04-27 14:50:27 +02:00
Daniel Gultsch 2177e575bc use styled colors for online/offline text 2018-04-26 21:50:24 +02:00
Daniel Gultsch 35020702fb very much unoptimized search functionality 2018-04-26 13:22:31 +02:00
Daniel Gultsch 064e5a4f0d make text clickable in openkeychain missing message 2018-04-15 17:30:28 +02:00
Daniel Gultsch 14f9a51b8b change opacity on emoji only messages 2018-04-11 09:04:16 +02:00
Daniel Gultsch bda95bc571 make error message for 'not encrypted for this device' 2018-04-04 18:21:22 +02:00
Daniel Gultsch fe90e70bb1 remove trailing ) in urls 2018-03-14 21:59:18 +01:00
Daniel Gultsch 94bb7c423c added splash screen 2018-03-07 22:30:36 +01:00
Daniel Gultsch 1accf9d961 migrate to xmpp-addr 2018-03-07 22:30:36 +01:00
Daniel Gultsch 0add9a0ea2 audio player now requests permission when hitting play 2018-03-07 22:30:36 +01:00
Daniel Gultsch b5e1bbbdc1 request storage permission when opening message 2018-03-07 22:30:36 +01:00
Daniel Gultsch 157ca65b0a use text styles in more places 2018-03-07 22:30:35 +01:00
Daniel Gultsch e0317cfa14 made download button in message adapter work 2018-03-07 22:30:34 +01:00
Daniel Gultsch 6b689edb52 move new activity back to original name 2018-03-07 22:30:34 +01:00
Daniel Gultsch dd21f5d072 wip 2018-03-07 22:30:34 +01:00
Daniel Gultsch 8d9d96d4e1 vastly untested refactor. pushing for backup purposes 2018-03-07 22:30:34 +01:00
Daniel Gultsch fb383c7881 use async avatar loader in conference details 2018-03-07 22:30:34 +01:00
Daniel Gultsch 3c4ba7e0ce keep screen on during audio playback. fixes #2733 2018-01-21 16:04:31 +01:00
Daniel Gultsch 0e6d3db926 Do not show xmpp uris as links that have invalid jids 2017-12-05 19:02:23 +01:00