1
0
mirror of https://github.com/vector-im/riotX-android synced 2025-10-06 00:02:48 +02:00

Compare commits

...

426 Commits

Author SHA1 Message Date
Benoit Marty
ab260e79eb Merge branch 'release/1.1.2' 2021-03-16 22:08:39 +01:00
Benoit Marty
2d64fe96c1 Prepare release 1.1.2 2021-03-16 22:08:29 +01:00
Benoit Marty
5ce984ce3f Merge pull request #3006 from vector-im/feature/bca/fix_video_wont_play
Regression: Video will not play upon tap
2021-03-16 18:32:20 +01:00
Valere
3b5dacd7e2 Merge branch 'develop' into feature/bca/fix_video_wont_play 2021-03-16 16:15:24 +01:00
Benoit Marty
f90bc17eb3 Merge pull request #3005 from vector-im/feature/bma/restore_code
Restore code
2021-03-16 15:54:57 +01:00
Valere
a52d20eeff Regression: Video will not play upon tap 2021-03-16 15:26:06 +01:00
Benoit Marty
b3ccd788f6 Merge pull request #2997 from ShadowJonathan/no-bold
Change ISSUE_TEMPLATE bold lines to proper headers
2021-03-16 15:03:15 +01:00
Benoit Marty
12b927f951 Merge pull request #3004 from vector-im/feature/bca/workaround_stuck_message
Quick Work around to remove stuck messages
2021-03-16 15:01:02 +01:00
Benoit Marty
e541a3b962 Merge branch 'develop' into feature/bca/workaround_stuck_message 2021-03-16 15:00:55 +01:00
Benoit Marty
9492887345 Restore call to clearUnavailableServersList() removed by mistake
See https://github.com/vector-im/element-android/pull/3001#pullrequestreview-613195611
2021-03-16 14:53:15 +01:00
Benoit Marty
641ce206c2 Move change to correct release version (#3001) 2021-03-16 14:48:27 +01:00
Benoit Marty
4273a6a1be Merge pull request #3001 from timokoesters/fix-parsing-servername
fix: make cross signing work with server names containing :
2021-03-16 14:46:47 +01:00
Benoit Marty
c80564e1b1 Merge pull request #2989 from vector-im/feature/bma/rr
Feature/bma/rr
2021-03-16 14:46:23 +01:00
Benoit Marty
431d450fec Merge branch 'develop' into feature/bma/rr 2021-03-16 14:46:10 +01:00
Benoit Marty
a30660ed43 Cleanup 2021-03-16 14:44:40 +01:00
Valere
b93200f371 unused params 2021-03-16 14:31:37 +01:00
Benoit Marty
4ad0eb3db2 Merge pull request #2999 from vector-im/feature/bma/shields
Shields optimization
2021-03-16 13:31:56 +01:00
Benoit Marty
cb17fa60dc Ganfra's review: delete files after the Realm transaction 2021-03-16 13:29:38 +01:00
Valere
5b94540f76 Quick Work around to remove stuck messages 2021-03-16 12:16:11 +01:00
Benoit Marty
e8bb3d81ed Ganfra's review: inject Moshi Moshi 2021-03-16 12:15:28 +01:00
Timo Kösters
dd2a7397a4 fix: make cross signing work with server names containing :
Server names are allowed to contain ':' to specify a port, see https://matrix.org/docs/spec/appendices#server-name
User ids on the other hand are not allowed to contain ':', even
historical user ids, see https://matrix.org/docs/spec/appendices#historical-user-ids

Therefore we can use the first instance of ':' to split the user
localpart from the server name.
2021-03-15 22:31:34 +01:00
Benoit Marty
e7c9fb987c Use AwaitTransaction (G's review) 2021-03-15 18:08:33 +01:00
Benoit Marty
4f3734f932 Ensure message are decrypted in the room list after a clear cache 2021-03-15 16:53:19 +01:00
Benoit Marty
4302d50af9 We do not display shield in the room list anymore
Room member are lazy loaded, so the shield may not be accurate anymore.
2021-03-15 16:09:08 +01:00
Benoit Marty
75ad6a640b loglimit 2021-03-15 16:02:09 +01:00
Benoit Marty
13cbfaf5e7 Do not load room members in e2e after init sync 2021-03-15 15:29:20 +01:00
Benoit Marty
71f2c50799 Do what the comment said 2021-03-15 15:02:04 +01:00
Benoit Marty
c4aadfed33 Better API and avoid copying Collection 2021-03-15 14:35:21 +01:00
Benoit Marty
ed662d3add Fix double RR issue when optimizing init sync 2021-03-15 14:19:23 +01:00
Jonathan de Jong
c998f5fd8f whoops 2021-03-14 19:20:35 +01:00
Jonathan de Jong
2708b85a20 Update CHANGES.md 2021-03-14 19:17:05 +01:00
Jonathan de Jong
cb0445c785 Change bold to headers 2021-03-14 19:14:53 +01:00
Benoit Marty
0c774c098f No op for empty list 2021-03-12 19:08:57 +01:00
Benoit Marty
e3d2186c25 Rework UpdateTrustWorker, should have better perf. 2021-03-12 18:55:53 +01:00
Benoit Marty
857bfcb971 Cleanup 2021-03-12 12:18:21 +01:00
Benoit Marty
0b0634b531 Ensure tmp file is always deleted when it is read 2021-03-12 12:17:47 +01:00
Benoit Marty
fe39c92e25 Load RR when opening a timeline 2021-03-12 12:17:47 +01:00
Benoit Marty
3777b00ad7 Store Ephemeral in files to handle them later (no second transaction) 2021-03-12 12:17:47 +01:00
Benoit Marty
e8d4fab305 Add template for 1.1.2 2021-03-12 12:17:29 +01:00
Benoit Marty
b5fa61c8aa Merge pull request #2983 from vector-im/dependabot/gradle/com.schibsted.spain-barista-3.9.0
Bump barista from 3.8.0 to 3.9.0
2021-03-11 22:44:54 +01:00
Benoit Marty
5cb577be58 Merge pull request #2984 from vector-im/feature/bma/fixes_release
2 fixes for release 1.1.2
2021-03-11 22:43:39 +01:00
ganfra
992cc0addd Message state: add sent status in BottomSheet 2021-03-11 19:34:34 +01:00
ganfra
a407ed1903 Fix live timeline event race condition 2021-03-11 15:24:06 +01:00
Benoit Marty
4b8c59a23b Fix crash on ViewSource of event 2021-03-11 14:14:55 +01:00
Benoit Marty
cbfb5d3fcc Fix color and bottom margin
And improve a11y
2021-03-11 11:10:59 +01:00
dependabot[bot]
507eba3ddb Bump barista from 3.8.0 to 3.9.0
Bumps barista from 3.8.0 to 3.9.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-10 21:08:12 +00:00
Benoit Marty
4e3ad91c67 Version++ 2021-03-10 22:05:31 +01:00
Benoit Marty
bc81931773 Merge branch 'release/1.1.1' 2021-03-10 22:04:26 +01:00
Benoit Marty
3f241cc996 Merge branch 'release/1.1.1' into develop 2021-03-10 22:04:25 +01:00
Benoit Marty
ac02d1d48a Prepare release 1.1.1 2021-03-10 22:03:57 +01:00
Benoit Marty
77772f01c1 Merge pull request #2981 from vector-im/feature/bma/wl
WL mistake
2021-03-10 21:57:33 +01:00
Benoit Marty
8c24dd0fba Add entry in changelog 2021-03-10 21:55:59 +01:00
Benoit Marty
c6828a8612 Fix issue with Locale folder.
Hoping Weblate will eat that correctly.
2021-03-10 21:54:11 +01:00
Benoit Marty
c5a4c805b5 Fix lint error 2021-03-10 21:54:11 +01:00
Benoit Marty
8a1a90d1b9 Merge pull request #2937 from vector-im/feature/ons/message_states
Improve the status of send messages
2021-03-10 21:51:48 +01:00
ganfra
ea21892d03 Message state: fix and clean code after Benoits review 2021-03-10 19:32:50 +01:00
Benoit Marty
2536452220 Merge pull request #2964 from vector-im/matthew/zh
rename zh-Hans and zh-Hant - TO BE MERGED DURING WEBLATE SYNC
2021-03-10 18:32:22 +01:00
Benoit Marty
730869a37a Merge pull request #2980 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2021-03-10 18:27:06 +01:00
ganfra
6c8e2f1fd6 Message state: allow edit and copy when failed 2021-03-10 18:10:03 +01:00
ganfra
bbb5dd06a2 Message state: adjust some ui 2021-03-10 18:08:18 +01:00
ganfra
fad4140924 Message states: makes sure the actions bottom sheet is updated with synced event 2021-03-10 17:56:48 +01:00
Benoit Marty
944ee1d8c1 Merge pull request #2979 from vector-im/feature/bma/quick_fixes
Fixes before the release
2021-03-10 17:21:06 +01:00
Benoit Marty
edb31ddec0 Cleanup 2021-03-10 17:20:51 +01:00
Weblate
cf251c38fd Merge branch 'origin/develop' into Weblate. 2021-03-10 15:38:07 +00:00
Hivaa
38f2c4c43d Translated using Weblate (Persian)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2021-03-10 15:38:00 +00:00
Benoit Marty
5c07a5780c Better with horizontal progress bar 2021-03-10 15:38:29 +01:00
Benoit Marty
5aa8b0255a Fix MainActivity display (Fixes #2927) 2021-03-10 15:34:28 +01:00
Benoit Marty
8356d18a67 Improve Snackbar duration (Fixes #2929) 2021-03-10 14:49:52 +01:00
Ihor Hordiichuk
f7abda5d1f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2021-03-10 11:29:18 +00:00
@a2sc:matrix.org
b373957b6b Translated using Weblate (German)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2021-03-10 11:29:18 +00:00
LinAGKar
8b867086aa Translated using Weblate (Swedish)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2021-03-10 11:29:17 +00:00
Thibault Martin
660129e690 Translated using Weblate (French)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2021-03-10 11:29:15 +00:00
@a2sc:matrix.org
0ae9abd6ad Translated using Weblate (German)
Currently translated at 99.8% (2348 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2021-03-10 11:29:02 +00:00
waclaw66
0ad1e46b0b Translated using Weblate (Czech)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2021-03-10 11:28:59 +00:00
Zet
e51b3bd399 Translated using Weblate (Arabic)
Currently translated at 38.8% (913 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2021-03-10 11:28:58 +00:00
Benoit Marty
fa40667633 Restore BottomSheet for event not sent.
Move the confirmation dialog when the action is selected from the bottom sheet.
2021-03-10 11:10:23 +01:00
ganfra
6977ee45da Timeline: force a build if decoration is SENT 2021-03-10 11:10:23 +01:00
Benoit Marty
c9c4a203d1 Code quality 2021-03-10 11:10:23 +01:00
Benoit Marty
47f7c91a3b Fix issue in e2e rooms. 2021-03-10 11:10:23 +01:00
Benoit Marty
b7c0951cbe Speed up sent state display for local echo 2021-03-10 11:10:23 +01:00
Benoit Marty
3ca25f9006 Some cleanup 2021-03-10 11:10:23 +01:00
Onuray Sahin
f64086a25f Do not show different text color for sending state. 2021-03-10 11:10:23 +01:00
Onuray Sahin
ab304b0b9f Do not decorate local echos as sent. 2021-03-10 11:10:23 +01:00
Onuray Sahin
f5f16fd330 Retry and delete options added for all failed messages. 2021-03-10 11:10:23 +01:00
Onuray Sahin
a3d45bbba8 Failed messages bottom sheet UI fixes. 2021-03-10 11:10:23 +01:00
Onuray Sahin
9eedac3e6d Fix color of sending media progress bar. 2021-03-10 11:10:23 +01:00
Onuray Sahin
0b98dfc976 Media messages send status implementation. 2021-03-10 11:10:23 +01:00
Onuray Sahin
c741916d9f Cancel sending event dialog. 2021-03-10 11:10:23 +01:00
Onuray Sahin
c178535cc8 Show send status of text messages. 2021-03-10 11:10:23 +01:00
Benoit Marty
1fe8dfa810 Merge pull request #2978 from vector-im/feature/fga/send_queue_rework
Feature/fga/send queue rework
2021-03-10 09:27:21 +01:00
ganfra
7936c2c6f8 Send: clean after Benoits review 2021-03-09 20:23:06 +01:00
Benoit Marty
60ce25394c Merge pull request #2977 from vector-im/feature/bma/chevron
Add arrows to room widget items
2021-03-09 18:30:44 +01:00
ganfra
3c7a108940 Send: clean and update CHANGES 2021-03-09 18:18:28 +01:00
Benoit Marty
c360404ed9 Merge pull request #2976 from vector-im/feature/bma/local_echo
Snappier local echo
2021-03-09 15:46:27 +01:00
Benoit Marty
eaf27a01e3 Merge pull request #2975 from vector-im/feature/bma/nsfw_filter
Basic filtering for "nsfw" keyword
2021-03-09 15:41:27 +01:00
Benoit Marty
46bc252a51 Add arrows to room widget item 2021-03-09 15:38:11 +01:00
Benoit Marty
25ea1ba641 Fix issue with local echo 2021-03-09 14:08:33 +01:00
Benoit Marty
0cd728222e Cleanup 2021-03-09 13:32:00 +01:00
Benoit Marty
66aa9cd888 Cleanup 2021-03-09 13:32:00 +01:00
Benoit Marty
33eed443d9 Split into smaller file - separation of concern 2021-03-09 13:32:00 +01:00
Benoit Marty
63329499ac Add comments 2021-03-09 13:32:00 +01:00
Benoit Marty
c57236da30 Code clarity 2021-03-09 13:00:18 +01:00
Benoit Marty
8ab2cd9ff8 Update wording 2021-03-09 11:46:04 +01:00
Benoit Marty
ed963d86f9 Merge pull request #2963 from vector-im/feature/bma/init_sync_noRR
Improve init sync performance
2021-03-08 17:38:06 +01:00
Benoit Marty
98a89564e1 Also filter out using the canonical alias 2021-03-08 13:59:44 +01:00
Benoit Marty
85b1edc6d2 Filter out rooms with "nsfw" in room name or room topic (enabled by default) 2021-03-08 13:53:04 +01:00
Benoit Marty
043ddcae2c Migrate RoomDirectoryService to coroutines (#2449) 2021-03-08 13:30:24 +01:00
Benoit Marty
07d2d29212 No need to have list of public room here 2021-03-08 13:23:34 +01:00
Hivaa
a1e6e234cc Translated using Weblate (Persian)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2021-03-08 09:58:29 +00:00
zeritti
cd9718b7ef Translated using Weblate (Czech)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2021-03-06 21:34:16 +00:00
Auri B. P
fda8ac1f51 Translated using Weblate (Catalan)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/ca/
2021-03-06 21:34:16 +00:00
Priit Jõerüüt
427a3d1be3 Translated using Weblate (Estonian)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2021-03-06 21:34:15 +00:00
LinAGKar
3457e0a757 Translated using Weblate (Swedish)
Currently translated at 99.3% (2335 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2021-03-06 21:34:15 +00:00
Priit Jõerüüt
a08177ef3d Translated using Weblate (Estonian)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2021-03-06 21:34:13 +00:00
Auri B. P
961af9e876 Translated using Weblate (Catalan)
Currently translated at 100.0% (2351 of 2351 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2021-03-06 21:34:10 +00:00
ganfra
a0df20fcd2 Send: clean code and add more logs 2021-03-05 21:03:52 +01:00
ganfra
9174632cfc Send: use coroutines and let room sending queues be independent of each others 2021-03-05 19:17:57 +01:00
Matthew Hodgson
42ef81cf40 apparently the others shouldn't have underscores either 2021-03-05 14:07:39 +00:00
Matthew Hodgson
aaeb9a0fd7 rename zh as per https://github.com/vector-im/element-android/issues/2752 2021-03-05 13:56:43 +00:00
Benoit Marty
490780b906 Fix classical init sync (not used anymore, except in debug mode) case. 2021-03-05 09:47:57 +01:00
Benoit Marty
ccf8e94c5e Small cleanup 2021-03-05 09:47:57 +01:00
Benoit Marty
f28714c5b2 Avoid empty json in filter 2021-03-05 09:47:57 +01:00
Benoit Marty
b25f13cceb Rename method for clarity 2021-03-05 09:47:57 +01:00
Benoit Marty
9719c0b2f9 Split init sync insertion into 2 transactions.
Ephemeral Events can be inserted later, so the room list can be displayed faster.
2021-03-05 09:47:57 +01:00
Benoit Marty
9d7c31d531 Riot -> Element 2021-03-05 09:47:57 +01:00
Benoit Marty
79c9c7105e Merge pull request #2960 from vector-im/feature/bma/lint
Feature/bma/lint
2021-03-04 22:24:24 +01:00
Benoit Marty
63b19da708 Merge pull request #2959 from vector-im/feature/bma/fix_lint
Feature/bma/fix lint
2021-03-04 22:23:06 +01:00
Benoit Marty
e5656e264a Merge pull request #2940 from vector-im/feature/bma/various_fixies
Rework event edition management
2021-03-04 18:03:45 +01:00
Benoit Marty
505d0995de Remove unused resource 2021-03-04 14:03:46 +01:00
Benoit Marty
ea08ce24a9 Remove unused resource 2021-03-04 14:03:46 +01:00
Benoit Marty
8cd02afd83 Remove unused resource and useless color override 2021-03-04 14:03:46 +01:00
Benoit Marty
f636b28823 Remove unused style 2021-03-04 14:03:46 +01:00
Benoit Marty
7c5ea63a4f Remove unused colors 2021-03-04 14:03:46 +01:00
Benoit Marty
d4d7c6cb4a Cleanup riotx_base colors 2021-03-04 14:03:46 +01:00
Benoit Marty
acbb796649 Fix potential issue with link colors 2021-03-04 14:03:46 +01:00
Benoit Marty
d5f5143c52 Rename file 2021-03-04 14:02:55 +01:00
Benoit Marty
ea293999df Remove unused string 2021-03-04 14:02:55 +01:00
Benoit Marty
7c4ec1f81c Fix unused string issue 2021-03-04 14:02:55 +01:00
Benoit Marty
e401252c03 Merge pull request #2956 from vector-im/feature/bma/scripts
Add a script to download and install APK from Buildkite
2021-03-04 14:01:30 +01:00
Benoit Marty
b9926c0f7c Merge pull request #2958 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2021-03-04 13:59:21 +01:00
Jeff Huang
8bd62dddc8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2021-03-04 12:23:23 +00:00
LinAGKar
f24159504d Translated using Weblate (Swedish)
Currently translated at 100.0% (12 of 12 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2021-03-04 12:23:23 +00:00
Jeff Huang
0508fe60d9 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2352 of 2352 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2021-03-04 12:23:22 +00:00
LinAGKar
6286c426e2 Translated using Weblate (Swedish)
Currently translated at 98.4% (2315 of 2352 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2021-03-04 12:23:19 +00:00
waclaw66
8d91140107 Translated using Weblate (Czech)
Currently translated at 100.0% (2352 of 2352 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2021-03-04 12:23:18 +00:00
Auri B. P
766a5d7c84 Translated using Weblate (Catalan)
Currently translated at 98.5% (2317 of 2352 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2021-03-04 12:23:15 +00:00
Benoit Marty
aea3364e67 Merge pull request #2954 from vector-im/feature/bma/fix_weblate
Fix weblate issues
2021-03-03 22:21:32 +01:00
Benoit Marty
0b5135b841 Add a script to download and install APK from Buildkite 2021-03-03 20:37:19 +01:00
Benoit Marty
663fc28cd5 Fix copyright 2021-03-03 19:51:11 +01:00
Benoit Marty
915295efc0 Import SAS strings 2021-03-03 19:36:39 +01:00
Benoit Marty
b842e62563 Ignore lint issue in generated resource file from templates 2021-03-03 19:35:46 +01:00
Benoit Marty
68364e0a82 Fix test compilation issue 2021-03-03 18:50:21 +01:00
Benoit Marty
c00a95d639 Ignore missing translation and error for typos 2021-03-03 18:17:09 +01:00
Benoit Marty
f3e0060195 Fix lint issue 2021-03-03 18:16:36 +01:00
Benoit Marty
7eec98ea23 Ensure we will not use the template string by mistake 2021-03-03 18:08:05 +01:00
Benoit Marty
035c10364d Template for not translatable string 2021-03-03 17:58:28 +01:00
Benoit Marty
caea19bf38 Avoid using "element" in the resource id 2021-03-03 17:56:48 +01:00
Benoit Marty
b980ca5d31 Remove unused string 2021-03-03 17:54:14 +01:00
Benoit Marty
263ad899d8 Setup com.likethesalad.android:string-reference to have compilation time build of Strings resource with the app_name 2021-03-03 17:30:57 +01:00
Benoit Marty
5f01494ed0 Remove unused resource 2021-03-03 16:09:08 +01:00
Benoit Marty
b8498aecd9 Code quality 2021-03-03 15:17:41 +01:00
Benoit Marty
8447bf4a2d Fix compilation issue 2021-03-03 15:05:57 +01:00
Benoit Marty
57df61dadf Changelog 2021-03-03 14:55:45 +01:00
Benoit Marty
3c7750c471 Remove duplicated string resource and translation 2021-03-03 14:54:20 +01:00
Benoit Marty
9c76ee97eb Move SDK strings to the application 2021-03-03 14:50:54 +01:00
Benoit Marty
dc63d6ae73 Remove StringProvider from SDK 2021-03-03 14:16:11 +01:00
Benoit Marty
a3b1c348ef Create VectorRoomDisplayNameFallbackProvider to provide default room names 2021-03-03 14:15:40 +01:00
Benoit Marty
c13ff6a392 Extract Factories to dedicated files 2021-03-03 13:49:50 +01:00
Benoit Marty
8682c95c19 Do not leak user's local in fallback for verification request 2021-03-03 12:52:49 +01:00
Benoit Marty
e2e7516a99 Remove string usage from SDK - step 2 - InitSyncStep 2021-03-03 12:45:46 +01:00
Benoit Marty
c42b42cb61 Remove string usage from SDK - step 1 - Role
Lint will also be able to detect more possible errors with this change
2021-03-03 12:13:08 +01:00
Benoit Marty
898c2d514c Add configuration for new languages 2021-03-03 11:26:12 +01:00
Benoit Marty
e96bdba752 Fix typo in resource name 2021-03-03 11:18:50 +01:00
Benoit Marty
19288f2950 Remove unused string 2021-03-03 11:17:25 +01:00
Benoit Marty
3f10be2ad3 Fix lint issue 2021-03-03 11:14:18 +01:00
Benoit Marty
4da93825b7 Merge pull request #2952 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2021-03-03 11:09:37 +01:00
Weblate
3b9adbf5c8 Merge branch 'origin/develop' into Weblate. 2021-03-03 09:29:37 +00:00
HelaBasa
7864707699 Translated using Weblate (Sinhala)
Currently translated at 0.4% (1 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/si/
2021-03-03 09:28:50 +00:00
HelaBasa
36dae97161 Translated using Weblate (Sinhala)
Currently translated at 0.1% (4 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/si/
2021-03-03 09:28:50 +00:00
HelaBasa
755fad7808 Translated using Weblate (Sinhala)
Currently translated at 9.0% (1 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/si/
2021-03-03 09:28:50 +00:00
sx0d
b899753d07 Translated using Weblate (Uzbek)
Currently translated at 4.9% (104 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uz/
2021-03-03 09:28:50 +00:00
vachan-maker
c79e813479 Translated using Weblate (Malayalam)
Currently translated at 18.8% (393 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ml/
2021-03-03 09:28:42 +00:00
Ihor Hordiichuk
5e0ba452aa Translated using Weblate (Ukrainian)
Currently translated at 61.7% (1285 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2021-03-03 09:28:40 +00:00
Niels Bouma
f5baa8ac91 Translated using Weblate (Dutch)
Currently translated at 54.0% (1124 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nl/
2021-03-03 09:28:37 +00:00
Hivaa
d1e59abcf0 Translated using Weblate (Persian)
Currently translated at 99.9% (2080 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2021-03-03 09:28:37 +00:00
Danial Behzadi
3cbee586bd Translated using Weblate (Persian)
Currently translated at 99.9% (2080 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2021-03-03 09:28:35 +00:00
Benoit Marty
94dc9fca9d Merge pull request #2772 from vector-im/feature/ons/share_keys_config
Pre-share session keys when opening a room or start typing
2021-03-03 09:29:22 +01:00
Benoit Marty
259ead106f Fix code quality issue 2021-03-03 09:28:35 +01:00
Benoit Marty
5c9750fb07 Moar cleanup after rebase and before merge 2021-03-02 19:18:19 +01:00
Valere
91872fe673 cleaning 2021-03-02 18:52:32 +01:00
Valere
533a7bb180 Code Review 2021-03-02 18:52:32 +01:00
Onuray Sahin
4450f51d78 runCatching added to loadMembersTask execution. 2021-03-02 18:50:43 +01:00
Onuray Sahin
fae484cb95 Create test for ensureOutboundSession function. 2021-03-02 18:50:43 +01:00
Onuray Sahin
11dffacc48 Code review fixes. 2021-03-02 18:50:43 +01:00
Onuray Sahin
8b39eabc0f Code review fixes. 2021-03-02 18:50:43 +01:00
Onuray Sahin
a623395585 Code review fixes. 2021-03-02 18:50:43 +01:00
Onuray Sahin
a2de80091d Code review fixes. 2021-03-02 18:49:11 +01:00
Onuray Sahin
e92edc7cb1 Fix remember to call the function. 2021-03-02 18:49:11 +01:00
Onuray Sahin
ae648c3e11 Make outbound key sharing strategy configurable. 2021-03-02 18:49:11 +01:00
HelaBasa
e6265c277e Added translation using Weblate (Sinhala) 2021-03-02 17:32:24 +00:00
HelaBasa
2bef459107 Added translation using Weblate (Sinhala) 2021-03-02 17:29:26 +00:00
Benoit Marty
d504a1f266 Merge pull request #2948 from vector-im/feature/bma/redactedEvent
Make Event.type optional
2021-03-02 18:06:11 +01:00
Benoit Marty
0a10817755 Merge pull request #2949 from vector-im/dependabot/gradle/com.schibsted.spain-barista-3.8.0
Bump barista from 3.7.0 to 3.8.0
2021-03-02 17:15:11 +01:00
Benoit Marty
56af0b5191 Merge pull request #2947 from kafji/kfj/room-preview-tooltip
Add tooltip for room quick actions
2021-03-02 16:36:49 +01:00
dependabot[bot]
a9f923591d Bump barista from 3.7.0 to 3.8.0
Bumps barista from 3.7.0 to 3.8.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-02 15:32:08 +00:00
Benoit Marty
7d7e4a0e6d Merge pull request #2945 from vector-im/dependabot/gradle/big_image_viewer_version-1.7.1
Bump big_image_viewer_version from 1.7.0 to 1.7.1
2021-03-02 16:30:57 +01:00
Benoit Marty
093c450d80 Merge pull request #2941 from kvadevack/feature/onion_address_fix
Permit cleartext for .onion addresses
2021-03-02 16:30:15 +01:00
Benoit Marty
2d664c423d Simplify code 2021-03-02 16:21:40 +01:00
Benoit Marty
4e2e73637a Be robust if Event.type is missing (#2946) 2021-03-02 16:14:57 +01:00
Kafji
3357c78375 Add tooltip for room quick actions
Add tooltip for low priority, favorite, and room settings quick actions.

Signed-off-by: Kafji <k@kafji.net>
2021-03-02 19:47:33 +07:00
Martin Häger
33b3f0650c Permit cleartext for .onion addresses
The Tor and Onion service protocols provide encryption and authentication
respectively. Since Domain Validation certificates aren't currently being
issued for .onion addresses, the HTTPS requirement makes Element practically
incompatible with homeservers operated by individuals on Tor.

Signed-off-by: Martin Häger <martin.haeger@gmail.com>
2021-03-02 12:46:12 +01:00
Benoit Marty
b027e43615 Cleanup 2021-03-02 11:41:20 +01:00
dependabot[bot]
161804be0d Bump big_image_viewer_version from 1.7.0 to 1.7.1
Bumps `big_image_viewer_version` from 1.7.0 to 1.7.1.

Updates `BigImageViewer` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.7.0...v1.7.1)

Updates `GlideImageLoader` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.7.0...v1.7.1)

Updates `ProgressPieIndicator` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.7.0...v1.7.1)

Updates `GlideImageViewFactory` from 1.7.0 to 1.7.1
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.7.0...v1.7.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-02 10:39:41 +00:00
Benoit Marty
32e7845c2b Merge pull request #2943 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.19
Bump libphonenumber from 8.12.18 to 8.12.19
2021-03-02 11:39:38 +01:00
Benoit Marty
896796ebd7 Merge pull request #2942 from vector-im/dependabot/gradle/epoxy_version-4.4.2
Bump epoxy_version from 4.4.1 to 4.4.2
2021-03-02 11:38:58 +01:00
Benoit Marty
a8ba125bd2 Rename val for code clarity, and use facility 2021-03-02 11:37:13 +01:00
Benoit Marty
5d69a1ab91 Fix a last bug when all editions has been deleted 2021-03-02 11:30:30 +01:00
Benoit Marty
95395945f2 Also filter redacted events 2021-03-02 11:18:06 +01:00
Benoit Marty
c33af6de6a Do not show edition from other users 2021-03-02 11:11:28 +01:00
Benoit Marty
f5fad8a082 Make it compiles 2021-03-02 11:00:29 +01:00
Benoit Marty
237545622f Fix a bug I can see thanks to rework 2021-03-02 10:55:22 +01:00
Benoit Marty
7c0acc8ccf Simplify code 2021-03-02 10:54:37 +01:00
Benoit Marty
d2b39e5cb8 Convert RelationService to suspend (#2449) 2021-03-02 10:52:03 +01:00
Benoit Marty
fc468564dc Extract state from view model 2021-03-02 10:46:11 +01:00
dependabot[bot]
8c87716013 Bump libphonenumber from 8.12.18 to 8.12.19
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.18 to 8.12.19.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.18...v8.12.19)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-02 06:59:54 +00:00
dependabot[bot]
5f29668c27 Bump epoxy_version from 4.4.1 to 4.4.2
Bumps `epoxy_version` from 4.4.1 to 4.4.2.

Updates `epoxy` from 4.4.1 to 4.4.2
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/commits)

Updates `epoxy-glide-preloading` from 4.4.1 to 4.4.2
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/commits)

Updates `epoxy-processor` from 4.4.1 to 4.4.2
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/commits)

Updates `epoxy-paging` from 4.4.1 to 4.4.2
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-02 06:57:55 +00:00
sx0d
bda776e201 Added translation using Weblate (Uzbek) 2021-03-02 06:07:54 +00:00
Benoit Marty
097668b762 Rework edition of event management - step 2 2021-03-01 20:42:47 +01:00
Benoit Marty
1bfd78753a Ensure we do not edit an Event from another room 2021-03-01 20:42:02 +01:00
Benoit Marty
bdec23f740 Rework edition of event management 2021-03-01 20:42:02 +01:00
Benoit Marty
c7e7bf4d2c Move VerificationState?.toState() to a dedicated file and in the correct package 2021-03-01 15:47:22 +01:00
Benoit Marty
9a635dd906 Move VerificationState to a dedicated file and in the correct package 2021-03-01 15:47:22 +01:00
Benoit Marty
d3b2306b3d Remove unused file 2021-03-01 14:33:52 +01:00
Benoit Marty
8b34caa0b1 Move capability section above Server name and version section 2021-03-01 11:51:56 +01:00
Benoit Marty
c152964323 Merge pull request #2908 from vector-im/feature/bma/jitsi_pip
PIP support for Jitsi call
2021-03-01 11:41:34 +01:00
Benoit Marty
de00bab1d4 Merge pull request #2912 from vector-im/dependabot/gradle/org.matrix.gitlab.matrix-org-olm-3.2.2
Bump olm from 3.2.1 to 3.2.2
2021-03-01 10:56:45 +01:00
Benoit Marty
f7bcc521d2 Merge pull request #2917 from vector-im/dependabot/gradle/epoxy_version-4.4.1
Bump epoxy_version from 4.4.0 to 4.4.1
2021-03-01 10:56:22 +01:00
Benoit Marty
3a20792668 Merge pull request #2918 from vector-im/dependabot/gradle/androidx.recyclerview-recyclerview-1.2.0-beta02
Bump recyclerview from 1.2.0-beta01 to 1.2.0-beta02
2021-03-01 10:56:10 +01:00
Benoit Marty
890817151d Merge pull request #2924 from vector-im/dependabot/gradle/daggerVersion-2.33
Bump daggerVersion from 2.32 to 2.33
2021-03-01 10:55:58 +01:00
Benoit Marty
dda1e854f6 Merge pull request #2938 from vector-im/dependabot/gradle/kotlin_version-1.4.31
Bump kotlin_version from 1.4.30 to 1.4.31
2021-03-01 10:55:47 +01:00
dependabot[bot]
6f6f76b36b Bump kotlin_version from 1.4.30 to 1.4.31
Bumps `kotlin_version` from 1.4.30 to 1.4.31.

Updates `kotlin-gradle-plugin` from 1.4.30 to 1.4.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.4.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.30...v1.4.31)

Updates `kotlin-stdlib-jdk7` from 1.4.30 to 1.4.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.4.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.30...v1.4.31)

Updates `kotlin-stdlib` from 1.4.30 to 1.4.31
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.4.31/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.30...v1.4.31)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 08:55:44 +00:00
vachan-maker
5cf904fb4a Translated using Weblate (Malayalam)
Currently translated at 16.6% (346 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ml/
2021-02-27 17:34:21 +00:00
Marcelo Filho
ba74faa562 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/
2021-02-27 17:34:21 +00:00
Besnik Bleta
f65c9cf812 Translated using Weblate (Albanian)
Currently translated at 98.2% (222 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sq/
2021-02-27 17:34:20 +00:00
Marcelo Filho
3d5a15fb1b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/pt_BR/
2021-02-27 17:34:20 +00:00
Ricardo
257fc08404 Translated using Weblate (Spanish)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/es/
2021-02-27 17:34:20 +00:00
sr093906
152397baad Translated using Weblate (Chinese (Simplified))
Currently translated at 97.9% (2039 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2021-02-27 17:34:20 +00:00
linsui
c642656577 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.9% (2039 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2021-02-27 17:34:20 +00:00
Besnik Bleta
71a8d46e29 Translated using Weblate (Albanian)
Currently translated at 99.6% (2073 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2021-02-27 17:34:14 +00:00
Marcelo Filho
03cf89f8cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2021-02-27 17:34:10 +00:00
Priit Jõerüüt
4091a8612d Translated using Weblate (Estonian)
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2021-02-27 17:34:08 +00:00
Lucas_c
a10b14dcc3 Translated using Weblate (Spanish)
Currently translated at 96.3% (2006 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2021-02-27 17:34:08 +00:00
Ricardo
7de9993204 Translated using Weblate (Spanish)
Currently translated at 96.3% (2006 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2021-02-27 17:34:08 +00:00
Auri B. P
2f55bb7e52 Translated using Weblate (Catalan)
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2021-02-27 17:34:07 +00:00
Mouath Ibrahim
bcf5481ad5 Translated using Weblate (Arabic)
Currently translated at 34.7% (723 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2021-02-27 17:34:07 +00:00
dependabot[bot]
f6123d8dfd Bump daggerVersion from 2.32 to 2.33
Bumps `daggerVersion` from 2.32 to 2.33.

Updates `dagger` from 2.32 to 2.33
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.32...dagger-2.33)

Updates `dagger-compiler` from 2.32 to 2.33
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.32...dagger-2.33)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-26 07:14:10 +00:00
Ricardo
e8a461dbb0 Translated using Weblate (Spanish)
Currently translated at 95.9% (1997 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2021-02-25 22:11:23 +00:00
Lucas_c
c54a9a3b88 Translated using Weblate (Spanish)
Currently translated at 95.9% (1997 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2021-02-25 22:11:22 +00:00
dependabot[bot]
8c23b0561b Bump recyclerview from 1.2.0-beta01 to 1.2.0-beta02
Bumps recyclerview from 1.2.0-beta01 to 1.2.0-beta02.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-25 07:20:31 +00:00
dependabot[bot]
6ec8be0d35 Bump epoxy_version from 4.4.0 to 4.4.1
Bumps `epoxy_version` from 4.4.0 to 4.4.1.

Updates `epoxy` from 4.4.0 to 4.4.1
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.4.0...4.4.1)

Updates `epoxy-glide-preloading` from 4.4.0 to 4.4.1
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.4.0...4.4.1)

Updates `epoxy-processor` from 4.4.0 to 4.4.1
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.4.0...4.4.1)

Updates `epoxy-paging` from 4.4.0 to 4.4.1
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.4.0...4.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-25 07:18:51 +00:00
Argetlami
20c692fddf Translated using Weblate (Finnish)
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fi/
2021-02-24 19:34:13 +00:00
ppnplusdf0eb2eb726b4bb3
6b0e66ce1f Translated using Weblate (Thai)
Currently translated at 11.7% (244 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/th/
2021-02-24 19:34:12 +00:00
William
368e1fe9c1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 70.4% (1466 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nb_NO/
2021-02-24 19:34:07 +00:00
dependabot[bot]
f49777ef56 Bump olm from 3.2.1 to 3.2.2
Bumps olm from 3.2.1 to 3.2.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-24 07:15:07 +00:00
William
ec99b95231 Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.4% (1446 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nb_NO/
2021-02-23 17:07:39 +00:00
Daniel Løvbrøtte Olsen
ba1c9aa5cd Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.4% (1446 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nb_NO/
2021-02-23 17:07:39 +00:00
Benoit Marty
60cc441092 Merge pull request #2905 from vector-im/feature/bma/preview_fix
Try to fix crash about UrlPreview (#2640)
2021-02-23 16:07:16 +01:00
Benoit Marty
dee3676640 Add a delay to avoid glitch when displaying the dialog 2021-02-23 13:13:15 +01:00
Benoit Marty
5e4219cf8e Jitsi: handle switch to another conference, now possible since we support PiP 2021-02-23 12:56:54 +01:00
Benoit Marty
d5f0a6d66a Remove log, I do not understand when this code has disappeared. 2021-02-23 11:52:15 +01:00
Benoit Marty
0607f835aa It's now in the manifest 2021-02-23 11:39:56 +01:00
Benoit Marty
d2a1041a51 Simpler code 2021-02-23 11:28:52 +01:00
Benoit Marty
9c1475d2f1 To squash 2021-02-23 11:28:38 +01:00
Benoit Marty
486815b9ab Pip 2021-02-23 11:28:38 +01:00
Benoit Marty
9db644afa2 Merge pull request #2674 from vector-im/feature/bma/init_sync_poc
Init sync optimization
2021-02-23 11:23:52 +01:00
Benoit Marty
c181f7e421 Please code quality check 2021-02-23 10:31:58 +01:00
Benoit Marty
29359ad119 Update change after rebase 2021-02-23 10:31:58 +01:00
Benoit Marty
c3192d9f7c Latest improvement 2021-02-23 10:31:19 +01:00
Benoit Marty
24e9e6bbd7 Move to dedicated package and split into several files 2021-02-23 10:31:19 +01:00
Benoit Marty
649edffa30 Hide menu if not in developer mode 2021-02-23 10:31:19 +01:00
Benoit Marty
b870a8b791 Create ProgressReporter interface 2021-02-23 10:31:19 +01:00
Benoit Marty
1c83ee086a More rework of DefaultInitialSyncProgressService 2021-02-23 10:31:19 +01:00
Benoit Marty
5e7b36d319 Fix issue with progress 2021-02-23 10:31:19 +01:00
Benoit Marty
4e1fcf87ae Improve DefaultInitialSyncProgressService 2021-02-23 10:31:19 +01:00
Benoit Marty
a2225b3f76 Improve code about path 2021-02-23 10:31:19 +01:00
Benoit Marty
e069e196af Improve log 2021-02-23 10:31:19 +01:00
Benoit Marty
440d01c552 Do not log RAM usage in release 2021-02-23 10:31:19 +01:00
Benoit Marty
218be86c68 Cleanup 2021-02-23 10:31:19 +01:00
ganfra
3633199e68 Sync : clean a bit by introducing 2 moshi adapters 2021-02-23 10:31:19 +01:00
Benoit Marty
8e2161bd9e Log free memory before starting a task 2021-02-23 10:31:19 +01:00
Benoit Marty
39e66555f4 Try to log RAM usage 2021-02-23 10:31:19 +01:00
Benoit Marty
c938795576 Read init sync to a file and split into smaller files to handle it 2021-02-23 10:31:19 +01:00
Benoit Marty
9d2407ccb0 Merge pull request #2906 from vector-im/gradlew-update-6.8.3
Update Gradle Wrapper from 6.8.2 to 6.8.3
2021-02-23 10:29:20 +01:00
vachan-maker
cccaf669a5 Translated using Weblate (Malayalam)
Currently translated at 16.3% (340 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ml/
2021-02-23 07:34:41 +00:00
zeritti
ab52395d1a Translated using Weblate (Czech)
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2021-02-23 07:34:32 +00:00
Martin Johansen
ae4062828d Translated using Weblate (Norwegian Bokmål (nb))
Currently translated at 3.9% (9 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/nb/
2021-02-23 07:34:32 +00:00
Nikita Epifanov
8f02c52a26 Translated using Weblate (Russian)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/ru/
2021-02-23 07:34:32 +00:00
XoseM
dc4d2fc15d Translated using Weblate (Galician)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/gl/
2021-02-23 07:34:32 +00:00
ppnplusdf0eb2eb726b4bb3
d476dbcdda Translated using Weblate (Thai)
Currently translated at 7.7% (161 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/th/
2021-02-23 07:34:31 +00:00
LinAGKar
5317f26791 Translated using Weblate (Swedish)
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2021-02-23 07:34:27 +00:00
Nikita Epifanov
28d1510306 Translated using Weblate (Russian)
Currently translated at 99.8% (2077 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2021-02-23 07:34:27 +00:00
Martin Johansen
316bcd728e Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.4% (1445 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/nb_NO/
2021-02-23 07:34:26 +00:00
Tirifto
d062a23d85 Translated using Weblate (Esperanto)
Currently translated at 92.3% (1922 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2021-02-23 07:34:05 +00:00
Alexia Ŭerner
6b55960c92 Translated using Weblate (Esperanto)
Currently translated at 92.3% (1922 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/eo/
2021-02-23 07:34:04 +00:00
gradle-update-robot
24c5e727ce Update Gradle Wrapper from 6.8.2 to 6.8.3.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2021-02-23 00:48:50 +00:00
Benoit Marty
bebb956005 Try to fix crash about UrlPreview (#2640) 2021-02-22 17:44:11 +01:00
Benoit Marty
b38ff46af4 Merge pull request #2896 from vector-im/feature/bma/dependabot
Upgrade dependencies
2021-02-22 12:22:43 +01:00
Benoit Marty
cf1c23c2c9 Merge pull request #2897 from ShadowJonathan/patch-1
Fix spelling in CONTRIBUTING.md
2021-02-22 10:50:40 +01:00
Benoit Marty
e162ebdf91 Merge pull request #2831 from vector-im/feature/bma/hs_version
Fetch homeserver type and version and display in a new setting screen and add info in rageshakes
2021-02-22 10:29:16 +01:00
Jonathan de Jong
a348571e32 Fix spelling 2021-02-21 19:19:46 +01:00
Benoit Marty
ef3d8f365a Changelog 2021-02-21 16:52:19 +01:00
Benoit Marty
88964d8cf7 Also bump kotlin_coroutines_version to recommended version 1.4.2 2021-02-21 16:24:40 +01:00
dependabot[bot]
d444e91ba8 Bump kotlin_version from 1.4.21 to 1.4.30
Bumps `kotlin_version` from 1.4.21 to 1.4.30.

Updates `kotlin-gradle-plugin` from 1.4.21 to 1.4.30

Updates `kotlin-stdlib-jdk7` from 1.4.21 to 1.4.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.21...v1.4.30)

Updates `kotlin-stdlib` from 1.4.21 to 1.4.30
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.4.21...v1.4.30)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-21 16:23:46 +01:00
Benoit Marty
f617a8d77f Fix compilation issue after upgrade of alerter from 5.1.2 to 7.0.1 2021-02-21 16:20:57 +01:00
dependabot[bot]
76923ad88a Bump alerter from 5.1.2 to 7.0.1
Bumps [alerter](https://github.com/Tapadoo/Alerter) from 5.1.2 to 7.0.1.
- [Release notes](https://github.com/Tapadoo/Alerter/releases)
- [Changelog](https://github.com/Tapadoo/Alerter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Tapadoo/Alerter/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-21 16:16:55 +01:00
Benoit Marty
dd3a395d11 Fix compilation issue after upgrade of browser from 1.2.0 to 1.3.0 2021-02-21 16:11:49 +01:00
dependabot[bot]
4465d87eb8 Bump browser from 1.2.0 to 1.3.0
Bumps browser from 1.2.0 to 1.3.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-21 11:10:00 +01:00
Benoit Marty
bf48978065 Fix compilation issue after upgrade of realmfieldnameshelper from 1.1.1 to 2.0.0 2021-02-21 11:08:42 +01:00
dependabot[bot]
fd3c41a250 Bump realmfieldnameshelper from 1.1.1 to 2.0.0
Bumps [realmfieldnameshelper](https://github.com/cmelchior/realmfieldnameshelper) from 1.1.1 to 2.0.0.
- [Release notes](https://github.com/cmelchior/realmfieldnameshelper/releases)
- [Changelog](https://github.com/cmelchior/realmfieldnameshelper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cmelchior/realmfieldnameshelper/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-21 10:45:15 +01:00
Benoit Marty
370651ab56 Dependabot will create only 1 PR to upgrade RxBinding dependencies 2021-02-21 10:43:35 +01:00
Benoit Marty
e99b86cde8 Merge pull request #2864 from vector-im/dependabot/gradle/org.robolectric-robolectric-4.5.1
Bump robolectric from 4.3 to 4.5.1
2021-02-21 10:39:02 +01:00
vachan-maker
206f19401f Translated using Weblate (Malayalam)
Currently translated at 9.5% (198 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ml/
2021-02-21 07:34:09 +00:00
waclaw66
b37505112b Translated using Weblate (Czech)
Currently translated at 63.6% (7 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2021-02-21 07:34:06 +00:00
Nikita Epifanov
60dad59025 Translated using Weblate (Russian)
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/ru/
2021-02-21 07:34:05 +00:00
XoseM
8250a64e34 Translated using Weblate (Galician)
Currently translated at 85.8% (194 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/gl/
2021-02-21 07:34:05 +00:00
waclaw66
58ab82a477 Translated using Weblate (Czech)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/cs/
2021-02-21 07:34:05 +00:00
Jeff Huang
2f8169c26d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2021-02-21 07:34:05 +00:00
GokdenizK
eb14341f9f Translated using Weblate (Turkish)
Currently translated at 72.1% (1502 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/tr/
2021-02-21 07:34:05 +00:00
Nikita Epifanov
823ba386d9 Translated using Weblate (Russian)
Currently translated at 99.5% (2072 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2021-02-21 07:34:04 +00:00
dependabot[bot]
471620c4c6 Bump robolectric from 4.3 to 4.5.1
Bumps [robolectric](https://github.com/robolectric/robolectric) from 4.3 to 4.5.1.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.3...robolectric-4.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 23:12:11 +00:00
Benoit Marty
75b74eaca8 Merge pull request #2886 from vector-im/dependabot/gradle/io.mockk-mockk-android-1.10.6
Bump mockk-android from 1.9.2.kotlin12 to 1.10.6
2021-02-21 00:11:50 +01:00
Benoit Marty
9e33e6bc4e Merge pull request #2882 from vector-im/dependabot/gradle/io.mockk-mockk-1.10.6
Bump mockk from 1.9.2.kotlin12 to 1.10.6
2021-02-21 00:11:08 +01:00
Benoit Marty
c985639691 Merge pull request #2883 from vector-im/dependabot/gradle/androidx.recyclerview-recyclerview-1.2.0-beta01
Bump recyclerview from 1.2.0-alpha06 to 1.2.0-beta01
2021-02-21 00:09:48 +01:00
Benoit Marty
580c48d4f9 Merge pull request #2868 from vector-im/dependabot/gradle/com.google.android-flexbox-2.0.1
Bump flexbox from 1.1.1 to 2.0.1
2021-02-21 00:09:15 +01:00
Benoit Marty
e612e66ac9 Merge pull request #2865 from vector-im/dependabot/gradle/com.jakewharton.rxbinding3-rxbinding-material-3.1.0
Bump rxbinding-material from 3.0.0 to 3.1.0
2021-02-21 00:08:16 +01:00
Benoit Marty
ec2493c03c Merge pull request #2869 from vector-im/dependabot/gradle/androidx.fragment-fragment-ktx-1.3.0
Bump fragment-ktx from 1.3.0-beta01 to 1.3.0
2021-02-21 00:07:56 +01:00
Benoit Marty
4a510d583d Merge pull request #2876 from vector-im/dependabot/gradle/androidx.work-work-runtime-ktx-2.5.0
Bump work-runtime-ktx from 2.4.0 to 2.5.0
2021-02-21 00:07:28 +01:00
Benoit Marty
ff4643be8c Merge pull request #2858 from vector-im/dependabot/gradle/io.reactivex.rxjava2-rxkotlin-2.4.0
Bump rxkotlin from 2.3.0 to 2.4.0
2021-02-21 00:07:01 +01:00
Benoit Marty
5a54899835 Merge pull request #2866 from vector-im/dependabot/gradle/big_image_viewer_version-1.7.0
Bump big_image_viewer_version from 1.6.2 to 1.7.0
2021-02-20 11:29:08 +01:00
Benoit Marty
56a787b327 Merge pull request #2862 from vector-im/dependabot/gradle/io.realm-realm-gradle-plugin-10.3.1
Bump realm-gradle-plugin from 10.1.2 to 10.3.1
2021-02-20 11:28:38 +01:00
Benoit Marty
183c104ff3 Merge pull request #2874 from vector-im/dependabot/gradle/com.nulab-inc-zxcvbn-1.4.0
Bump zxcvbn from 1.2.7 to 1.4.0
2021-02-20 11:26:34 +01:00
Benoit Marty
d4532089a9 Merge pull request #2870 from vector-im/dependabot/gradle/nl.dionsegijn-konfetti-1.2.6
Bump konfetti from 1.2.5 to 1.2.6
2021-02-20 11:26:08 +01:00
Benoit Marty
78cd45eaca Merge pull request #2871 from vector-im/dependabot/gradle/org.sonarsource.scanner.gradle-sonarqube-gradle-plugin-3.1.1
Bump sonarqube-gradle-plugin from 2.7.1 to 3.1.1
2021-02-20 11:25:17 +01:00
Benoit Marty
4defabeecc Merge pull request #2887 from vector-im/dependabot/gradle/com.squareup.okhttp3-okhttp-bom-4.9.1
Bump okhttp-bom from 4.8.1 to 4.9.1
2021-02-20 11:24:45 +01:00
Benoit Marty
7eda5e1ef5 Merge pull request #2884 from vector-im/dependabot/gradle/com.gabrielittner.threetenbp-lazythreetenbp-0.9.0
Bump lazythreetenbp from 0.7.0 to 0.9.0
2021-02-20 11:24:14 +01:00
Benoit Marty
273211290b Merge pull request #2885 from vector-im/dependabot/gradle/org.matrix.gitlab.matrix-org-olm-3.2.1
Bump olm from 3.1.2 to 3.2.1
2021-02-20 11:23:50 +01:00
dependabot[bot]
5320d16406 Bump work-runtime-ktx from 2.4.0 to 2.5.0
Bumps work-runtime-ktx from 2.4.0 to 2.5.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:22:58 +00:00
dependabot[bot]
94faa2dc11 Bump rxbinding-material from 3.0.0 to 3.1.0
Bumps [rxbinding-material](https://github.com/JakeWharton/RxBinding) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/JakeWharton/RxBinding/releases)
- [Changelog](https://github.com/JakeWharton/RxBinding/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JakeWharton/RxBinding/compare/3.0.0...3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:22:09 +00:00
Benoit Marty
04e78ec2e9 Merge pull request #2867 from vector-im/dependabot/gradle/retrofit_version-2.9.0
Bump retrofit_version from 2.6.2 to 2.9.0
2021-02-20 11:22:06 +01:00
Benoit Marty
40785e9a40 Merge pull request #2877 from vector-im/dependabot/gradle/com.jakewharton.rxbinding3-rxbinding-appcompat-3.1.0
Bump rxbinding-appcompat from 3.0.0 to 3.1.0
2021-02-20 11:21:11 +01:00
dependabot[bot]
a7adcbcd78 Bump rxkotlin from 2.3.0 to 2.4.0
Bumps [rxkotlin](https://github.com/ReactiveX/RxKotlin) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/ReactiveX/RxKotlin/releases)
- [Commits](https://github.com/ReactiveX/RxKotlin/compare/2.3.0...2.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:20:10 +00:00
dependabot[bot]
a5a857f036 Bump recyclerview from 1.2.0-alpha06 to 1.2.0-beta01
Bumps recyclerview from 1.2.0-alpha06 to 1.2.0-beta01.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:19:35 +00:00
Benoit Marty
1a4617af17 Merge pull request #2872 from vector-im/dependabot/gradle/com.google.firebase-firebase-messaging-21.0.1
Bump firebase-messaging from 21.0.0 to 21.0.1
2021-02-20 11:19:28 +01:00
dependabot[bot]
c069582007 Bump fragment-ktx from 1.3.0-beta01 to 1.3.0
Bumps fragment-ktx from 1.3.0-beta01 to 1.3.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:19:23 +00:00
Benoit Marty
17ddab585a Merge pull request #2878 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.12.18
Bump libphonenumber from 8.10.23 to 8.12.18
2021-02-20 11:19:05 +01:00
Benoit Marty
e6eee47059 Merge pull request #2873 from vector-im/dependabot/gradle/androidx.exifinterface-exifinterface-1.3.2
Bump exifinterface from 1.3.1 to 1.3.2
2021-02-20 11:18:36 +01:00
Benoit Marty
120ed41507 Merge pull request #2860 from vector-im/dependabot/gradle/androidx.autofill-autofill-1.1.0
Bump autofill from 1.0.0 to 1.1.0
2021-02-20 11:18:10 +01:00
Benoit Marty
dcb96593ec Merge pull request #2881 from vector-im/dependabot/gradle/com.google.android.material-material-1.3.0
Bump material from 1.3.0-alpha04 to 1.3.0
2021-02-20 11:17:51 +01:00
Benoit Marty
a489ddda87 Merge pull request #2879 from vector-im/dependabot/gradle/epoxy_version-4.4.0
Bump epoxy_version from 4.1.0 to 4.4.0
2021-02-20 11:08:03 +01:00
dependabot[bot]
5aa50a6c60 Bump mockk from 1.9.2.kotlin12 to 1.10.6
Bumps [mockk](https://github.com/mockk/mockk) from 1.9.2.kotlin12 to 1.10.6.
- [Release notes](https://github.com/mockk/mockk/releases)
- [Commits](https://github.com/mockk/mockk/compare/1.9.2.kotlin12...1.10.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-20 10:07:19 +00:00
Benoit Marty
57f5471075 Merge pull request #2863 from vector-im/dependabot/gradle/org.amshove.kluent-kluent-android-1.65
Bump kluent-android from 1.61 to 1.65
2021-02-20 11:06:12 +01:00
dependabot[bot]
f2bbfa1b0d Bump okhttp-bom from 4.8.1 to 4.9.1
Bumps [okhttp-bom](https://github.com/square/okhttp) from 4.8.1 to 4.9.1.
- [Release notes](https://github.com/square/okhttp/releases)
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.8.1...parent-4.9.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:27:04 +00:00
Benoit Marty
5710dd6d01 Increase again for the WE 2021-02-20 00:24:41 +01:00
dependabot[bot]
6f01e3b99b Bump mockk-android from 1.9.2.kotlin12 to 1.10.6
Bumps [mockk-android](https://github.com/mockk/mockk) from 1.9.2.kotlin12 to 1.10.6.
- [Release notes](https://github.com/mockk/mockk/releases)
- [Commits](https://github.com/mockk/mockk/compare/1.9.2.kotlin12...1.10.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:23:31 +00:00
dependabot[bot]
e10dc2e5a1 Bump olm from 3.1.2 to 3.2.1
Bumps olm from 3.1.2 to 3.2.1.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:23:28 +00:00
dependabot[bot]
3ba71390b2 Bump lazythreetenbp from 0.7.0 to 0.9.0
Bumps [lazythreetenbp](https://github.com/gabrielittner/lazythreetenbp) from 0.7.0 to 0.9.0.
- [Release notes](https://github.com/gabrielittner/lazythreetenbp/releases)
- [Changelog](https://github.com/gabrielittner/lazythreetenbp/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gabrielittner/lazythreetenbp/compare/0.7.0...0.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:23:10 +00:00
dependabot[bot]
108a81d338 Bump material from 1.3.0-alpha04 to 1.3.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.3.0-alpha04 to 1.3.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.3.0-alpha04...1.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:22:53 +00:00
dependabot[bot]
0226a0cba3 Bump epoxy_version from 4.1.0 to 4.4.0
Bumps `epoxy_version` from 4.1.0 to 4.4.0.

Updates `epoxy` from 4.1.0 to 4.4.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.1.0...4.4.0)

Updates `epoxy-glide-preloading` from 4.1.0 to 4.4.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.1.0...4.4.0)

Updates `epoxy-processor` from 4.1.0 to 4.4.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.1.0...4.4.0)

Updates `epoxy-paging` from 4.1.0 to 4.4.0
- [Release notes](https://github.com/airbnb/epoxy/releases)
- [Changelog](https://github.com/airbnb/epoxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/airbnb/epoxy/compare/4.1.0...4.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:22:34 +00:00
dependabot[bot]
dfc57d1985 Bump libphonenumber from 8.10.23 to 8.12.18
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.10.23 to 8.12.18.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.10.23...v8.12.18)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:22:13 +00:00
dependabot[bot]
ebd1dab02f Bump rxbinding-appcompat from 3.0.0 to 3.1.0
Bumps [rxbinding-appcompat](https://github.com/JakeWharton/RxBinding) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/JakeWharton/RxBinding/releases)
- [Changelog](https://github.com/JakeWharton/RxBinding/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JakeWharton/RxBinding/compare/3.0.0...3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:22:11 +00:00
dependabot[bot]
2cbd154516 Bump zxcvbn from 1.2.7 to 1.4.0
Bumps [zxcvbn](https://github.com/nulab/zxcvbn4j) from 1.2.7 to 1.4.0.
- [Release notes](https://github.com/nulab/zxcvbn4j/releases)
- [Changelog](https://github.com/nulab/zxcvbn4j/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nulab/zxcvbn4j/compare/1.2.7...1.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:42 +00:00
dependabot[bot]
d1c49e2a04 Bump exifinterface from 1.3.1 to 1.3.2
Bumps exifinterface from 1.3.1 to 1.3.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:40 +00:00
dependabot[bot]
1a965bbbf9 Bump firebase-messaging from 21.0.0 to 21.0.1
Bumps firebase-messaging from 21.0.0 to 21.0.1.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:36 +00:00
dependabot[bot]
8aab8ff882 Bump sonarqube-gradle-plugin from 2.7.1 to 3.1.1
Bumps sonarqube-gradle-plugin from 2.7.1 to 3.1.1.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:26 +00:00
dependabot[bot]
4b7c445b74 Bump konfetti from 1.2.5 to 1.2.6
Bumps [konfetti](https://github.com/DanielMartinus/Konfetti) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/DanielMartinus/Konfetti/releases)
- [Commits](https://github.com/DanielMartinus/Konfetti/compare/v1.2.5...v1.2.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:15 +00:00
dependabot[bot]
5a4915e817 Bump flexbox from 1.1.1 to 2.0.1
Bumps [flexbox](https://github.com/google/flexbox-layout) from 1.1.1 to 2.0.1.
- [Release notes](https://github.com/google/flexbox-layout/releases)
- [Commits](https://github.com/google/flexbox-layout/compare/1.1.1...2.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:14 +00:00
dependabot[bot]
bfa84e092c Bump retrofit_version from 2.6.2 to 2.9.0
Bumps `retrofit_version` from 2.6.2 to 2.9.0.

Updates `retrofit` from 2.6.2 to 2.9.0
- [Release notes](https://github.com/square/retrofit/releases)
- [Changelog](https://github.com/square/retrofit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/retrofit/compare/parent-2.6.2...2.9.0)

Updates `converter-moshi` from 2.6.2 to 2.9.0
- [Release notes](https://github.com/square/retrofit/releases)
- [Changelog](https://github.com/square/retrofit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/retrofit/compare/parent-2.6.2...2.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:21:11 +00:00
Benoit Marty
bb99477c13 increase limit 2021-02-20 00:20:54 +01:00
dependabot[bot]
612dd21264 Bump big_image_viewer_version from 1.6.2 to 1.7.0
Bumps `big_image_viewer_version` from 1.6.2 to 1.7.0.

Updates `BigImageViewer` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.6.2...v1.7.0)

Updates `GlideImageLoader` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.6.2...v1.7.0)

Updates `ProgressPieIndicator` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.6.2...v1.7.0)

Updates `GlideImageViewFactory` from 1.6.2 to 1.7.0
- [Release notes](https://github.com/Piasy/BigImageViewer/releases)
- [Changelog](https://github.com/Piasy/BigImageViewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Piasy/BigImageViewer/compare/1.6.2...v1.7.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:18:49 +00:00
dependabot[bot]
7d287d7c63 Bump kluent-android from 1.61 to 1.65
Bumps kluent-android from 1.61 to 1.65.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:18:28 +00:00
dependabot[bot]
6df58a796a Bump realm-gradle-plugin from 10.1.2 to 10.3.1
Bumps [realm-gradle-plugin](https://github.com/realm/realm-java) from 10.1.2 to 10.3.1.
- [Release notes](https://github.com/realm/realm-java/releases)
- [Changelog](https://github.com/realm/realm-java/blob/v10.3.1/CHANGELOG.md)
- [Commits](https://github.com/realm/realm-java/compare/v10.1.2...v10.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:18:24 +00:00
dependabot[bot]
2c065b8c43 Bump autofill from 1.0.0 to 1.1.0
Bumps autofill from 1.0.0 to 1.1.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:18:19 +00:00
Benoit Marty
e50d2f7809 Merge pull request #2856 from vector-im/dependabot/gradle/junit-junit-4.13.2
Bump junit from 4.13 to 4.13.2
2021-02-20 00:13:21 +01:00
Benoit Marty
f8e0fdba48 Merge pull request #2855 from vector-im/dependabot/gradle/daggerVersion-2.32
Bump daggerVersion from 2.31 to 2.32
2021-02-20 00:13:06 +01:00
Benoit Marty
160db6ada5 Merge pull request #2854 from vector-im/dependabot/gradle/com.jakewharton.rxbinding3-rxbinding-3.1.0
Bump rxbinding from 3.0.0 to 3.1.0
2021-02-20 00:12:46 +01:00
Benoit Marty
88104cecf6 Merge pull request #2853 from vector-im/dependabot/gradle/com.googlecode.htmlcompressor-htmlcompressor-1.5.2
Bump htmlcompressor from 1.4 to 1.5.2
2021-02-20 00:12:30 +01:00
Benoit Marty
ea1f533501 Merge pull request #2852 from vector-im/dependabot/gradle/androidx.sharetarget-sharetarget-1.1.0
Bump sharetarget from 1.0.0 to 1.1.0
2021-02-20 00:12:10 +01:00
Benoit Marty
61043ee58a Merge pull request #2851 from vector-im/dependabot/gradle/com.google.zxing-core-3.4.1
Bump core from 3.3.3 to 3.4.1
2021-02-19 23:44:20 +01:00
Benoit Marty
3635908f8f Merge pull request #2850 from vector-im/dependabot/gradle/glide_version-4.12.0
Bump glide_version from 4.11.0 to 4.12.0
2021-02-19 23:43:55 +01:00
dependabot[bot]
2c605d9ffb Bump junit from 4.13 to 4.13.2
Bumps [junit](https://github.com/junit-team/junit4) from 4.13 to 4.13.2.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.2.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.13...r4.13.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:31 +00:00
dependabot[bot]
7a81eec6d8 Bump daggerVersion from 2.31 to 2.32
Bumps `daggerVersion` from 2.31 to 2.32.

Updates `dagger` from 2.31 to 2.32
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.31...dagger-2.32)

Updates `dagger-compiler` from 2.31 to 2.32
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/dagger/compare/dagger-2.31...dagger-2.32)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:23 +00:00
dependabot[bot]
5a70e3c638 Bump rxbinding from 3.0.0 to 3.1.0
Bumps [rxbinding](https://github.com/JakeWharton/RxBinding) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/JakeWharton/RxBinding/releases)
- [Changelog](https://github.com/JakeWharton/RxBinding/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JakeWharton/RxBinding/compare/3.0.0...3.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:16 +00:00
dependabot[bot]
aeb96bb1c0 Bump htmlcompressor from 1.4 to 1.5.2
Bumps htmlcompressor from 1.4 to 1.5.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:08 +00:00
dependabot[bot]
062c415fc2 Bump sharetarget from 1.0.0 to 1.1.0
Bumps sharetarget from 1.0.0 to 1.1.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:07 +00:00
dependabot[bot]
0c0119d85c Bump core from 3.3.3 to 3.4.1
Bumps [core](https://github.com/zxing/zxing) from 3.3.3 to 3.4.1.
- [Release notes](https://github.com/zxing/zxing/releases)
- [Changelog](https://github.com/zxing/zxing/blob/master/CHANGES)
- [Commits](https://github.com/zxing/zxing/compare/zxing-3.3.3...zxing-3.4.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:06 +00:00
dependabot[bot]
ff5d613e23 Bump glide_version from 4.11.0 to 4.12.0
Bumps `glide_version` from 4.11.0 to 4.12.0.

Updates `glide` from 4.11.0 to 4.12.0
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/4.11.0...v4.12.0)

Updates `compiler` from 4.11.0 to 4.12.0
- [Release notes](https://github.com/bumptech/glide/releases)
- [Commits](https://github.com/bumptech/glide/compare/4.11.0...v4.12.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 21:52:06 +00:00
Benoit Marty
a123c6694c Create dependabot.yml - valid yaml 2 2021-02-19 22:51:35 +01:00
Benoit Marty
ba5192026e Create dependabot.yml - valid yaml 2021-02-19 22:50:42 +01:00
Benoit Marty
b27aa523ba Create dependabot.yml 2021-02-19 22:47:36 +01:00
Benoit Marty
8793d263d4 Add info about room version 2021-02-19 21:53:10 +01:00
Benoit Marty
e511e7e02e Add menu entry for dev tools (to complete existing /devtools command) 2021-02-19 21:29:23 +01:00
Benoit Marty
8580f46ec1 Fix other issue in test 2021-02-19 21:29:23 +01:00
Benoit Marty
490a8551ac Items have been reordered 2021-02-19 21:29:23 +01:00
Benoit Marty
0f328fda44 Add the new screen to the sanity test 2021-02-19 21:29:23 +01:00
Benoit Marty
f9f54cabdd Add upload capability on the screen and give possibility to refresh the data 2021-02-19 21:29:23 +01:00
Benoit Marty
80524fb8c1 Cleanup 2021-02-19 21:29:23 +01:00
Benoit Marty
e1f778e21a Changelog 2021-02-19 21:28:44 +01:00
Benoit Marty
b8ba463735 Add server version in rageshakes 2021-02-19 21:27:25 +01:00
Benoit Marty
531beb0a86 Add a screen to view details about the homeserver 2021-02-19 21:27:25 +01:00
Benoit Marty
a8be5ed6b0 Create FederationModule 2021-02-19 21:27:25 +01:00
Benoit Marty
14fc31be07 Add homeserver version check 2021-02-19 21:27:25 +01:00
Benoit Marty
747a5ded1a Version++ 2021-02-19 21:10:27 +01:00
Benoit Marty
19b8519d3f Merge branch 'release/1.1.0' into develop 2021-02-19 19:30:54 +01:00
vachan-maker
21ea461c1c Translated using Weblate (Malayalam)
Currently translated at 5.7% (120 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ml/
2021-02-18 03:34:10 +00:00
waclaw66
4267e33d19 Translated using Weblate (Czech)
Currently translated at 63.6% (7 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2021-02-18 03:34:09 +00:00
Jeff Huang
85a053838e Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2021-02-18 03:34:08 +00:00
LinAGKar
be1febef41 Translated using Weblate (Swedish)
Currently translated at 100.0% (11 of 11 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2021-02-18 03:34:08 +00:00
LinAGKar
04c1cbd38e Translated using Weblate (Swedish)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/sv/
2021-02-18 03:34:08 +00:00
Jeff Huang
a66f609a07 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/zh_Hant/
2021-02-18 03:34:07 +00:00
XoseM
263b8b1e77 Translated using Weblate (Galician)
Currently translated at 85.3% (193 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/gl/
2021-02-18 03:34:07 +00:00
@a2sc:matrix.org
ca2c4a64e9 Translated using Weblate (German)
Currently translated at 100.0% (226 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/de/
2021-02-18 03:34:07 +00:00
zer0-x
5547f11192 Translated using Weblate (Arabic)
Currently translated at 84.5% (191 of 226 strings)

Translation: Element Android/Element Android Sdk
Translate-URL: https://translate.element.io/projects/element-android/element-sdk/ar/
2021-02-18 03:34:06 +00:00
Jeff Huang
7d8c184dda Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2021-02-18 03:34:06 +00:00
LinAGKar
1ae0f93e14 Translated using Weblate (Swedish)
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2021-02-18 03:34:04 +00:00
Torben
ed51c865ef Translated using Weblate (German)
Currently translated at 99.9% (2080 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2021-02-18 03:34:03 +00:00
waclaw66
eaf5c2637d Translated using Weblate (Czech)
Currently translated at 100.0% (2081 of 2081 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2021-02-18 03:34:03 +00:00
472 changed files with 18675 additions and 16297 deletions

View File

@@ -7,27 +7,27 @@ assignees: ''
---
**Describe the bug**
#### Describe the bug
A clear and concise description of what the bug is.
**To Reproduce**
#### To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
#### Expected behavior
A clear and concise description of what you expected to happen.
**Screenshots**
#### Screenshots
If applicable, add screenshots to help explain your problem.
**Smartphone (please complete the following information):**
#### Smartphone (please complete the following information):
- Device: [e.g. Samsung S6]
- OS: [e.g. Android 6.0]
**Additional context**
#### Additional context
- App version and store [e.g. 1.0.0 - F-Droid]
- Homeserver: [e.g. matrix.org]

View File

@@ -7,14 +7,14 @@ assignees: ''
---
**Is your feature request related to a problem? Please describe.**
#### Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
#### Describe the solution you'd like.
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
#### Describe alternatives you've considered.
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
#### Additional context
Add any other context or screenshots about the feature request here.

23
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Updates for Github Actions used in the repo
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
# Updates for Gradle dependencies used in the app
- package-ecosystem: gradle
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 200
reviewers:
- "bmarty"
### ignore:
### - dependency-name: com.squareup.okhttp3:logging-interceptor
### versions: "> 3.12.10"

View File

@@ -31,6 +31,7 @@
<w>signin</w>
<w>signout</w>
<w>signup</w>
<w>snackbar</w>
<w>ssss</w>
<w>sygnal</w>
<w>threepid</w>

View File

@@ -1,3 +1,49 @@
Changes in Element 1.1.2 (2021-03-16)
===================================================
Improvements 🙌:
- Lazy storage of ReadReceipts
- Do not load room members in e2e after init sync
Bugfix 🐛:
- Add option to cancel stuck messages at bottom of timeline see #516
- Ensure message are decrypted in the room list after a clear cache
- Regression: Video will not play upon tap, but only after swipe #2928
- Cross signing now works with servers with an explicit port in the servername
Other changes:
- Change formatting on issue templates to proper headings.
Changes in Element 1.1.1 (2021-03-10)
===================================================
Improvements 🙌:
- Allow non-HTTPS connections to homeservers on Tor (#2941)
- Fetch homeserver type and version and display in a new setting screen and add info in rageshakes (#2831)
- Improve initial sync performance - split into 2 transactions (#983)
- PIP support for Jitsi call (#2418)
- Add tooltip for room quick actions
- Pre-share session keys when opening a room or start typing (#2771)
- Sending is now queuing by room and not uniquely to the session
- Improve Snackbar duration (#2929)
- Improve sending message state (#2937)
Bugfix 🐛:
- Try to fix crash about UrlPreview (#2640)
- Be robust if Event.type is missing (#2946)
- Snappier message send status
- Fix MainActivity display (#2927)
Translations 🗣:
- All string resources and translations have been moved to the application module. Weblate project for the SDK will be removed.
Build 🧱:
- Update a lot of dependencies, with the help of dependabot.
- Add a script to download and install APK from the CI
Other changes:
- Rework edition of event management
Changes in Element 1.1.0 (2021-02-19)
===================================================
@@ -1196,7 +1242,7 @@ Mode details here: https://medium.com/@RiotChat/introducing-the-riotx-beta-for-a
=======================================================
Changes in Element 1.X.X (2021-XX-XX)
Changes in Element 1.1.X (2021-XX-XX)
===================================================
Features ✨:

View File

@@ -29,7 +29,7 @@ To create a new screen:
- Then right click on the package, and select `New/New Vector/RiotX Feature`.
- Follow the Wizard, especially replace `Main` by something more relevant to your feature.
- Click on `Finish`.
- Remaining steps are described as TODO in the generated files, or will be pointed out by the compilator, or at runtime :)
- Remaining steps are described as TODO in the generated files, or will be pointed out by the compiler, or at runtime :)
Note that if the templates are modified, the only things to do is to restart Android Studio for the change to take effect.

View File

@@ -63,13 +63,13 @@ android {
dependencies {
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation "androidx.recyclerview:recyclerview:1.1.0"
implementation "androidx.recyclerview:recyclerview:1.2.0-beta02"
implementation 'com.google.android.material:material:1.2.1'
implementation 'com.google.android.material:material:1.3.0'
}

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/design_default_color_primary">
<TextView
android:id="@+id/testPage"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textSize="80sp"
android:textStyle="bold" />
</RelativeLayout>

View File

@@ -2,8 +2,8 @@
buildscript {
// Ref: https://kotlinlang.org/releases.html
ext.kotlin_version = '1.4.21'
ext.kotlin_coroutines_version = "1.4.1"
ext.kotlin_version = '1.4.31'
ext.kotlin_coroutines_version = "1.4.2"
repositories {
google()
jcenter()
@@ -15,8 +15,9 @@ buildscript {
classpath 'com.android.tools.build:gradle:4.1.2'
classpath 'com.google.gms:google-services:4.3.5'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.1.1'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.2'
classpath "com.likethesalad.android:string-reference:1.2.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

View File

@@ -0,0 +1,2 @@
Canvis principals d'aquesta versió: millora de VoIP (trucades i videotrucades en xats personals) i correcció d'errors!
Registre de canvis complet: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -1,2 +1,2 @@
Hlavní změny v této verzi: Náhled URL, nová klávesice s Emoji, nové možnosti nastavení místností a sníh na vánoce!
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.12
Plné znění změn: https://github.com/vector-im/element-android/releases/tag/v1.0.13

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Úpravy práv místností, automatický tmavý/světlý vzhled a řada oprav chyb.
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.14

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Podpora přihlášení v sociálních sítích.
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.15

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Podpora přihlášení v sociálních sítích.
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.15 a https://github.com/vector-im/element-android/releases/tag/v1.0.16

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Opravy chyb!
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: VoIP (audio a video hovory v DM), vylepšení a opravy chyb!
Úplný záznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -1,30 +1,30 @@
Element je nový typ aplikace pro výměnu zpráv a kolaboraci, která:
Element je nový typ aplikace pro výměnu zpráv a spolupráci, která:
1. Vám dá moc zachovat si soukromí
2. Vás nechá komunikovat s kýmkoli v síti Matrix a dokonce dále integrací s aplikacemi jako Slack
3. Vás ochrání před inzercí, těžbou dat a uzavřenými zahradami
4. Vás zabezpečí šifrováním end-to-end s křížovým podepisováním pro ověření ostatních
1. Vám dá kontrolu nad ochranou vašeho soukromí
2. Umožní vám komunikovat s kýmkoli v síti Matrix a dokonce i mimo ni pomocí integrací s aplikacemi, jako je Slack
3. Ochrání vás před inzercí, dataminingem a uzavřenými zahradami
4. Zabezpečí vás end-to-end šifrováním s křížovým podpisem pro ověření ostatních
Element is completely different from other messaging and collaboration apps because it is decentralised and open source.
Element je zcela odlišný od ostatních aplikací pro zasílání zpráv a spolupráci, protože je decentralizovaný a otevřený.
Element lets you self-host - or choose a host - so that you have privacy, ownership and control of your data and conversations. It gives you access to an open network; so youre not just stuck speaking to other Element users only. And it is very secure.
Element vám umožňuje použít vlastní domovský server - nebo si vybrat hostitele - abyste měli soukromí, vlastnictví a kontrolu nad svými daty a konverzacemi. Poskytuje vám přístup k otevřené síti; takže nejste zaseknuti jen při konverzaci s ostatními uživateli Elementu. A je velmi bezpečný.
Element is able to do all this because it operates on Matrix - the standard for open, decentralised communication.
Element je toho všeho schopen, protože pracuje na Matrixu - standardu otevřené, decentralizované komunikace.
Element puts you in control by letting you choose who hosts your conversations. From the Element app, you can choose to host in different ways:
Element vám dává kontrolu nad tím, že si můžete vybrat, kdo bude hostovat vaše konverzace. Z aplikace Element si můžete vybrat hostování různými způsoby:
1. Get a free account on the matrix.org public server hosted by the Matrix developers, or choose from thousands of public servers hosted by volunteers
2. Self-host your account by running a server on your own hardware
3. Sign up for an account on a custom server by simply subscribing to the Element Matrix Services hosting platform
1. Získejte zdarma účet na veřejném serveru matrix.org hostovaném vývojáři Matrixu, nebo si vyberte z tisíců veřejných serverů hostovaných dobrovolníky
2. Hostujte svůj účet spuštěním serveru na svém vlastním hardwaru
3. Zaregistrujte si účet na vlastním serveru jednoduchým přihlášením k hostitelské platformě Element Matrix Services
<b>Why choose Element?</b>
<b>Proč zvolit Element?</b>
<b>OWN YOUR DATA</b>: You decide where to keep your data and messages. You own it and control it, not some MEGACORP that mines your data or gives access to third parties.
<b>VLASTNĚTE SVÁ DATA</b>: Vy rozhodnete, kde svá data a zprávy ponecháte. Vlastníte je a jsou pod vaší kontrolou, ne nějaký MEGACORP, který těží vaše data nebo poskytuje přístup třetím stranám.
<b>OPEN MESSAGING AND COLLABORATION</b>: You can chat with anyone else in the Matrix network, whether theyre using Element or another Matrix app, and even if they are using a different messaging system of the likes of Slack, IRC or XMPP.
<b>ZPRÁVY A SPOLUPRÁCE</b>: Můžete chatovat s kýmkoli v síti Matrix, ať už používá Element nebo jinou aplikaci, a to i v případě, že používají jiný systém zasílání zpráv, jako je Slack, IRC nebo XMPP.
<b>SUPER-SECURE</b>: Real end-to-end encryption (only those in the conversation can decrypt messages), and cross-signing to verify the devices of conversation participants.
<b>MAXIMÁLNĚ BEZPEČNÉ</b>: Skutečné šifrování typu end-to-end (pouze ti v konverzaci mohou dešifrovat zprávy) a křížové podepisování k ověření zařízení účastníků konverzace.
<b>COMPLETE COMMUNICATION</b>: Messaging, voice and video calls, file sharing, screen sharing and a whole bunch of integrations, bots and widgets. Build rooms, communities, stay in touch and get things done.
<b>KOMPLETNÍ KOMUNIKACE</b>: Zprávy, hlasové hovory a videohovory, sdílení souborů, sdílení obrazovky a celá řada integrací, robotů a widgetů. Budujte místnosti, komunity, zůstaňte v kontaktu a spolupracujte.
<b>EVERYWHERE YOU ARE</b>: Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io.
<b>KDEKOLIV JSTE</b>: Zůstaňte v kontaktu, ať jste kdekoli, s plně synchronizovanou historií zpráv na všech vašich zařízeních a na webu na adrese https://app.element.io.

View File

@@ -1 +1 @@
Zabezpečený decentralizovaný chat & VoIP. Uchovejte svá data v bezpečí.
Zabezpečený decentralizovaný chat a VoIP. Uchovejte svá data v bezpečí.

View File

@@ -0,0 +1,2 @@
Hauptänderungen in dieser Version: VoIP-Verbesserung (Audio- und Video-Anrufe in Direktnachrichten) und Fehlerkorrekturen!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -0,0 +1,2 @@
Main changes in this version: performance improvement and bug fixes!
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.1.1

View File

@@ -0,0 +1,2 @@
Main changes in this version: performance improvement and bug fixes!
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.1.2

View File

@@ -0,0 +1,2 @@
Olulisemad muutused selles versioonis: Heli- ja videokõnede parandused otsevestluses ning üldised veaparandused!
Muudatuste logi täismahus: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -1,2 +1,2 @@
Tärkeimmät muutokset tässä versiossa: URL-esikatselu, uusi emoji-näppäimistö, uudet huoneasetukset ja lunta jouluna!
Tärkeimmät muutokset tässä versiossa: URL-esikatselu, uusi emoji-näppäimistö, uudet huoneasetukset ja lunta jouluksi!
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.12

View File

@@ -1,2 +1,2 @@
Tärkeimmät muutokset tässä versiossa: URL-esikatselu, uusi emoji-näppäimistö, uudet huoneasetukset ja lunta jouluna!
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.12
Tärkeimmät muutokset tässä versiossa: URL-esikatselu, uusi emoji-näppäimistö, uudet huoneasetukset ja lunta jouluksi!
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.13

View File

@@ -0,0 +1,2 @@
Tärkeimmät muutokset tässä versiossa: Huoneoikeuksien muokkaus, automaattinen valoisa/tumma teema ja läjäpäin virheenkorjauksia.
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.14

View File

@@ -0,0 +1,2 @@
Tärkeimmät muutokset tässä versiossa: Social Login -tuki.
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.15

View File

@@ -0,0 +1,2 @@
Tärkeimmät muutokset tässä versiossa: Social Login -tuki.
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16

View File

@@ -0,0 +1,2 @@
Tärkeimmät muutokset tässä versiossa: Virheenkorjauksia!
Täysi muutosloki: https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1,2 @@
Principais mudanças nessa versão: correções de erros!
Registro de todas as alterações: https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: Исправлены ошибки!
Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1 @@
ඉලෙමන්ට් (මීට පෙර Riot.im)

View File

@@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Buggfixar!
Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Förbättringar för VoIP (ljud- och videosamtal i DM) och buggfixar!
Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -0,0 +1,2 @@
Основні зміни в цій версії: поліпшення VoIP (аудіо та відео дзвінки в DM) та виправлення помилок!
Повний журнал змін: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -0,0 +1,2 @@
此版本中的主要變動:錯誤修復!
完整變更紀錄https://github.com/vector-im/element-android/releases/tag/v1.0.17

View File

@@ -0,0 +1,2 @@
此版本的主要變更VoIP直接訊息中的音訊與視訊通話改善與錯誤修復
完整變更紀錄https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@@ -1,7 +1,6 @@
#Fri Jan 29 18:05:42 CET 2021
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=1433372d903ffba27496f8d5af24265310d2da0d78bf6b4e5138831d4fe066e9
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip
distributionSha256Sum=9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -36,7 +36,7 @@ android {
dependencies {
implementation project(":matrix-sdk-android")
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$kotlin_coroutines_version"

View File

@@ -9,7 +9,7 @@ buildscript {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:10.1.2"
classpath "io.realm:realm-gradle-plugin:10.3.1"
}
}
@@ -112,9 +112,9 @@ dependencies {
def lifecycle_version = '2.2.0'
def arch_version = '2.1.0'
def markwon_version = '3.1.0'
def daggerVersion = '2.31'
def work_version = '2.4.0'
def retrofit_version = '2.6.2'
def daggerVersion = '2.33'
def work_version = '2.5.0'
def retrofit_version = '2.9.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
@@ -130,7 +130,7 @@ dependencies {
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version"
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.8.1"))
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.1"))
implementation 'com.squareup.okhttp3:okhttp'
implementation 'com.squareup.okhttp3:logging-interceptor'
implementation 'com.squareup.okhttp3:okhttp-urlconnection'
@@ -141,11 +141,11 @@ dependencies {
implementation "ru.noties.markwon:core:$markwon_version"
// Image
implementation 'androidx.exifinterface:exifinterface:1.3.1'
implementation 'androidx.exifinterface:exifinterface:1.3.2'
// Database
implementation 'com.github.Zhuinden:realm-monarchy:0.7.1'
kapt 'dk.ilios:realmfieldnameshelper:1.1.1'
kapt 'dk.ilios:realmfieldnameshelper:2.0.0'
// Work
implementation "androidx.work:work-runtime-ktx:$work_version"
@@ -155,7 +155,7 @@ dependencies {
implementation "io.arrow-kt:arrow-instances-core:$arrow_version"
// olm lib is now hosted by jitpack: https://jitpack.io/#org.matrix.gitlab.matrix-org/olm
implementation 'org.matrix.gitlab.matrix-org:olm:3.1.2'
implementation 'org.matrix.gitlab.matrix-org:olm:3.2.2'
// DI
implementation "com.google.dagger:dagger:$daggerVersion"
@@ -166,14 +166,14 @@ dependencies {
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'
// Phone number https://github.com/google/libphonenumber
implementation 'com.googlecode.libphonenumber:libphonenumber:8.10.23'
implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.19'
testImplementation 'junit:junit:4.13'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.5.1'
//testImplementation 'org.robolectric:shadows-support-v4:3.0'
// Note: version sticks to 1.9.2 due to https://github.com/mockk/mockk/issues/281
testImplementation 'io.mockk:mockk:1.9.2.kotlin12'
testImplementation 'org.amshove.kluent:kluent-android:1.61'
testImplementation 'io.mockk:mockk:1.10.6'
testImplementation 'org.amshove.kluent:kluent-android:1.65'
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
// Plant Timber tree for test
testImplementation 'net.lachlanmckee:timber-junit-rule:1.0.1'
@@ -186,7 +186,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'org.amshove.kluent:kluent-android:1.61'
// Note: version sticks to 1.9.2 due to https://github.com/mockk/mockk/issues/281
androidTestImplementation 'io.mockk:mockk-android:1.9.2.kotlin12'
androidTestImplementation 'io.mockk:mockk-android:1.10.6'
androidTestImplementation "androidx.arch.core:core-testing:$arch_version"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
// Plant Timber tree for test

View File

@@ -19,6 +19,15 @@ package org.matrix.android.sdk.common
import android.content.Context
import android.net.Uri
import androidx.lifecycle.Observer
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeout
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.matrix.android.sdk.api.Matrix
import org.matrix.android.sdk.api.MatrixCallback
import org.matrix.android.sdk.api.MatrixConfiguration
@@ -34,15 +43,6 @@ import org.matrix.android.sdk.api.session.room.timeline.Timeline
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
import org.matrix.android.sdk.api.session.room.timeline.TimelineSettings
import org.matrix.android.sdk.api.session.sync.SyncState
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withTimeout
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import java.util.ArrayList
import java.util.UUID
import java.util.concurrent.CountDownLatch
@@ -59,7 +59,13 @@ class CommonTestHelper(context: Context) {
fun getTestInterceptor(session: Session): MockOkHttpInterceptor? = TestNetworkModule.interceptorForSession(session.sessionId) as? MockOkHttpInterceptor
init {
Matrix.initialize(context, MatrixConfiguration("TestFlavor"))
Matrix.initialize(
context,
MatrixConfiguration(
applicationFlavor = "TestFlavor",
roomDisplayNameFallbackProvider = TestRoomDisplayNameFallbackProvider()
)
)
matrix = Matrix.getInstance(context)
}
@@ -385,8 +391,8 @@ fun List<TimelineEvent>.checkSendOrder(baseTextMessage: String, numberOfMessages
return drop(startIndex)
.take(numberOfMessages)
.foldRightIndexed(true) { index, timelineEvent, acc ->
val body = timelineEvent.root.content.toModel<MessageContent>()?.body
val currentMessageSuffix = numberOfMessages - index
acc && (body == null || body.startsWith(baseTextMessage) && body.endsWith("#$currentMessageSuffix"))
}
val body = timelineEvent.root.content.toModel<MessageContent>()?.body
val currentMessageSuffix = numberOfMessages - index
acc && (body == null || body.startsWith(baseTextMessage) && body.endsWith("#$currentMessageSuffix"))
}
}

View File

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.common
import org.matrix.android.sdk.api.RoomDisplayNameFallbackProvider
class TestRoomDisplayNameFallbackProvider() : RoomDisplayNameFallbackProvider {
override fun getNameForRoomInvite() =
"Room invite"
override fun getNameForEmptyRoom() =
"Empty room"
override fun getNameFor2members(name1: String?, name2: String?) =
"$name1 and $name2"
override fun getNameFor3members(name1: String?, name2: String?, name3: String?) =
"$name1, $name2 and $name3"
override fun getNameFor4members(name1: String?, name2: String?, name3: String?, name4: String?) =
"$name1, $name2, $name3 and $name4"
override fun getNameFor4membersAndMore(name1: String?, name2: String?, name3: String?, remainingCount: Int) =
"$name1, $name2, $name3 and $remainingCount others"
}

View File

@@ -0,0 +1,103 @@
/*
* Copyright 2020 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.internal.crypto
import android.util.Log
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.matrix.android.sdk.InstrumentedTest
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.common.CommonTestHelper
import org.matrix.android.sdk.common.CryptoTestHelper
import org.matrix.android.sdk.internal.crypto.model.event.EncryptedEventContent
import org.matrix.android.sdk.internal.crypto.model.event.RoomKeyContent
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
@RunWith(AndroidJUnit4::class)
@FixMethodOrder(MethodSorters.JVM)
class PreShareKeysTest : InstrumentedTest {
private val mTestHelper = CommonTestHelper(context())
private val mCryptoTestHelper = CryptoTestHelper(mTestHelper)
@Test
fun ensure_outbound_session_happy_path() {
val testData = mCryptoTestHelper.doE2ETestWithAliceAndBobInARoom(true)
val e2eRoomID = testData.roomId
val aliceSession = testData.firstSession
val bobSession = testData.secondSession!!
// clear any outbound session
aliceSession.cryptoService().discardOutboundSession(e2eRoomID)
val preShareCount = bobSession.cryptoService().getGossipingEvents().count {
it.senderId == aliceSession.myUserId
&& it.getClearType() == EventType.ROOM_KEY
}
assertEquals(0, preShareCount, "Bob should not have receive any key from alice at this point")
Log.d("#Test", "Room Key Received from alice $preShareCount")
// Force presharing of new outbound key
mTestHelper.doSync<Unit> {
aliceSession.cryptoService().prepareToEncrypt(e2eRoomID, it)
}
mTestHelper.waitWithLatch { latch ->
mTestHelper.retryPeriodicallyWithLatch(latch) {
val newGossipCount = bobSession.cryptoService().getGossipingEvents().count {
it.senderId == aliceSession.myUserId
&& it.getClearType() == EventType.ROOM_KEY
}
newGossipCount > preShareCount
}
}
val latest = bobSession.cryptoService().getGossipingEvents().lastOrNull {
it.senderId == aliceSession.myUserId
&& it.getClearType() == EventType.ROOM_KEY
}
val content = latest?.getClearContent().toModel<RoomKeyContent>()
assertNotNull(content, "Bob should have received and decrypted a room key event from alice")
assertEquals(e2eRoomID, content.roomId, "Wrong room")
val megolmSessionId = content.sessionId!!
val sharedIndex = aliceSession.cryptoService().getSharedWithInfo(e2eRoomID, megolmSessionId)
.getObject(bobSession.myUserId, bobSession.sessionParams.deviceId)
assertEquals(0, sharedIndex, "The session received by bob should match what alice sent")
// Just send a real message as test
val sentEvent = mTestHelper.sendTextMessage(aliceSession.getRoom(e2eRoomID)!!, "Allo", 1).first()
assertEquals(megolmSessionId, sentEvent.root.content.toModel<EncryptedEventContent>()?.sessionId, "Unexpected megolm session")
mTestHelper.waitWithLatch { latch ->
mTestHelper.retryPeriodicallyWithLatch(latch) {
bobSession.getRoom(e2eRoomID)?.getTimeLineEvent(sentEvent.eventId)?.root?.getClearType() == EventType.MESSAGE
}
}
mTestHelper.signOutAndClose(aliceSession)
mTestHelper.signOutAndClose(bobSession)
}
}

View File

@@ -51,7 +51,7 @@ class WithHeldTests : InstrumentedTest {
// =============================
val aliceSession = mTestHelper.createAccount(TestConstants.USER_ALICE, SessionTestParams(true))
val bobSession = mTestHelper.createAccount(TestConstants.USER_ALICE, SessionTestParams(true))
val bobSession = mTestHelper.createAccount(TestConstants.USER_BOB, SessionTestParams(true))
// Initialize cross signing on both
mCryptoTestHelper.initializeCrossSigning(aliceSession)

View File

@@ -39,7 +39,11 @@ data class MatrixConfiguration(
/**
* True to advertise support for call transfers to other parties on Matrix calls.
*/
val supportsCallTransfer: Boolean = false
val supportsCallTransfer: Boolean = false,
/**
* RoomDisplayNameFallbackProvider to provide default room display name.
*/
val roomDisplayNameFallbackProvider: RoomDisplayNameFallbackProvider
) {
/**

View File

@@ -0,0 +1,26 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api
interface RoomDisplayNameFallbackProvider {
fun getNameForRoomInvite(): String
fun getNameForEmptyRoom(): String
fun getNameFor2members(name1: String?, name2: String?): String
fun getNameFor3members(name1: String?, name2: String?, name3: String?): String
fun getNameFor4members(name1: String?, name2: String?, name3: String?, name4: String?): String
fun getNameFor4membersAndMore(name1: String?, name2: String?, name3: String?, remainingCount: Int): String
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api.crypto
enum class VerificationState {
REQUEST,
WAITING,
CANCELED_BY_ME,
CANCELED_BY_OTHER,
DONE
}
fun VerificationState.isCanceled(): Boolean {
return this == VerificationState.CANCELED_BY_ME || this == VerificationState.CANCELED_BY_OTHER
}

View File

@@ -0,0 +1,24 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api.federation
interface FederationService {
/**
* Get information about the homeserver
*/
suspend fun getFederationVersion(): FederationVersion
}

View File

@@ -0,0 +1,31 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api.federation
/**
* Ref: https://matrix.org/docs/spec/server_server/latest#get-matrix-federation-v1-version
*/
data class FederationVersion(
/**
* Arbitrary name that identify this implementation.
*/
val name: String?,
/**
* Version of this implementation. The version format depends on the implementation.
*/
val version: String?
)

View File

@@ -21,6 +21,7 @@ import androidx.lifecycle.LiveData
import okhttp3.OkHttpClient
import org.matrix.android.sdk.api.auth.data.SessionParams
import org.matrix.android.sdk.api.failure.GlobalError
import org.matrix.android.sdk.api.federation.FederationService
import org.matrix.android.sdk.api.pushrules.PushRuleService
import org.matrix.android.sdk.api.session.account.AccountService
import org.matrix.android.sdk.api.session.accountdata.AccountDataService
@@ -34,6 +35,7 @@ import org.matrix.android.sdk.api.session.file.FileService
import org.matrix.android.sdk.api.session.group.GroupService
import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilitiesService
import org.matrix.android.sdk.api.session.identity.IdentityService
import org.matrix.android.sdk.api.session.initsync.InitialSyncProgressService
import org.matrix.android.sdk.api.session.integrationmanager.IntegrationManagerService
import org.matrix.android.sdk.api.session.media.MediaService
import org.matrix.android.sdk.api.session.permalinks.PermalinkService
@@ -213,6 +215,11 @@ interface Session :
*/
fun searchService(): SearchService
/**
* Returns the federation service associated with the session
*/
fun federationService(): FederationService
/**
* Returns the third party service associated with the session
*/

View File

@@ -156,4 +156,10 @@ interface CryptoService {
fun getWithHeldMegolmSession(roomId: String, sessionId: String): RoomKeyWithHeldContent?
fun logDbUsageInfo()
/**
* Perform any background tasks that can be done before a message is ready to
* send, in order to speed up sending of the message.
*/
fun prepareToEncrypt(roomId: String, callback: MatrixCallback<Unit>)
}

View File

@@ -66,7 +66,7 @@ inline fun <reified T> T.toContent(): Content {
*/
@JsonClass(generateAdapter = true)
data class Event(
@Json(name = "type") val type: String,
@Json(name = "type") val type: String? = null,
@Json(name = "event_id") val eventId: String? = null,
@Json(name = "content") val content: Content? = null,
@Json(name = "prev_content") val prevContent: Content? = null,
@@ -98,6 +98,19 @@ data class Event(
@Transient
var ageLocalTs: Long? = null
/**
* Copy all fields, including transient fields
*/
fun copyAll(): Event {
return copy().also {
it.mxDecryptionResult = mxDecryptionResult
it.mCryptoError = mCryptoError
it.mCryptoErrorReason = mCryptoErrorReason
it.sendState = sendState
it.ageLocalTs = ageLocalTs
}
}
/**
* Check if event is a state event.
* @return true if event is state event.
@@ -135,7 +148,7 @@ data class Event(
* @return the event type
*/
fun getClearType(): String {
return mxDecryptionResult?.payload?.get("type")?.toString() ?: type
return mxDecryptionResult?.payload?.get("type")?.toString() ?: type ?: EventType.MISSING_TYPE
}
/**

View File

@@ -20,6 +20,8 @@ package org.matrix.android.sdk.api.session.events.model
* Constants defining known event types from Matrix specifications.
*/
object EventType {
// Used when the type is missing, which should not happen
const val MISSING_TYPE = "org.matrix.android.sdk.missing_type"
const val PRESENCE = "m.presence"
const val MESSAGE = "m.room.message"

View File

@@ -21,6 +21,11 @@ package org.matrix.android.sdk.api.session.homeserver
*/
interface HomeServerCapabilitiesService {
/**
* Force a refresh of the stored data
*/
suspend fun refreshHomeServerCapabilities()
/**
* Get the HomeServer capabilities
*/

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2021 The Matrix.org Foundation C.I.C.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api.session.initsync
enum class InitSyncStep {
ServerComputing,
Downloading,
ImportingAccount,
ImportingAccountCrypto,
ImportingAccountRoom,
ImportingAccountGroups,
ImportingAccountData,
ImportingAccountJoinedRooms,
ImportingAccountInvitedRooms,
ImportingAccountLeftRooms
}

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -13,9 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.matrix.android.sdk.api.session
package org.matrix.android.sdk.api.session.initsync
import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
interface InitialSyncProgressService {
@@ -25,7 +24,7 @@ interface InitialSyncProgressService {
sealed class Status {
object Idle : Status()
data class Progressing(
@StringRes val statusText: Int,
val initSyncStep: InitSyncStep,
val percentProgress: Int = 0
) : Status()
}

View File

@@ -16,11 +16,9 @@
package org.matrix.android.sdk.api.session.room
import org.matrix.android.sdk.api.MatrixCallback
import org.matrix.android.sdk.api.session.room.model.RoomDirectoryVisibility
import org.matrix.android.sdk.api.session.room.model.roomdirectory.PublicRoomsParams
import org.matrix.android.sdk.api.session.room.model.roomdirectory.PublicRoomsResponse
import org.matrix.android.sdk.api.util.Cancelable
/**
* This interface defines methods to get and join public rooms. It's implemented at the session level.
@@ -30,9 +28,8 @@ interface RoomDirectoryService {
/**
* Get rooms from directory
*/
fun getPublicRooms(server: String?,
publicRoomsParams: PublicRoomsParams,
callback: MatrixCallback<PublicRoomsResponse>): Cancelable
suspend fun getPublicRooms(server: String?,
publicRoomsParams: PublicRoomsParams): PublicRoomsResponse
/**
* Get the visibility of a room in the directory

View File

@@ -30,4 +30,10 @@ interface RoomCryptoService {
* Enable encryption of the room
*/
suspend fun enableEncryption(algorithm: String = MXCRYPTO_ALGORITHM_MEGOLM)
/**
* Ensures all members of the room are loaded and outbound session keys are shared.
* If this method is not called, CryptoService will ensure it before sending events.
*/
suspend fun prepareToEncrypt()
}

View File

@@ -18,7 +18,7 @@ package org.matrix.android.sdk.api.session.room.model
import org.matrix.android.sdk.api.session.events.model.Content
data class EditAggregatedSummary(
val aggregatedContent: Content? = null,
val latestContent: Content? = null,
// The list of the eventIDs used to build the summary (might be out of sync if chunked received from message chunk)
val sourceEvents: List<String>,
val localEchos: List<String>,

View File

@@ -17,7 +17,7 @@ package org.matrix.android.sdk.api.session.room.model
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import org.matrix.android.sdk.internal.session.room.VerificationState
import org.matrix.android.sdk.api.crypto.VerificationState
/**
* Contains an aggregated summary info of the references.

View File

@@ -16,7 +16,6 @@
package org.matrix.android.sdk.api.session.room.model.relation
import androidx.lifecycle.LiveData
import org.matrix.android.sdk.api.MatrixCallback
import org.matrix.android.sdk.api.session.events.model.Event
import org.matrix.android.sdk.api.session.room.model.EventAnnotationsSummary
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
@@ -67,11 +66,11 @@ interface RelationService {
/**
* Edit a text message body. Limited to "m.text" contentType
* @param targetEventId The event to edit
* @param targetEvent The event to edit
* @param newBodyText The edited body
* @param compatibilityBodyText The text that will appear on clients that don't support yet edition
*/
fun editTextMessage(targetEventId: String,
fun editTextMessage(targetEvent: TimelineEvent,
msgType: String,
newBodyText: CharSequence,
newBodyAutoMarkdown: Boolean,
@@ -92,8 +91,11 @@ interface RelationService {
/**
* Get the edit history of the given event
* The return list will contain the original event and all the editions of this event, done by the
* same sender, sorted in the reverse order (so the original event is the latest element, and the
* latest edition is the first element of the list)
*/
fun fetchEditHistory(eventId: String, callback: MatrixCallback<List<Event>>)
suspend fun fetchEditHistory(eventId: String): List<Event>
/**
* Reply to an event in the timeline (must be in same room)

View File

@@ -17,14 +17,11 @@
package org.matrix.android.sdk.api.session.room.powerlevels
import androidx.annotation.StringRes
import org.matrix.android.sdk.R
sealed class Role(open val value: Int, @StringRes val res: Int) : Comparable<Role> {
object Admin : Role(100, R.string.power_level_admin)
object Moderator : Role(50, R.string.power_level_moderator)
object Default : Role(0, R.string.power_level_default)
data class Custom(override val value: Int) : Role(value, R.string.power_level_custom)
sealed class Role(open val value: Int) : Comparable<Role> {
object Admin : Role(100)
object Moderator : Role(50)
object Default : Role(0)
data class Custom(override val value: Int) : Role(value)
override fun compareTo(other: Role): Int {
return value.compareTo(other.value)

View File

@@ -132,4 +132,9 @@ interface SendService {
* Resend all failed messages one by one (and keep order)
*/
fun resendAllFailedMessages()
/**
* Cancel all failed messages
*/
fun cancelAllFailedMessages()
}

View File

@@ -38,6 +38,9 @@ import org.matrix.android.sdk.api.util.ContentUtils.extractUsefulTextFromReply
*/
data class TimelineEvent(
val root: Event,
/**
* Uniquely identify an event, computed locally by the sdk
*/
val localId: Long,
val eventId: String,
val displayIndex: Int,
@@ -123,8 +126,7 @@ fun TimelineEvent.getLastMessageContent(): MessageContent? {
return if (root.getClearType() == EventType.STICKER) {
root.getClearContent().toModel<MessageStickerContent>()
} else {
annotations?.editSummary?.aggregatedContent?.toModel()
?: root.getClearContent().toModel()
(annotations?.editSummary?.latestContent ?: root.getClearContent()).toModel()
}
}

View File

@@ -36,9 +36,23 @@ interface TimelineService {
*/
fun createTimeline(eventId: String?, settings: TimelineSettings): Timeline
/**
* Returns a snapshot of TimelineEvent event with eventId.
* At the opposite of getTimeLineEventLive which will be updated when local echo event is synced, it will return null in this case.
* @param eventId the eventId to get the TimelineEvent
*/
fun getTimeLineEvent(eventId: String): TimelineEvent?
/**
* Creates a LiveData of Optional TimelineEvent event with eventId.
* If the eventId is a local echo eventId, it will make the LiveData be updated with the synced TimelineEvent when coming through the sync.
* In this case, makes sure to use the new synced eventId from the TimelineEvent class if you want to interact, as the local echo is removed from the SDK.
* @param eventId the eventId to listen for TimelineEvent
*/
fun getTimeLineEventLive(eventId: String): LiveData<Optional<TimelineEvent>>
/**
* Returns a snapshot list of TimelineEvent with EventType.MESSAGE and MessageType.MSGTYPE_IMAGE or MessageType.MSGTYPE_VIDEO.
*/
fun getAttachmentMessages(): List<TimelineEvent>
}

View File

@@ -22,9 +22,9 @@ interface FilterService {
NoFilter,
/**
* Filter for Riot, will include only known event type
* Filter for Element, will include only known event type
*/
RiotFilter
ElementFilter
}
/**

View File

@@ -38,7 +38,7 @@ internal class CryptoSessionInfoProvider @Inject constructor(
val encryptionEvent = monarchy.fetchCopied { realm ->
EventEntity.whereType(realm, roomId = roomId, type = EventType.STATE_ROOM_ENCRYPTION)
.contains(EventEntityFields.CONTENT, "\"algorithm\":\"$MXCRYPTO_ALGORITHM_MEGOLM\"")
.isNotNull(EventEntityFields.STATE_KEY) // should be an empty key
.isEmpty(EventEntityFields.STATE_KEY)
.findFirst()
}
return encryptionEvent != null

View File

@@ -53,6 +53,7 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberContent
import org.matrix.android.sdk.internal.crypto.actions.MegolmSessionDataImporter
import org.matrix.android.sdk.internal.crypto.actions.SetDeviceVerificationAction
import org.matrix.android.sdk.internal.crypto.algorithms.IMXEncrypting
import org.matrix.android.sdk.internal.crypto.algorithms.IMXGroupEncryption
import org.matrix.android.sdk.internal.crypto.algorithms.IMXWithHeldExtension
import org.matrix.android.sdk.internal.crypto.algorithms.megolm.MXMegolmEncryptionFactory
import org.matrix.android.sdk.internal.crypto.algorithms.olm.MXOlmEncryptionFactory
@@ -97,7 +98,6 @@ import org.matrix.olm.OlmManager
import timber.log.Timber
import java.util.concurrent.atomic.AtomicBoolean
import javax.inject.Inject
import kotlin.jvm.Throws
import kotlin.math.max
/**
@@ -667,7 +667,12 @@ internal class DefaultCryptoService @Inject constructor(
override fun discardOutboundSession(roomId: String) {
cryptoCoroutineScope.launch(coroutineDispatchers.crypto) {
roomEncryptorsStore.get(roomId)?.discardSessionKey()
val roomEncryptor = roomEncryptorsStore.get(roomId)
if (roomEncryptor is IMXGroupEncryption) {
roomEncryptor.discardSessionKey()
} else {
Timber.e("## CRYPTO | discardOutboundSession() for:$roomId: Unable to handle IMXGroupEncryption")
}
}
}
@@ -703,7 +708,7 @@ internal class DefaultCryptoService @Inject constructor(
*/
@Throws(MXCryptoError::class)
private fun internalDecryptEvent(event: Event, timeline: String): MXEventDecryptionResult {
return eventDecryptor.decryptEvent(event, timeline)
return eventDecryptor.decryptEvent(event, timeline)
}
/**
@@ -851,15 +856,8 @@ internal class DefaultCryptoService @Inject constructor(
return
}
cryptoCoroutineScope.launch(coroutineDispatchers.crypto) {
val params = LoadRoomMembersTask.Params(roomId)
try {
loadRoomMembersTask.execute(params)
} catch (throwable: Throwable) {
Timber.e(throwable, "## CRYPTO | onRoomEncryptionEvent ERROR FAILED TO SETUP CRYPTO ")
} finally {
val userIds = getRoomUserIds(roomId)
setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds)
}
val userIds = getRoomUserIds(roomId)
setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds)
}
}
@@ -1290,6 +1288,43 @@ internal class DefaultCryptoService @Inject constructor(
cryptoStore.logDbUsageInfo()
}
override fun prepareToEncrypt(roomId: String, callback: MatrixCallback<Unit>) {
cryptoCoroutineScope.launch(coroutineDispatchers.crypto) {
Timber.d("## CRYPTO | prepareToEncrypt() : Check room members up to date")
// Ensure to load all room members
try {
loadRoomMembersTask.execute(LoadRoomMembersTask.Params(roomId))
} catch (failure: Throwable) {
Timber.e("## CRYPTO | prepareToEncrypt() : Failed to load room members")
callback.onFailure(failure)
return@launch
}
val userIds = getRoomUserIds(roomId)
val alg = roomEncryptorsStore.get(roomId)
?: getEncryptionAlgorithm(roomId)
?.let { setEncryptionInRoom(roomId, it, false, userIds) }
?.let { roomEncryptorsStore.get(roomId) }
if (alg == null) {
val reason = String.format(MXCryptoError.UNABLE_TO_ENCRYPT_REASON, MXCryptoError.NO_MORE_ALGORITHM_REASON)
Timber.e("## CRYPTO | prepareToEncrypt() : $reason")
callback.onFailure(IllegalArgumentException("Missing algorithm"))
return@launch
}
runCatching {
(alg as? IMXGroupEncryption)?.preshareKey(userIds)
}.fold(
{ callback.onSuccess(Unit) },
{
Timber.e("## CRYPTO | prepareToEncrypt() failed.")
callback.onFailure(it)
}
)
}
}
/* ==========================================================================================
* For test only
* ========================================================================================== */

View File

@@ -16,6 +16,7 @@
package org.matrix.android.sdk.internal.crypto
import kotlinx.coroutines.launch
import org.matrix.android.sdk.api.MatrixPatterns
import org.matrix.android.sdk.api.auth.data.Credentials
import org.matrix.android.sdk.internal.crypto.crosssigning.DeviceTrustLevel
@@ -28,7 +29,7 @@ import org.matrix.android.sdk.internal.session.SessionScope
import org.matrix.android.sdk.internal.session.sync.SyncTokenStore
import org.matrix.android.sdk.internal.task.TaskExecutor
import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers
import kotlinx.coroutines.launch
import org.matrix.android.sdk.internal.util.logLimit
import timber.log.Timber
import javax.inject.Inject
@@ -39,8 +40,9 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
private val syncTokenStore: SyncTokenStore,
private val credentials: Credentials,
private val downloadKeysForUsersTask: DownloadKeysForUsersTask,
private val cryptoSessionInfoProvider: CryptoSessionInfoProvider,
coroutineDispatchers: MatrixCoroutineDispatchers,
taskExecutor: TaskExecutor) {
private val taskExecutor: TaskExecutor) {
interface UserDevicesUpdateListener {
fun onUsersDeviceUpdate(userIds: List<String>)
@@ -75,8 +77,10 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
// HS not ready for retry
private val notReadyToRetryHS = mutableSetOf<String>()
private val cryptoCoroutineContext = coroutineDispatchers.crypto
init {
taskExecutor.executorScope.launch(coroutineDispatchers.crypto) {
taskExecutor.executorScope.launch(cryptoCoroutineContext) {
var isUpdated = false
val deviceTrackingStatuses = cryptoStore.getDeviceTrackingStatuses().toMutableMap()
for ((userId, status) in deviceTrackingStatuses) {
@@ -104,7 +108,7 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
if (':' in userId) {
try {
synchronized(notReadyToRetryHS) {
res = !notReadyToRetryHS.contains(userId.substringAfterLast(':'))
res = !notReadyToRetryHS.contains(userId.substringAfter(':'))
}
} catch (e: Exception) {
Timber.e(e, "## CRYPTO | canRetryKeysDownload() failed")
@@ -123,28 +127,37 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
}
}
fun onRoomMembersLoadedFor(roomId: String) {
taskExecutor.executorScope.launch(cryptoCoroutineContext) {
if (cryptoSessionInfoProvider.isRoomEncrypted(roomId)) {
// It's OK to track also device for invited users
val userIds = cryptoSessionInfoProvider.getRoomUserIds(roomId, true)
startTrackingDeviceList(userIds)
refreshOutdatedDeviceLists()
}
}
}
/**
* Mark the cached device list for the given user outdated
* flag the given user for device-list tracking, if they are not already.
*
* @param userIds the user ids list
*/
fun startTrackingDeviceList(userIds: List<String>?) {
if (null != userIds) {
var isUpdated = false
val deviceTrackingStatuses = cryptoStore.getDeviceTrackingStatuses().toMutableMap()
fun startTrackingDeviceList(userIds: List<String>) {
var isUpdated = false
val deviceTrackingStatuses = cryptoStore.getDeviceTrackingStatuses().toMutableMap()
for (userId in userIds) {
if (!deviceTrackingStatuses.containsKey(userId) || TRACKING_STATUS_NOT_TRACKED == deviceTrackingStatuses[userId]) {
Timber.v("## CRYPTO | startTrackingDeviceList() : Now tracking device list for $userId")
deviceTrackingStatuses[userId] = TRACKING_STATUS_PENDING_DOWNLOAD
isUpdated = true
}
for (userId in userIds) {
if (!deviceTrackingStatuses.containsKey(userId) || TRACKING_STATUS_NOT_TRACKED == deviceTrackingStatuses[userId]) {
Timber.v("## CRYPTO | startTrackingDeviceList() : Now tracking device list for $userId")
deviceTrackingStatuses[userId] = TRACKING_STATUS_PENDING_DOWNLOAD
isUpdated = true
}
}
if (isUpdated) {
cryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses)
}
if (isUpdated) {
cryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses)
}
}
@@ -155,13 +168,17 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
* @param left the user ids list which left a room
*/
fun handleDeviceListsChanges(changed: Collection<String>, left: Collection<String>) {
Timber.v("## CRYPTO: handleDeviceListsChanges changed:$changed / left:$left")
Timber.v("## CRYPTO: handleDeviceListsChanges changed: ${changed.logLimit()} / left: ${left.logLimit()}")
var isUpdated = false
val deviceTrackingStatuses = cryptoStore.getDeviceTrackingStatuses().toMutableMap()
if (changed.isNotEmpty() || left.isNotEmpty()) {
clearUnavailableServersList()
}
for (userId in changed) {
if (deviceTrackingStatuses.containsKey(userId)) {
Timber.v("## CRYPTO | invalidateUserDeviceList() : Marking device list outdated for $userId")
Timber.v("## CRYPTO | handleDeviceListsChanges() : Marking device list outdated for $userId")
deviceTrackingStatuses[userId] = TRACKING_STATUS_PENDING_DOWNLOAD
isUpdated = true
}
@@ -169,7 +186,7 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
for (userId in left) {
if (deviceTrackingStatuses.containsKey(userId)) {
Timber.v("## CRYPTO | invalidateUserDeviceList() : No longer tracking device list for $userId")
Timber.v("## CRYPTO | handleDeviceListsChanges() : No longer tracking device list for $userId")
deviceTrackingStatuses[userId] = TRACKING_STATUS_NOT_TRACKED
isUpdated = true
}
@@ -307,7 +324,7 @@ internal class DeviceListManager @Inject constructor(private val cryptoStore: IM
* @param downloadUsers the user ids list
*/
private suspend fun doKeyDownloadForUsers(downloadUsers: List<String>): MXUsersDevicesMap<CryptoDeviceInfo> {
Timber.v("## CRYPTO | doKeyDownloadForUsers() : doKeyDownloadForUsers $downloadUsers")
Timber.v("## CRYPTO | doKeyDownloadForUsers() : doKeyDownloadForUsers ${downloadUsers.logLimit()}")
// get the user ids which did not already trigger a keys download
val filteredUsers = downloadUsers.filter { MatrixPatterns.isUserId(it) }
if (filteredUsers.isEmpty()) {

View File

@@ -105,7 +105,7 @@ internal class EventDecryptor @Inject constructor(
try {
return alg.decryptEvent(event, timeline)
} catch (mxCryptoError: MXCryptoError) {
Timber.d("## CRYPTO | internalDecryptEvent : Failed to decrypt ${event.eventId} reason: $mxCryptoError")
Timber.v("## CRYPTO | internalDecryptEvent : Failed to decrypt ${event.eventId} reason: $mxCryptoError")
if (algorithm == MXCRYPTO_ALGORITHM_OLM) {
if (mxCryptoError is MXCryptoError.Base
&& mxCryptoError.errorType == MXCryptoError.ErrorType.BAD_ENCRYPTED_MESSAGE) {

View File

@@ -28,6 +28,7 @@ import org.matrix.android.sdk.api.session.crypto.keyshare.GossipingRequestListen
import org.matrix.android.sdk.api.session.events.model.Event
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.internal.crypto.algorithms.IMXGroupEncryption
import org.matrix.android.sdk.internal.crypto.crosssigning.toBase64NoPadding
import org.matrix.android.sdk.internal.crypto.keysbackup.util.extractCurveKeyFromRecoveryKey
import org.matrix.android.sdk.internal.crypto.model.rest.GossipingDefaultContent
@@ -290,12 +291,16 @@ internal class IncomingGossipingRequestManager @Inject constructor(
.also { cryptoStore.updateGossipingRequestState(request, GossipingRequestState.REJECTED) }
cryptoCoroutineScope.launch(coroutineDispatchers.crypto) {
val isSuccess = roomEncryptor.reshareKey(sessionId, userId, deviceId, senderKey)
if (roomEncryptor is IMXGroupEncryption) {
val isSuccess = roomEncryptor.reshareKey(sessionId, userId, deviceId, senderKey)
if (isSuccess) {
cryptoStore.updateGossipingRequestState(request, GossipingRequestState.ACCEPTED)
if (isSuccess) {
cryptoStore.updateGossipingRequestState(request, GossipingRequestState.ACCEPTED)
} else {
cryptoStore.updateGossipingRequestState(request, GossipingRequestState.UNABLE_TO_PROCESS)
}
} else {
cryptoStore.updateGossipingRequestState(request, GossipingRequestState.UNABLE_TO_PROCESS)
Timber.e("## CRYPTO | handleKeyRequestFromOtherUser() from:$userId: Unable to handle IMXGroupEncryption.reshareKey for $alg")
}
}
cryptoStore.updateGossipingRequestState(request, GossipingRequestState.RE_REQUESTED)

View File

@@ -312,7 +312,7 @@ internal class MXOlmDevice @Inject constructor(
* @param theirDeviceIdentityKey the Curve25519 identity key for the remote device.
* @return a list of known session ids for the device.
*/
fun getSessionIds(theirDeviceIdentityKey: String): Set<String>? {
fun getSessionIds(theirDeviceIdentityKey: String): List<String>? {
return store.getDeviceSessionIds(theirDeviceIdentityKey)
}

Some files were not shown because too many files have changed in this diff Show More