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

Compare commits

...

545 Commits

Author SHA1 Message Date
Valere
133fff1a8d Merge branch 'release/1.5.16' into main 2022-12-29 18:19:37 +01:00
valere
0c9e318ae3 Adding fastlane file for version 1.5.16 2022-12-29 18:18:19 +01:00
valere
50d24a812b Changelog for version 1.5.16 2022-12-29 18:06:59 +01:00
Valere
ebd0f8a5db Merge pull request #7856 from vector-im/feature/bca/fix_ui_tests
FIx UI Tests
2022-12-29 14:27:34 +01:00
valere
53b1bec5db try fix lint 2022-12-29 10:51:57 +01:00
valere
6f5d8d6ece FIx UI Tests 2022-12-28 18:09:28 +01:00
Valere
d75d7a3695 Merge pull request #7843 from vector-im/bugfix/nfe/sync_filter_fix
sync filter params moved to matrix config
2022-12-28 11:04:40 +01:00
valere
25f4f2175a Fix failing tests 2022-12-28 10:19:25 +01:00
valere
558317260b Add migration to clean db from SyncFilterParamsEntity 2022-12-27 15:40:49 +01:00
NIkita Fedrunov
91b4dc1f97 tests are fixed 2022-12-23 13:51:19 +01:00
NIkita Fedrunov
bfa2844a0b changelog filename changed 2022-12-23 13:13:19 +01:00
NIkita Fedrunov
d20121603a sync filter params moved to matrix config 2022-12-23 13:10:27 +01:00
Onuray Sahin
9dec346cdc Merge pull request #7836 from vector-im/feature/ons/increase_dm_test_coverage
Increase session manager test coverage
2022-12-23 14:36:26 +03:00
Onuray Sahin
2ddc3b6d05 Fix indentation. 2022-12-23 13:40:08 +03:00
Onuray Sahin
2085f7f17d Merge branch 'develop' into feature/ons/increase_dm_test_coverage 2022-12-23 13:38:28 +03:00
Benoit Marty
882c58efdd Merge pull request #7823 from vector-im/dependabot/gradle/org.maplibre.gl-android-sdk-9.6.0
Bump android-sdk from 9.5.2 to 9.6.0
2022-12-22 21:11:15 +01:00
Maxime NATUREL
9a32b77333 Merge pull request #7833 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.13.3
Bump libphonenumber from 8.13.1 to 8.13.3
2022-12-22 17:22:37 +01:00
Yoan Pintas
92ed663068 Replace the player timeline (#7821) 2022-12-22 14:05:43 +00:00
Onuray Sahin
a96f2d5771 Add changelog. 2022-12-22 15:39:10 +03:00
Benoit Marty
3c3c44b344 Merge pull request #7818 from vector-im/sync-emojis
Sync Emojis
2022-12-22 12:23:18 +01:00
dependabot[bot]
eb30b51d6b Bump libphonenumber from 8.13.1 to 8.13.3
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.13.1 to 8.13.3.
- [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.13.1...v8.13.3)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-21 23:04:04 +00:00
Onuray Sahin
fcac1849c3 Write unit test for toggling ip address visibility. 2022-12-21 17:07:16 +03:00
Onuray Sahin
73e2f02c48 Increase coverage of devices view model. 2022-12-21 14:30:32 +03:00
jonnyandrew
50466792c6 [Rich text editor] Add support for links in the rich text editor (#7746) 2022-12-21 10:40:19 +00:00
Benoit Marty
67e15a42c0 Version++ 2022-12-20 16:50:08 +01:00
Benoit Marty
ff7be665ec Merge branch 'hotfix/1.5.14-bis' into develop 2022-12-20 16:49:31 +01:00
Benoit Marty
4a46289fda Merge branch 'hotfix/1.5.14' into main 2022-12-20 16:44:25 +01:00
Benoit Marty
576ea2df55 Prepare hotfix 1.5.14 2022-12-20 16:44:11 +01:00
Nikita Fedrunov
f4dca572c5 reply to threaded push notification now sent to thread not to main timeline (#7805) 2022-12-20 13:27:39 +01:00
Benoit Marty
95a29b83fe ActiveSessionHolder is not supposed to start syncing. Instead, the MainActivity does it, if necessary.
Fixes a race condition when clearing cache.
2022-12-20 13:12:54 +01:00
dependabot[bot]
ea09d3ae73 Bump android-sdk from 9.5.2 to 9.6.0
Bumps [android-sdk](https://github.com/maplibre/maplibre-gl-native) from 9.5.2 to 9.6.0.
- [Release notes](https://github.com/maplibre/maplibre-gl-native/releases)
- [Changelog](https://github.com/maplibre/maplibre-gl-native/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maplibre/maplibre-gl-native/compare/android-v9.5.2...android-v9.6.0)

---
updated-dependencies:
- dependency-name: org.maplibre.gl:android-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 23:04:33 +00:00
Benoit Marty
ed6b2e3846 Merge pull request #7808 from vector-im/feature/bma/ignoreTyping
No typing for ignored user
2022-12-19 17:56:56 +01:00
Benoit Marty
789746c276 Merge branch 'hotfix/1.5.13' into main 2022-12-19 16:58:28 +01:00
Benoit Marty
4f7bbd6ada Merge hotfix 1.5.13 2022-12-19 16:58:09 +01:00
Benoit Marty
241d011d30 Changelog (same than 1.5.13) 2022-12-19 16:56:29 +01:00
Benoit Marty
ed01f32393 Add largeHeap=true in the manifest since we are seeing more crashes (OOM) when handling sync response. 2022-12-19 16:54:15 +01:00
Benoit Marty
ffa49870a9 Version 1.5.13 2022-12-19 16:52:32 +01:00
Onuray Sahin
e95380ac9e Merge pull request #7798 from vector-im/feature/ons/fix_device_manager_ui
Device Manager UI review fixes (PSG-1102)
2022-12-19 18:03:12 +03:00
Onuray Sahin
2c0d029dea Fix separator UI. 2022-12-19 17:12:07 +03:00
Maxime NATUREL
b609c5ca10 Merge pull request #7793 from vector-im/fix/mna/long-press-select-in-other-sessions
[Session Manager] Other sessions list: cannot select/deselect session by a long press when in select mode (PSG-1111)
2022-12-19 14:50:19 +01:00
Maxime NATUREL
8dd2ebf249 Merge pull request #7791 from vector-im/fix/mna/filter-bottom-sheet-content-cut
[Session manager] Other sessions: Filter bottom sheet cut in landscape mode (PSG-1107)
2022-12-19 14:49:07 +01:00
Onuray Sahin
f08a3f7966 Merge pull request #7794 from vector-im/feature/ons/fix_current_session_ip_address_visibility
Fix current session ip address visibility (PSG-1109)
2022-12-19 16:33:18 +03:00
Yoan Pintas
d17fdbb913 Merge pull request #7816 from vector-im/yostyle/prompt_stop_voicebroadcast
[Voice Broadcast] Prompt the user before ending a live broadcast
2022-12-19 14:28:17 +01:00
Onuray Sahin
9fd6fe321d Merge pull request #7790 from vector-im/feature/ons/fix_rename_session_keyboard_visibility
Automatically show keyboard after learn more bottom sheet is dismissed (PSG-1105)
2022-12-19 16:21:37 +03:00
Maxime NATUREL
ef7b5a4418 Merge pull request #7785 from vector-im/fix/mna/hide-filter-in-selection-mode
[Session manager] Other sessions list: filter option is displayed when selection mode is enabled (PSG-1113)
2022-12-19 14:11:37 +01:00
Maxime NATUREL
c7de0523e7 Merge pull request #7796 from vector-im/feature/mna/security-recommendations-tappable
[Session manager] Security recommendations cards: whole view should be tappable (PSG-1117)
2022-12-19 14:09:09 +01:00
Onuray Sahin
61685d3e4a Merge branch 'develop' into feature/ons/fix_current_session_ip_address_visibility 2022-12-19 15:47:51 +03:00
Onuray Sahin
dd51293621 Fix unit test. 2022-12-19 15:46:58 +03:00
Onuray Sahin
3f510087d0 Code review fixes. 2022-12-19 14:44:36 +03:00
Onuray Sahin
4b2353b936 Add changelog. 2022-12-19 13:45:50 +03:00
Onuray Sahin
65d26f180f Fix alignment of content title and description. 2022-12-19 13:27:40 +03:00
Maxime NATUREL
5bde84c059 Better fix for scrollbar padding 2022-12-19 10:53:45 +01:00
Maxime NATUREL
7ea1f65fe3 Fixing padding of the scrollbar and avoid using rtl layout in RadioGroup 2022-12-19 10:19:56 +01:00
bmarty
764eadb696 Sync Emojis 2022-12-19 00:06:05 +00:00
yostyle
74f69b228f Prompt the user before ending a voice broadcast 2022-12-17 21:00:01 +01:00
Benoit Marty
a4c8a8f2f1 changelog 2022-12-16 20:45:20 +01:00
Benoit Marty
555cbe5f7d Return faster if list is empty 2022-12-16 20:44:26 +01:00
Benoit Marty
b063b25e8c Ignore typing notification for ignored users (part of #2965) 2022-12-16 20:39:44 +01:00
Maxime NATUREL
8e2d82ea9a Setting margin top of session details header to 32dp 2022-12-16 17:39:03 +01:00
Maxime NATUREL
b29306b193 Lower case "session" word 2022-12-16 17:28:06 +01:00
Maxime NATUREL
62f742bf66 Using "Other sessions" title everytime 2022-12-16 17:22:40 +01:00
Onuray Sahin
913fb1e5dc UI review fixes. 2022-12-16 17:07:26 +01:00
Yoan Pintas
14290abfcf Merge pull request #7806 from vector-im/yostyle/update_live_status
[Voice Broadcast] Update live indicator color
2022-12-16 14:27:28 +01:00
Maxime NATUREL
2b9f5c4298 Merge pull request #7804 from vector-im/feature/mna/make-other-sessions-header-not-sticky
[Session manager] Other sessions list: header should not be sticky (PSG-1115)
2022-12-16 11:43:13 +01:00
Maxime NATUREL
648f97ba78 Merge pull request #7779 from vector-im/feature/mna/relations-api-poll-end
[Poll] When a poll is ended, use /relations API to ensure poll results are correct (PSG-1013)
2022-12-16 10:40:39 +01:00
yostyle
f2d2c0cb27 Update live indicator color 2022-12-16 10:32:50 +01:00
Maxime NATUREL
414d03599e Updating the changelog entry title 2022-12-16 09:53:57 +01:00
Maxime NATUREL
c2d25c8564 Collapsing header in other sessions screen 2022-12-16 09:46:52 +01:00
Maxime NATUREL
301ecdf1f7 Adding changelog entry 2022-12-15 16:46:05 +01:00
Maxime NATUREL
d7a729740e Adding click listener on the whole custom view 2022-12-15 16:02:56 +01:00
Maxime NATUREL
3191688044 Adding changelog entry 2022-12-15 15:38:50 +01:00
Onuray Sahin
a213338a22 Add changelog. 2022-12-15 17:34:35 +03:00
Onuray Sahin
ce23b80698 Fix current session ip address visibility. 2022-12-15 17:29:37 +03:00
Onuray Sahin
bc9ca3fd12 Revert "Fix ip address visibility in the current session details."
This reverts commit f0dc6e478d.
2022-12-15 17:26:39 +03:00
Onuray Sahin
f0dc6e478d Fix ip address visibility in the current session details. 2022-12-15 16:48:32 +03:00
Maxime NATUREL
eb31174913 Toggle selection on long press even when in selection mode 2022-12-15 14:39:22 +01:00
dependabot[bot]
67edf66856 Bump sentry-android from 6.9.0 to 6.9.2 (#7731)
Bumps [sentry-android](https://github.com/getsentry/sentry-java) from 6.9.0 to 6.9.2.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-java/compare/6.9.0...6.9.2)

---
updated-dependencies:
- dependency-name: io.sentry:sentry-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-15 14:34:55 +01:00
Maxime NATUREL
9178426ec1 Adding changelog entry 2022-12-15 14:31:46 +01:00
Maxime NATUREL
a86f2e03cc Make the radiogroup scrollable to better support landscape on small devices 2022-12-15 14:14:48 +01:00
Onuray Sahin
6d40bd157f Add changelog. 2022-12-15 16:00:03 +03:00
Onuray Sahin
cc33c008ba Automatically show keyboard after learn more bottom sheet is dismissed. 2022-12-15 15:50:02 +03:00
Maxime NATUREL
9736a8f571 Adding changelog entry 2022-12-15 11:26:12 +01:00
Maxime NATUREL
dcb8aea292 Hiding the filter icon in top bar when in selection mode 2022-12-15 11:02:59 +01:00
Maxime NATUREL
cf98963cdb Adding changelog entry 2022-12-15 10:41:44 +01:00
Benoit Marty
8c49609aa6 version++ 2022-12-15 10:20:26 +01:00
Benoit Marty
7341e5c47b Merge branch 'release/1.5.12' into main 2022-12-15 10:18:25 +01:00
Benoit Marty
8a47ef756a Merge branch 'release/1.5.12' into develop 2022-12-15 10:18:24 +01:00
Benoit Marty
cf1a115c67 Merge branch 'release/1.5.12' into main 2022-12-15 10:16:25 +01:00
Benoit Marty
dd88ac597e Adding fastlane file for version 1.5.12 2022-12-15 10:16:02 +01:00
Benoit Marty
82ad08aced Changelog for version 1.5.12 2022-12-15 10:15:24 +01:00
Maxime NATUREL
e5663ec1c3 Fixing unit tests 2022-12-15 09:45:17 +01:00
Nikita Fedrunov
cf3abd6562 thread list loading (#7766) 2022-12-14 18:56:16 +01:00
Yoan Pintas
c74ea2dd16 Merge pull request #7719 from vector-im/feature/fre/voice_broadcast_last_message
Voice Broadcast - Update last message in the room list
2022-12-14 17:39:42 +01:00
Maxime NATUREL
4e4f72f241 Fixing code styling issues 2022-12-14 17:37:45 +01:00
Maxime NATUREL
dd13e1cb6d Fixing Copyright in SDK 2022-12-14 17:02:09 +01:00
Maxime NATUREL
66abda63ee Removing unused imports 2022-12-14 16:35:34 +01:00
Maxime NATUREL
bd7b6d6495 Adding unit test on task to fetch the poll response events 2022-12-14 16:33:27 +01:00
Nikita Fedrunov
e0a611a16e changed copy for threads labs flag (#7776) 2022-12-14 15:13:24 +01:00
Maxime NATUREL
644803dcf3 Adding unit test on aggregation processor 2022-12-14 14:31:27 +01:00
Maxime NATUREL
9338ec9805 Mutualizing decryption of event 2022-12-14 11:49:41 +01:00
Maxime NATUREL
8b7c8e3351 Task to ensure aggregation of all poll responses when receiving ending poll event 2022-12-14 11:27:08 +01:00
Maxime NATUREL
8c88140b3c Updating Room API to clarify usage 2022-12-14 11:27:08 +01:00
Maxime NATUREL
637f2476e0 Adding changelog entry 2022-12-14 11:27:08 +01:00
Maxime NATUREL
fe5e4d6830 Merge pull request #7757 from vector-im/fix/mna/poll-end-not-recognized
[Poll] Poll end event is not recognized (PSG-948 and PSG-949)
2022-12-13 17:08:01 +01:00
Maxime NATUREL
851276978f Remove unused import 2022-12-13 15:47:30 +01:00
Maxime NATUREL
96e29d4d10 Renaming the name of the test file be consistent 2022-12-13 15:46:14 +01:00
Maxime NATUREL
71df1e61d4 Remove non necessary call when getting the targeted event id 2022-12-13 15:45:46 +01:00
Nikita Fedrunov
3dadebe505 threads are enabled by default end forced to enabled for existing users (#7775) 2022-12-13 14:02:45 +01:00
dependabot[bot]
4657729e36 Bump dependency-check-gradle from 7.3.0 to 7.4.1 (#7759)
Bumps dependency-check-gradle from 7.3.0 to 7.4.1.

---
updated-dependencies:
- dependency-name: org.owasp:dependency-check-gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-13 12:41:17 +00:00
Valere
d05e10e10a crypto migration tests (#7645)
Crypto migration tests

Co-authored-by: Benoit Marty <benoitm@matrix.org>
2022-12-13 11:38:49 +01:00
Onuray Sahin
250bd9c620 Merge pull request #7754 from vector-im/feature/ons/remove_client_information_account_data
Delete unused client information from account data (PSG-871)
2022-12-13 11:10:41 +03:00
Nikita Fedrunov
4e0c3a97bd thread message notification should navigate to thread timeline (#7771) 2022-12-12 22:35:09 +01:00
Hugh Nimmo-Smith
34ee399f94 Merge pull request #7737 from vector-im/bugfix/hughns/qr-server-change 2022-12-12 18:21:39 +00:00
Hugh Nimmo-Smith
0ffc2af679 Update test to work with new state 2022-12-12 17:32:28 +00:00
Onuray Sahin
9954045d30 Merge pull request #7740 from vector-im/feature/ons/remove_account_data
Handle account data removal (PSG-865, PSG-867)
2022-12-12 19:31:16 +03:00
Hugh Nimmo-Smith
f111a84e17 More unit test fix 2022-12-12 16:30:35 +00:00
Hugh Nimmo-Smith
096e52612e More fix up of unit tests 2022-12-12 16:30:35 +00:00
Hugh Nimmo-Smith
643b09a77c Fix up unit tests 2022-12-12 16:30:35 +00:00
Hugh Nimmo-Smith
1437f6d41d Remove unused bad function call 2022-12-12 16:30:35 +00:00
Hugh Nimmo-Smith
006e2b5c0d Changelog 2022-12-12 16:30:35 +00:00
Hugh Nimmo-Smith
21cbe52740 Lint 2022-12-12 16:30:34 +00:00
Hugh Nimmo-Smith
1930047ce1 Fix issue of QR not being offered where domain is entered instead of homeserver 2022-12-12 16:30:34 +00:00
Onuray Sahin
8c6c2dd5c2 Code review fixes. 2022-12-12 16:36:40 +03:00
Jorge Martin Espinosa
c523e144b8 Rich text editor: improve performance when changing composer mode (#7691)
* Rich text editor: improve performance when changing composer mode

* Add changelog

* Make `MessageComposerMode.Quote` and `Reply` data classes

* Re-arrange code to fix composer not being emptied when sneding a message
2022-12-12 13:52:17 +01:00
Ekaterina Gerasimova
a12167077f Update project board IDs for automation
"PN-" prefixed IDs are no longer working, update to new IDs
2022-12-12 10:40:49 +00:00
Onuray Sahin
746fb7719a Code review fixes. 2022-12-12 13:39:56 +03:00
Maxime NATUREL
361b0411c7 Merge pull request #7747 from vector-im/fix/mna/verification-request-priority
Verification request is not showing when verify session popup is displayed (PSG-1017)
2022-12-12 09:44:25 +01:00
dependabot[bot]
74d7e60380 Bump fragment from 1.5.4 to 1.5.5 (#7741)
Bumps `fragment` from 1.5.4 to 1.5.5.

Updates `fragment-ktx` from 1.5.4 to 1.5.5

Updates `fragment-testing` from 1.5.4 to 1.5.5

---
updated-dependencies:
- dependency-name: androidx.fragment:fragment-ktx
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: androidx.fragment:fragment-testing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-12 09:21:24 +01:00
Onuray Sahin
85a6c8c6f2 Write unit tests for the use case. 2022-12-09 19:53:20 +03:00
Maxime NATUREL
dba8aaea16 Merge pull request #7752 from vector-im/fix/mna/wrong-usage-of-stable-fields
Revert usage of stable fields in live location sharing and polls
2022-12-09 17:32:53 +01:00
Maxime NATUREL
bd91db66f8 Fixing retrieve of related event id in the end poll event during aggregation 2022-12-09 14:07:06 +01:00
Onuray Sahin
7a667b513e Execute use case from a better place. 2022-12-09 15:47:28 +03:00
Hugh Nimmo-Smith
a762179c32 Merge pull request #7699 from vector-im/bugfix/hughns/qr-device-race 2022-12-09 12:04:29 +00:00
Onuray Sahin
22cce30e35 Create use case to detect and delete unnecessary account data of client information. 2022-12-09 14:53:27 +03:00
Onuray Sahin
8206b534f9 Create a task to delete an event data with a given type. 2022-12-09 14:52:27 +03:00
Onuray Sahin
3d68233723 Support retrieving account data whose key starts with a string. 2022-12-09 14:51:23 +03:00
Maxime NATUREL
57cedaeb69 Adding changelog entry 2022-12-09 10:10:59 +01:00
Maxime NATUREL
be7b49b707 Merge pull request #7736 from vector-im/fix/mna/session-without-crypto-keys
[Session manager] Sessions without encryption support should not prompt to verify (PSG-1004)
2022-12-09 09:52:39 +01:00
Nikita Fedrunov
cf59c80100 stop listening timeline collection changes when app is not resumed (#7734) 2022-12-09 09:42:45 +01:00
Maxime NATUREL
99942c2714 Adding changelog entry 2022-12-09 09:33:06 +01:00
Maxime NATUREL
220b1d86c0 Reverting usage of some stable fields whereas related MSCs have not landed into the specs yet 2022-12-08 17:42:51 +01:00
Benoit Marty
ee737025f2 Merge pull request #7744 from vector-im/feature/bma/quickCrashFix
Fix crash
2022-12-08 16:01:55 +01:00
Onuray Sahin
b09a00efda Code review fixes. 2022-12-08 17:11:09 +03:00
Maxime NATUREL
63bde230a3 Cancel verification alerts when adding the incoming request alert and when starting the process 2022-12-08 14:40:17 +01:00
Hugh Nimmo-Smith
7bbd91f2a9 Handle error whilst download key for self 2022-12-08 13:27:49 +00:00
Hugh Nimmo-Smith
3a2a916c2f Clarify comment 2022-12-08 13:27:49 +00:00
Hugh Nimmo-Smith
d0b2c0693d Changelog 2022-12-08 13:27:49 +00:00
Hugh Nimmo-Smith
73fd93148a Download device keys for self prior to verification checks
Fixes https://github.com/vector-im/element-android/issues/7676
2022-12-08 13:27:49 +00:00
Maxime NATUREL
df55c84167 Raise priority of incoming verification request alert + cancel existing verification alerts 2022-12-08 14:00:35 +01:00
jonnyandrew
de18f37849 [Rich text editor] Add error tracking for rich text editor (#7695) 2022-12-08 11:43:19 +00:00
Onuray Sahin
d6c20226bb Add changelog. 2022-12-08 13:46:01 +03:00
dependabot[bot]
72ecd1bbc9 Bump kotlin-gradle-plugin from 1.7.21 to 1.7.22 (#7664)
Bumps [kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.7.21 to 1.7.22.
- [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.7.21...v1.7.22)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 10:51:20 +01:00
Benoit Marty
b25f185d63 Try to fix issue about danger file not found. 2022-12-08 10:48:17 +01:00
Maxime NATUREL
b49045ff15 Adding changelog entry 2022-12-08 10:37:00 +01:00
Benoit Marty
7034d82259 changelog 2022-12-08 10:36:29 +01:00
Benoit Marty
a5ab1b4a8b Fix crash kotlin.UninitializedPropertyAccessException: lateinit property avatarRenderer has not been initialized. AvatarRenderer is not used here. 2022-12-08 10:34:08 +01:00
ganfra
ceec2018a7 Merge pull request #7686 from vector-im/dependabot/gradle/com.facebook.soloader-soloader-0.10.5
Bump soloader from 0.10.4 to 0.10.5
2022-12-07 20:24:13 +01:00
Onuray Sahin
055bf6d302 Revert unused companion object. 2022-12-07 21:41:22 +03:00
Benoit Marty
7d31cc9f55 Merge pull request #7730 from vector-im/dependabot/gradle/io.element.android-wysiwyg-0.9.0
Bump wysiwyg from 0.8.0 to 0.9.0
2022-12-07 18:14:05 +01:00
Florian Renaud
59859ec02e Prioritize call events against live broadcast 2022-12-07 18:11:52 +01:00
Florian Renaud
bb7323a935 Rename some use cases 2022-12-07 18:11:52 +01:00
Florian Renaud
28c59e3290 Changelog 2022-12-07 18:11:52 +01:00
Florian Renaud
35c528405d Code cleanup 2022-12-07 18:11:52 +01:00
Florian Renaud
7a1dfef6d5 Display a notice in the timeline when a voice broadcast is stopped 2022-12-07 18:11:52 +01:00
Florian Renaud
aa5270760e Hide typing events if there is a live voice broadcast 2022-12-07 18:11:51 +01:00
Florian Renaud
69beef4648 Show voice broadcast events in the room list
fix factory
2022-12-07 18:11:51 +01:00
Florian Renaud
1a3ca7b1a0 Filter event types from decrypted content 2022-12-07 18:11:51 +01:00
Florian Renaud
6e5461f300 Stop filtering events with reference relationship when computing latest previewable event 2022-12-07 18:11:51 +01:00
Florian Renaud
4d6c04baf9 Add provider for custom event types 2022-12-07 18:11:51 +01:00
Florian Renaud
fdb8743ad3 Create provider package 2022-12-07 18:11:51 +01:00
Onuray Sahin
f4429d4c9c Handle sync response to delete user and room account data. 2022-12-07 18:58:14 +03:00
Maxime NATUREL
23c2682f8d Fixing code style issues 2022-12-07 16:39:51 +01:00
Onuray Sahin
765202e05a Add helper functions to delete user and room account data. 2022-12-07 18:17:43 +03:00
Maxime NATUREL
c580090f20 Merge pull request #7707 from vector-im/feature/mna/rename-and-signout-action-current-session
[Session manager] Add actions to rename and signout current session (PSG-885)
2022-12-07 16:16:44 +01:00
Valere
01533db4e0 Merge pull request #7713 from vector-im/feature/bca/to_device_tracing
add to device tracing id
2022-12-07 16:16:20 +01:00
Onuray Sahin
d244f7324c Add api functions to delete account data. 2022-12-07 18:12:25 +03:00
Maxime NATUREL
88f7439880 Updating comment to clarify intention 2022-12-07 16:04:27 +01:00
Benoit Marty
6c94f1cd52 Quick tweak on the release script. 2022-12-07 15:50:26 +01:00
Maxime NATUREL
a44c8dfca3 Renaming a method to avoid confusion 2022-12-07 15:10:21 +01:00
Benoit Marty
d0b1a7bfd1 Merge pull request #7723 from vector-im/feature/bma/disableNightlyPopup
Disable nightly popup
2022-12-07 15:01:09 +01:00
Maxime NATUREL
f014866d06 Handling the case where device has no CryptoDeviceInfo 2022-12-07 14:34:45 +01:00
Benoit Marty
c9c5483d22 Changelog 2022-12-07 14:10:23 +01:00
Benoit Marty
40bfffae9d Merge branch 'hotfix/1.5.11' into main 2022-12-07 14:03:49 +01:00
Benoit Marty
03440307ce Merge branch 'hotfix/1.5.11' into develop 2022-12-07 14:03:48 +01:00
Benoit Marty
242ef518b2 Merge hotfix 1.5.11 into develop (the fix is already on develop) 2022-12-07 14:03:08 +01:00
Benoit Marty
3132a7d463 Towncrier 1.5.11 2022-12-07 13:59:42 +01:00
Benoit Marty
a0bba91d67 Fastlane file for hotfix 1.5.11 2022-12-07 13:58:51 +01:00
Benoit Marty
6c84668611 Hotfix 1.5.11 2022-12-07 13:58:02 +01:00
Benoit Marty
53b703dcaf Changelog 2022-12-07 13:55:42 +01:00
Benoit Marty
1acd8e1049 Do not propagate failure if saving the filter server side fails. This will be retried later. 2022-12-07 13:55:18 +01:00
Benoit Marty
4a5f4849e5 Merge pull request #7725 from vector-im/feature/bma/filterCrash
Do not propagate failure if saving the filter server side fails
2022-12-07 13:54:57 +01:00
Benoit Marty
11dded71ec Changelog 2022-12-07 13:54:20 +01:00
ganfra
440944decb Merge pull request #7669 from vector-im/dependabot/gradle/com.google.devtools.ksp-1.7.22-1.0.8
Bump com.google.devtools.ksp from 1.7.21-1.0.8 to 1.7.22-1.0.8
2022-12-07 11:43:05 +01:00
Maxime NATUREL
041fcef1db Adding changelog entry 2022-12-07 10:30:47 +01:00
dependabot[bot]
9bbecbeed3 Bump wysiwyg from 0.8.0 to 0.9.0
Bumps [wysiwyg](https://github.com/matrix-org/matrix-wysiwyg) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/matrix-org/matrix-wysiwyg/releases)
- [Changelog](https://github.com/matrix-org/matrix-rich-text-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/matrix-org/matrix-wysiwyg/compare/0.8.0...0.9.0)

---
updated-dependencies:
- dependency-name: io.element.android:wysiwyg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 23:02:30 +00:00
Benoit Marty
988afa4ebe Fix FDroid build 2022-12-06 18:21:07 +01:00
dependabot[bot]
a6752a0cf1 Bump com.google.devtools.ksp from 1.7.21-1.0.8 to 1.7.22-1.0.8
Bumps [com.google.devtools.ksp](https://github.com/google/ksp) from 1.7.21-1.0.8 to 1.7.22-1.0.8.
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/1.7.21-1.0.8...1.7.22-1.0.8)

---
updated-dependencies:
- dependency-name: com.google.devtools.ksp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 16:10:25 +00:00
Benoit Marty
b9eb271aff Merge pull request #7712 from vector-im/feature/bma/startServiceApi
Use the latest startForeground API
2022-12-06 17:05:07 +01:00
Florian Renaud
3b3947d046 Merge pull request #7677 from vector-im/dependabot/gradle/com.autonomousapps.dependency-analysis-1.17.0
Bump com.autonomousapps.dependency-analysis from 1.16.0 to 1.17.0
2022-12-06 17:04:58 +01:00
valere
63d2886415 use msgid in logs for consistency 2022-12-06 16:07:24 +01:00
Onuray Sahin
f76a6de10d Merge pull request #7710 from vector-im/feature/ons/fix_unknown_shield_icon_in_room
Fix usage of unknown shield in room summary (PSG-1019)
2022-12-06 17:51:04 +03:00
valere
8646cc441d do not add tracing ids to verification events 2022-12-06 15:30:06 +01:00
Benoit Marty
ae93c07597 Do not propagate failure if saving the filter server side fails. This will be retried later. 2022-12-06 15:01:47 +01:00
Maxime NATUREL
6f0a95b828 Merge pull request #7692 from vector-im/feature/mna/listen-notification-account-data
Update notifications setting when m.local_notification_settings.<device-id> event changes for current device (PSG-874)
2022-12-06 14:12:01 +01:00
Benoit Marty
0d12dbbe7e Disable the Nightly popup, user registration (with updateIfNewReleaseAvailable()) to get upgrade does not work.
Add a nightly build section in the preferences to manually try to upgrade.
2022-12-06 12:51:46 +01:00
Benoit Marty
a65e13970d appdistribution is only for nightly builds, not necessary for gplay (prod) builds. 2022-12-06 12:22:50 +01:00
Onuray Sahin
4cd4cf1c51 Code review fix. 2022-12-06 14:06:14 +03:00
valere
139eb1708c fix uncheck cast warning 2022-12-06 08:17:31 +01:00
valere
2ed212aa11 Fix copyright 2022-12-05 18:30:38 +01:00
valere
f2952f2dee add to device tracing id 2022-12-05 18:15:55 +01:00
Maxime NATUREL
b5f6dc0034 Merge pull request #7696 from vector-im/feature/mna/signout-all-other-sessions
[Session manager] Add action to signout all the other session (PSG-888)
2022-12-05 17:50:14 +01:00
Maxime NATUREL
7b830d1c1a Renaming a use case 2022-12-05 17:40:38 +01:00
Maxime NATUREL
a12c640984 Merge pull request #7630 from vector-im/feature/mna/remote-notification-toggle-account-data
Save m.local_notification_settings.<device-id> event in account_data (PSG-873)
2022-12-05 16:58:51 +01:00
Maxime NATUREL
a2f8fed63c Merge pull request #7675 from vector-im/fix/mna/unified-push-selection
ANR when asking to select the notification method
2022-12-05 16:58:09 +01:00
Benoit Marty
febf01a2e6 Use the API startForeground(int id, @NonNull Notification notification, @ForegroundServiceType int foregroundServiceType) when available.
Add missing android:foregroundServiceType in the manifest
2022-12-05 16:36:31 +01:00
Onuray Sahin
32ded289fc Add changelog. 2022-12-05 18:18:09 +03:00
Onuray Sahin
516103e51b Fix usage of unknown shield in room summary. 2022-12-05 18:10:22 +03:00
Maxime NATUREL
a00508e085 Removing unused import 2022-12-05 14:12:00 +01:00
Maxime NATUREL
57554c5d36 Handling signout current session action 2022-12-05 14:10:56 +01:00
Benoit Marty
201873f5a7 Merge pull request #7700 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-12-05 14:06:49 +01:00
Benoit Marty
a6904d2604 Merge pull request #7689 from vector-im/feature/bma/pills_color
Fix bad pills color background.
2022-12-05 14:05:44 +01:00
Maxime NATUREL
540758d66b Navigate to rename session screen from current session menu 2022-12-05 10:43:56 +01:00
dependabot[bot]
7e0a597c65 Bump wysiwyg from 0.7.0.1 to 0.8.0 (#7666)
Bumps [wysiwyg](https://github.com/matrix-org/matrix-wysiwyg) from 0.7.0.1 to 0.8.0.
- [Release notes](https://github.com/matrix-org/matrix-wysiwyg/releases)
- [Changelog](https://github.com/matrix-org/matrix-rich-text-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/matrix-org/matrix-wysiwyg/commits/0.8.0)

---
updated-dependencies:
- dependency-name: io.element.android:wysiwyg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 09:42:20 +00:00
Maxime NATUREL
bbc756136c Adding the rename and signout actions in the menu 2022-12-05 10:26:07 +01:00
dependabot[bot]
b4792c8a59 Bump leakcanary-android from 2.9.1 to 2.10 (#7570) 2022-12-05 10:20:02 +01:00
Benoit Marty
b8023d66de Fix formatting 2022-12-05 09:57:02 +01:00
Maxime NATUREL
c12af5a800 Listening changes on notifications enabled preference to update the UI in settings 2022-12-05 09:46:14 +01:00
Maxime NATUREL
9fbfe82044 Fix observation of the notification status for the current session 2022-12-05 09:46:14 +01:00
Maxime NATUREL
18ab8a1279 Adding changelog entry 2022-12-05 09:46:14 +01:00
Maxime NATUREL
635f975b6c Fix missing unregister of pusher when notifications are disabled 2022-12-05 09:43:57 +01:00
Maxime NATUREL
e09b9a2ce0 Fixing wrong notification status when no registered pusher for the session 2022-12-05 09:43:57 +01:00
Maxime NATUREL
b78de15228 Adding unit tests for new toggle notification for current session use case 2022-12-05 09:43:57 +01:00
Maxime NATUREL
5248a69fe2 Updating existing unit tests 2022-12-05 09:43:57 +01:00
Maxime NATUREL
06681fd115 Removing listening on background sync preference 2022-12-05 09:43:57 +01:00
Maxime NATUREL
3f5147ddce Fixing the toggle notifications use case for current session 2022-12-05 09:43:57 +01:00
Maxime NATUREL
8973f3892a Fixing unit tests after rebase 2022-12-05 09:43:57 +01:00
Maxime NATUREL
9dff4ff949 Fixing import order after rebase 2022-12-05 09:43:57 +01:00
Maxime NATUREL
68d00e00d1 Fix method used to check if background sync is enabled 2022-12-05 09:43:56 +01:00
Maxime NATUREL
a2ae3af69d Removing unused imports 2022-12-05 09:43:56 +01:00
Maxime NATUREL
7c10a4cb21 Adding tests for notifications setting updater 2022-12-05 09:43:56 +01:00
Maxime NATUREL
637961bbb1 Update related account data event on notification method change 2022-12-05 09:43:56 +01:00
Maxime NATUREL
e99dc1d163 Remove unused parameters from some ViewModel 2022-12-05 09:43:56 +01:00
Maxime NATUREL
ab6a6b53c8 Some refactorings + update unit tests 2022-12-05 09:43:56 +01:00
Maxime NATUREL
7c51174d7e Renaming some use cases to be consistent 2022-12-05 09:43:56 +01:00
Maxime NATUREL
14b21dc039 Adding use cases to create and delete notifications settings in account data 2022-12-05 09:43:56 +01:00
Maxime NATUREL
b163b42d3d Use new sub usecase in the TogglePushNotificationUseCase 2022-12-05 09:43:56 +01:00
Maxime NATUREL
81c64503f2 Adding SetNotificationSettingsAccountDataUseCase 2022-12-05 09:43:56 +01:00
Maxime NATUREL
c56eb331db Update use cases to enable/disable push notifications for the current session 2022-12-05 09:43:56 +01:00
Maxime NATUREL
9d684bc021 Check if account data has content to decide if push notifications can be toggled using account data 2022-12-05 09:43:56 +01:00
Maxime NATUREL
0c6781e9ef Adding changelog entry 2022-12-05 09:43:55 +01:00
Maxime NATUREL
f8c59f6b0c Removing unused import 2022-12-05 09:42:03 +01:00
Maxime NATUREL
d31652e910 Adding unit tests for settings ViewModel 2022-12-05 09:42:03 +01:00
Maxime NATUREL
e78e192853 Adding unit tests for FCM token retrieval 2022-12-05 09:42:03 +01:00
Maxime NATUREL
2a8c72bdcf Fixing code style issues 2022-12-05 09:42:03 +01:00
Maxime NATUREL
46ccf4d73f Adding unit tests for register and unregister use cases 2022-12-05 09:42:01 +01:00
Maxime NATUREL
a3815d7012 Update unit tests 2022-12-05 09:41:24 +01:00
Maxime NATUREL
aa3a808d2c Do not ask to select push distributor in home if notifications are disabled 2022-12-05 09:41:24 +01:00
Maxime NATUREL
740ed89638 Removing the old methods from helper 2022-12-05 09:41:24 +01:00
Maxime NATUREL
2673979ef8 Handling change of notification method 2022-12-05 09:41:24 +01:00
Maxime NATUREL
95556d2551 Change the distributor in dialog cancellation only if there is no existing one 2022-12-05 09:41:24 +01:00
Maxime NATUREL
3f944e9d36 Extracting the logic to toggle notifications for device into a ViewModel 2022-12-05 09:41:24 +01:00
Maxime NATUREL
b29191e892 Using use cases inside component for endpoint testing 2022-12-05 09:41:24 +01:00
Maxime NATUREL
58efe90f7d Removing some debug logs 2022-12-05 09:41:23 +01:00
Maxime NATUREL
2890f41f30 Replacing unregister method by usecase 2022-12-05 09:41:23 +01:00
Maxime NATUREL
4dbca7858c Adding new use cases to handle the Unified push registration 2022-12-05 09:41:23 +01:00
Maxime NATUREL
9456789047 Adding changelog entry 2022-12-05 09:41:23 +01:00
Onuray Sahin
34d29dc9d7 Merge pull request #7694 from vector-im/feature/ons/unverified_sessions_alert
Remind unverified sessions with a banner once a week (PSG-892)
2022-12-03 14:23:10 +03:00
Weblate
19982e8d77 Merge branch 'origin/develop' into Weblate. 2022-12-03 06:33:28 +00:00
Linerly
70e9f13ec2 Translated using Weblate (Indonesian)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/id/
2022-12-03 06:33:27 +00:00
waclaw66
58d10e901e Translated using Weblate (Czech)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2022-12-03 06:33:25 +00:00
Jeff Huang
61eb0d6b44 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2022-12-03 06:33:22 +00:00
Priit Jõerüüt
10d03e16af Translated using Weblate (Estonian)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2022-12-03 06:33:20 +00:00
Ihor Hordiichuk
873fa2a210 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-12-03 06:33:18 +00:00
Jozef Gaal
098dee1aa7 Translated using Weblate (Slovak)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/
2022-12-03 06:33:16 +00:00
Vri
6d1f9408c8 Translated using Weblate (German)
Currently translated at 100.0% (83 of 83 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-12-03 06:33:13 +00:00
phardyle
53ef97d949 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (2550 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-12-03 06:33:11 +00:00
Onuray Sahin
980d59ab58 Fix lint. 2022-12-02 21:21:12 +03:00
Maxime NATUREL
b8ab1b5620 Adding changelog entry 2022-12-02 17:35:13 +01:00
Maxime NATUREL
efc436c3f5 Hide the action when there are no other sessions 2022-12-02 17:17:44 +01:00
Maxime NATUREL
2b8dc13dca Adding listener on the new menu item 2022-12-02 17:11:10 +01:00
Maxime NATUREL
62e2f06e2a Adding menu for current session header 2022-12-02 17:08:29 +01:00
Benoit Marty
ab43f4cf14 Add snapshot test for room item 2022-12-02 17:06:48 +01:00
Onuray Sahin
f576f83339 Add changelog. 2022-12-02 19:02:55 +03:00
Maxime NATUREL
e857407bc1 Adding changelog entry 2022-12-02 16:50:46 +01:00
Benoit Marty
6f934e2d49 Extract paparazzi rule creation 2022-12-02 16:50:45 +01:00
Onuray Sahin
4050975a19 Implement new logic for new login banner. 2022-12-02 18:15:10 +03:00
Benoit Marty
310ea99c44 Fix bad pills color background. For light and dark theme the color is now 61708B (iso EleWeb) 2022-12-02 10:50:08 +01:00
Benoit Marty
75fabb1b0d Merge pull request #7684 from vector-im/feature/bma/fix_onboarding_crash
Fix crash when invalid url is entered #7672
2022-12-02 09:55:19 +01:00
jonnyandrew
20b1eaba9e Fix crash in message composer when room is missing (#7683)
This error was seen before but has been reintroduced during refactoring.
- see https://github.com/vector-im/element-android/pull/6978
2022-12-02 08:41:33 +00:00
Maxime NATUREL
4c58cc877f Merge pull request #7688 from vector-im/dependabot/gradle/flipper-0.176.0
Bump flipper from 0.175.0 to 0.176.0
2022-12-02 09:29:42 +01:00
dependabot[bot]
f0ad75a2b7 Bump flipper from 0.175.0 to 0.176.0
Bumps `flipper` from 0.175.0 to 0.176.0.

Updates `flipper` from 0.175.0 to 0.176.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.175.0...v0.176.0)

Updates `flipper-network-plugin` from 0.175.0 to 0.176.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.175.0...v0.176.0)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 23:03:43 +00:00
dependabot[bot]
b70370b217 Bump soloader from 0.10.4 to 0.10.5
Bumps [soloader](https://github.com/facebook/soloader) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/facebook/soloader/releases)
- [Commits](https://github.com/facebook/soloader/commits)

---
updated-dependencies:
- dependency-name: com.facebook.soloader:soloader
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-01 23:02:57 +00:00
Benoit Marty
ca34b29b20 Merge pull request #7685 from vector-im/chore/move-changelog-entry
Move changelog entry to correct directory
2022-12-01 18:25:19 +01:00
Jonny Andrew
c12906971a Move changelog entry to correct dir 2022-12-01 17:15:23 +00:00
Benoit Marty
b6aae0c7c1 Add unit test for canLoginWithQrCode = true 2022-12-01 17:51:44 +01:00
Benoit Marty
381103383e Fix unit tests. 2022-12-01 17:44:12 +01:00
Benoit Marty
d580d4cdb6 Read sensible data from the env and do not rely to an external script anymore. 2022-12-01 17:17:22 +01:00
Benoit Marty
d96ff6e527 Changelog 2022-12-01 15:38:31 +01:00
Benoit Marty
341967bf3c Fix crash when invalid url is entered #7672 2022-12-01 15:25:54 +01:00
jonnyandrew
da5db0ed15 [Rich text editor] Fix keyboard closing after collapsing rich text editor (#7659) 2022-12-01 13:39:01 +00:00
Florian Renaud
c20500ab7a Merge pull request #7590 from vector-im/dependabot/gradle/com.adevinta.android-barista-4.3.0
Bump barista from 4.2.0 to 4.3.0
2022-12-01 14:34:53 +01:00
Jorge Martin Espinosa
0c11778d33 Rich Text Editor: fix several inset issues in room screen (#7681) 2022-12-01 10:26:55 +00:00
Benoit Marty
c8a73a6ac8 Merge pull request #7477 from vector-im/task/langleyd/migrate-rich-text_label
Add Z-Labs label for rich text editor and migrate to new label naming
2022-12-01 11:13:12 +01:00
Benoit Marty
79e8c5f38c Merge pull request #7649 from vector-im/gradlew-update-7.6
Update Gradle Wrapper from 7.5.1 to 7.6
2022-12-01 11:04:08 +01:00
Weblate
d2ab9a2515 Merge branch 'origin/develop' into Weblate. 2022-12-01 09:52:06 +00:00
Besnik Bleta
56715f13d4 Translated using Weblate (Albanian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sq/
2022-12-01 09:52:06 +00:00
Jeff Huang
a57162cf83 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-12-01 09:52:04 +00:00
Ihor Hordiichuk
571d1a4816 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-12-01 09:52:03 +00:00
Besnik Bleta
b759f40c13 Translated using Weblate (Albanian)
Currently translated at 99.3% (2541 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2022-12-01 09:52:03 +00:00
Jozef Gaal
3d84a999e0 Translated using Weblate (Slovak)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-12-01 09:52:02 +00:00
random
05e6a59a86 Translated using Weblate (Italian)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-12-01 09:52:02 +00:00
Linerly
ab1db4de68 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-12-01 09:52:01 +00:00
Glandos
1c7f789928 Translated using Weblate (French)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-12-01 09:52:01 +00:00
Danial Behzadi
27acb198ab Translated using Weblate (Persian)
Currently translated at 99.7% (2551 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-12-01 09:52:01 +00:00
Priit Jõerüüt
c6ed280a6f Translated using Weblate (Estonian)
Currently translated at 99.6% (2550 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-12-01 09:52:00 +00:00
Vri
a0528fe0ce Translated using Weblate (German)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-12-01 09:52:00 +00:00
waclaw66
279756bdfb Translated using Weblate (Czech)
Currently translated at 100.0% (2558 of 2558 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-12-01 09:51:59 +00:00
Maxime NATUREL
d5f279ed8b Merge pull request #7678 from vector-im/dependabot/gradle/flipper-0.175.0
Bump flipper from 0.174.0 to 0.175.0
2022-12-01 10:07:11 +01:00
dependabot[bot]
e4212bd7db Bump flipper from 0.174.0 to 0.175.0
Bumps `flipper` from 0.174.0 to 0.175.0.

Updates `flipper` from 0.174.0 to 0.175.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.174.0...v0.175.0)

Updates `flipper-network-plugin` from 0.174.0 to 0.175.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.174.0...v0.175.0)

---
updated-dependencies:
- dependency-name: com.facebook.flipper:flipper
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.facebook.flipper:flipper-network-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 23:03:13 +00:00
dependabot[bot]
d1cef1bc5c Bump com.autonomousapps.dependency-analysis from 1.16.0 to 1.17.0
Bumps com.autonomousapps.dependency-analysis from 1.16.0 to 1.17.0.

---
updated-dependencies:
- dependency-name: com.autonomousapps.dependency-analysis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 23:02:20 +00:00
dependabot[bot]
b699e9db3a Bump sentry-android from 6.7.0 to 6.9.0 (#7668)
Bumps [sentry-android](https://github.com/getsentry/sentry-java) from 6.7.0 to 6.9.0.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/6.9.0/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-java/compare/6.7.0...6.9.0)

---
updated-dependencies:
- dependency-name: io.sentry:sentry-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-30 13:58:28 +01:00
Benoit Marty
0868686caa Release script: Send message to Android Room 2022-11-30 12:54:48 +01:00
Benoit Marty
714f8b3a75 Release script: Improve release script again. 2022-11-30 12:54:40 +01:00
Benoit Marty
8cf8852aae Release script: Update last part of the script 2022-11-30 12:54:26 +01:00
Benoit Marty
52477aa9d5 version++ 2022-11-30 11:03:58 +01:00
Benoit Marty
8c111fea13 Merge branch 'release/1.5.10' into main 2022-11-30 10:59:49 +01:00
Benoit Marty
02542950c8 Merge branch 'release/1.5.10' into develop 2022-11-30 10:59:48 +01:00
Benoit Marty
0844310e57 Merge branch 'release/1.5.10' into main 2022-11-30 10:51:55 +01:00
Benoit Marty
a656b00329 Adding fastlane file for version 1.5.10 2022-11-30 10:50:06 +01:00
Benoit Marty
d447d809f7 Changelog for version 1.5.10 2022-11-30 10:46:58 +01:00
Benoit Marty
eb7154d42c Remove the obsolete description of the attribute. 2022-11-30 10:25:21 +01:00
dependabot[bot]
a73fe9585f Bump danger/danger-js from 11.1.4 to 11.2.0 (#7584)
Bumps [danger/danger-js](https://github.com/danger/danger-js) from 11.1.4 to 11.2.0.
- [Release notes](https://github.com/danger/danger-js/releases)
- [Changelog](https://github.com/danger/danger-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/danger/danger-js/compare/11.1.4...11.2.0)

---
updated-dependencies:
- dependency-name: danger/danger-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-30 09:15:18 +00:00
dependabot[bot]
b58050f496 Bump kotlin-reflect from 1.7.21 to 1.7.22 (#7665)
Bumps [kotlin-reflect](https://github.com/JetBrains/kotlin) from 1.7.21 to 1.7.22.
- [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.7.21...v1.7.22)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-reflect
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-30 09:13:47 +00:00
Benoit Marty
b0029f2dd3 Release script: Check if git flow is enabled 2022-11-30 10:07:55 +01:00
Benoit Marty
93a34d953f Release script: Fix script error 2022-11-30 10:07:49 +01:00
jonnyandrew
31a1b09e34 [Rich text editor] Fix design and spacing of rich text editor (#7658)
Improve design and spacing of the rich text editor.

Minor changes to
 - position of input field relative to buttons
 - spacing around attachments button
 - spacing around send button
 - selectable backgrounds
2022-11-30 09:00:37 +00:00
Weblate
60dff395ca Merge branch 'origin/develop' into Weblate. 2022-11-29 21:33:15 +00:00
LinAGKar
4a70ea8518 Translated using Weblate (Swedish)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2022-11-29 21:33:12 +00:00
Ihor Hordiichuk
b3ffc4d76c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-29 21:33:10 +00:00
LinAGKar
1c0fe56329 Translated using Weblate (Swedish)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2022-11-29 21:33:10 +00:00
lvre
c5fe9d4a18 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-11-29 21:33:09 +00:00
Florian Renaud
4b3e36da91 Merge pull request #7656 from vector-im/feature/fre/voice_broadcast_room_attachments
[Voice Broadcast] Remove chunks from the room attachments
2022-11-29 17:43:42 +01:00
Florian Renaud
5560694f54 Merge pull request #7655 from vector-im/feature/fre/voice_broadcast_buffering
[Voice Broadcast] Update buffering display and improve playback
2022-11-29 17:43:21 +01:00
Florian Renaud
1415504f84 Rename view ids 2022-11-29 14:32:05 +01:00
Florian Renaud
42b3ecc0b6 Fix pause/resume playback not working correctly 2022-11-29 14:13:46 +01:00
Benoit Marty
537331ccf6 Merge pull request #7488 from kinote/feat-2725-optional-direct-share
Add setting to allow disabling direct share
2022-11-29 11:19:44 +01:00
Florian Renaud
6bdf237cc9 Fix playback not in buffering if waiting for new chunks 2022-11-29 10:54:31 +01:00
Florian Renaud
9ab2d1afb0 Fix thumb cropped 2022-11-29 10:50:31 +01:00
Florian Renaud
559af32ab6 Merge pull request #7646 from vector-im/bugfix/fre/fix_playback_stuck_in_buffering
Voice Broadcast - Fix playback stuck in buffering
2022-11-29 09:59:08 +01:00
Florian Renaud
d6fd32b5a0 Merge pull request #7629 from vector-im/feature/fre/voice_broadcast_handle_event_deletion
Voice Broadcast - Handle event deletion when listening or recording
2022-11-29 09:51:11 +01:00
Florian Renaud
f8881638f9 Changelog 2022-11-29 01:49:50 +01:00
Florian Renaud
471bf853c8 Remove voice broadcast chunks from the room attachments list 2022-11-29 01:41:31 +01:00
Florian Renaud
7b4c165033 Changelog 2022-11-29 01:22:39 +01:00
Florian Renaud
9458276a4e Change seekBar and duration colors to secondary 2022-11-29 01:12:18 +01:00
Florian Renaud
0dbbfab97d Remove seekBar padding 2022-11-29 01:12:18 +01:00
Florian Renaud
12a86e7d29 Reduce tiles padding 2022-11-29 01:12:18 +01:00
Florian Renaud
912de8286f Move buffering view in tile header 2022-11-29 01:12:18 +01:00
Florian Renaud
fe0bca75f8 Change log level 2022-11-29 00:59:45 +01:00
Nikita Fedrunov
46fc0ac563 ignore push for a thread if it's currently visible to user (#7641) 2022-11-28 17:29:30 +01:00
Florian Renaud
a4255525e0 Changelog 2022-11-28 17:25:45 +01:00
Florian Renaud
c2d5908542 Stop playback if live broadcast has ended and there is no more chunk to listen 2022-11-28 17:25:45 +01:00
Florian Renaud
4be954eeeb Voice Broadcast - Fix (live) playback stuck in buffering after receiving new chunk 2022-11-28 17:25:45 +01:00
Florian Renaud
9840731778 Add todo for missing unit test 2022-11-28 16:15:07 +01:00
Florian Renaud
620bebc3a3 Rewrite condition for better clarity 2022-11-28 16:08:15 +01:00
Florian Renaud
aa53105f17 improve flow stream 2022-11-28 13:58:00 +01:00
Florian Renaud
4427156f0b Restore trailing comma 2022-11-28 13:58:00 +01:00
Florian Renaud
9dba6d7c8c Fix issue on live playback detection 2022-11-28 13:58:00 +01:00
Florian Renaud
d092c83774 Fix wrong sequence number in stopped state event content 2022-11-28 13:58:00 +01:00
Florian Renaud
a2dee2193a Fix bad condition 2022-11-28 13:58:00 +01:00
Florian Renaud
023326a20d Do not wait for state event feedback for pause/stop actions on the recorder 2022-11-28 13:58:00 +01:00
Florian Renaud
3ebcd8c1f4 changelog 2022-11-28 13:58:00 +01:00
Florian Renaud
763b60ee6b Update voice broadcast recorder according to the most recent voice broadcast state event 2022-11-28 13:58:00 +01:00
Florian Renaud
f436de1230 Handle voice broadcast deletion on listener side 2022-11-28 13:57:59 +01:00
Florian Renaud
2d60e49205 Handle redaction when observing voice broadcast state changes 2022-11-28 13:57:59 +01:00
Florian Renaud
49199bd5e2 Merge pull request #7611 from vector-im/feature/fre/voice_broadcast_deletion
Be less restritive when pruning redacted events
2022-11-28 13:57:40 +01:00
Benoit Marty
d04e2b0f82 Trigger CI 2022-11-28 12:40:17 +01:00
Florian Renaud
ee22dafbc9 Fix regression when getting last message content for Voice Broadcast state event 2022-11-28 12:14:31 +01:00
Florian Renaud
dd81584076 Ad default value to MessageStickerContent.body in case of redaction 2022-11-28 12:12:49 +01:00
Benoit Marty
ef84e6b78c Merge pull request #7648 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.13.1
Bump libphonenumber from 8.13.0 to 8.13.1
2022-11-28 10:14:58 +01:00
Benoit Marty
3f2b5e9d12 Merge pull request #7647 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-11-28 10:03:03 +01:00
Nikita Fedrunov
5aeca1f81a saving sync filter changed (#7627) 2022-11-28 09:48:28 +01:00
gradle-update-robot
d7dc5c812e Update Gradle Wrapper from 7.5.1 to 7.6.
Signed-off-by: gradle-update-robot <gradle-update-robot@regolo.cc>
2022-11-27 00:26:10 +00:00
dependabot[bot]
e28f0d0713 Bump libphonenumber from 8.13.0 to 8.13.1
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.13.0 to 8.13.1.
- [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.13.0...v8.13.1)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-25 23:03:08 +00:00
Weblate
7549cec45b Merge branch 'origin/develop' into Weblate. 2022-11-25 20:50:57 +00:00
Glandos
6cbd39f3d3 Translated using Weblate (French)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2022-11-25 20:50:56 +00:00
Ihor Hordiichuk
40f0f59db1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-25 20:50:54 +00:00
Platon Terekhov
225bf09251 Translated using Weblate (Russian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-11-25 20:50:53 +00:00
Szimszon
02deb1bf19 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-11-25 20:50:52 +00:00
Benoit Marty
e925a2c669 Translated using Weblate (French)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-11-25 20:50:51 +00:00
Glandos
b7c8ae7c45 Translated using Weblate (French)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-11-25 20:50:51 +00:00
Christina Klaas
41a20bf4d0 Translated using Weblate (German)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-25 20:50:49 +00:00
Platon Terekhov
af59a58157 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-25 20:50:47 +00:00
Florian Renaud
a8f3bb1d4e Remove to-device events from event type filtering for redaction 2022-11-25 14:42:46 +01:00
Florian Renaud
5a43b76488 Log a warning if the event content is not pruned 2022-11-25 14:42:45 +01:00
Florian Renaud
2477632e2b Fix exception when getting models on some redacted event
An exception was triggered because the excepted model body was null for redacted events
2022-11-25 14:42:45 +01:00
Florian Renaud
0209cc4969 Prune redacted events which are not explicitly restricted 2022-11-25 14:42:45 +01:00
Florian Renaud
eb12b1c99b Use StableUnstableId object for some event types 2022-11-25 14:42:45 +01:00
Florian Renaud
f4b948af9d Voice Broadcast - hide voice messages and state events behind hidden events 2022-11-25 14:42:45 +01:00
Nikita Fedrunov
9349b1ae15 read receipt migration added (#7640) 2022-11-25 14:24:14 +01:00
Benoit Marty
c9437f3c66 Merge pull request #7642 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-11-25 12:58:57 +01:00
Onuray Sahin
8835e4d25e Create use case to decide to show alert. 2022-11-25 14:34:39 +03:00
Onuray Sahin
821a561235 Add timeout preference for alert. 2022-11-25 14:33:41 +03:00
Weblate
e2d6bf3d77 Merge branch 'origin/develop' into Weblate. 2022-11-25 11:07:41 +00:00
Linerly
5bfb83985e Translated using Weblate (Indonesian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/id/
2022-11-25 11:07:41 +00:00
waclaw66
a5467062a1 Translated using Weblate (Czech)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2022-11-25 11:07:38 +00:00
Jeff Huang
de9a6c6c34 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2022-11-25 11:07:36 +00:00
Danial Behzadi
78025ddc18 Translated using Weblate (Persian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fa/
2022-11-25 11:07:34 +00:00
random
ac24bee0a6 Translated using Weblate (Italian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/it/
2022-11-25 11:07:32 +00:00
Priit Jõerüüt
9b6c57f5fd Translated using Weblate (Estonian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2022-11-25 11:07:30 +00:00
Ihor Hordiichuk
0a77b8f7d7 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-11-25 11:07:28 +00:00
Jozef Gaal
5811f1c77f Translated using Weblate (Slovak)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/
2022-11-25 11:07:25 +00:00
lvre
fe8415d788 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/
2022-11-25 11:07:23 +00:00
Vri
bc4ca1d33d Translated using Weblate (German)
Currently translated at 100.0% (82 of 82 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-11-25 11:07:21 +00:00
Jeff Huang
c424a87d81 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-11-25 11:07:19 +00:00
Besnik Bleta
aa2c6e175b Translated using Weblate (Albanian)
Currently translated at 99.3% (2540 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2022-11-25 11:07:18 +00:00
Jozef Gaal
6b9381f5a3 Translated using Weblate (Slovak)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-11-25 11:07:17 +00:00
lvre
e1dc05d5ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-11-25 11:07:16 +00:00
random
f5534363b9 Translated using Weblate (Italian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-11-25 11:07:15 +00:00
Linerly
eb2910401f Translated using Weblate (Indonesian)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-11-25 11:07:14 +00:00
Danial Behzadi
205db447e6 Translated using Weblate (Persian)
Currently translated at 99.6% (2546 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-11-25 11:07:13 +00:00
Priit Jõerüüt
b0ec6abbea Translated using Weblate (Estonian)
Currently translated at 99.6% (2548 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-11-25 11:07:11 +00:00
Christina Klaas
cc951969de Translated using Weblate (German)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-25 11:07:11 +00:00
waclaw66
f1251140f5 Translated using Weblate (Czech)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-11-25 11:07:10 +00:00
Vri
62bc22a03a Translated using Weblate (German)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-25 11:07:07 +00:00
Christina Klaas
ce6efa1f72 Translated using Weblate (German)
Currently translated at 100.0% (2556 of 2556 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-25 11:07:06 +00:00
dependabot[bot]
53cd55df65 Bump wysiwyg from 0.7.0 to 0.7.0.1 (#7636)
Bumps [wysiwyg](https://github.com/matrix-org/matrix-wysiwyg) from 0.7.0 to 0.7.0.1.
- [Release notes](https://github.com/matrix-org/matrix-wysiwyg/releases)
- [Changelog](https://github.com/matrix-org/matrix-rich-text-editor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/matrix-org/matrix-wysiwyg/commits)

---
updated-dependencies:
- dependency-name: io.element.android:wysiwyg
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-25 10:09:50 +01:00
Nikita Fedrunov
18bcc83a46 added read receipts for threads (#7474) 2022-11-25 09:49:06 +01:00
Benoit Marty
27419f0d33 Merge pull request #7583 from vector-im/feature/bma/remove_buidkite
Remove usage of Buildkite.
2022-11-24 18:51:22 +01:00
Benoit Marty
492e842410 Fix the fixture. 2022-11-24 18:05:24 +01:00
Valere
035b1ebedc Merge pull request #7594 from vector-im/feature/bca/better_edit_validation
Better edit (replace handling)
2022-11-24 17:22:41 +01:00
Benoit Marty
fa3b440a22 Run knit. 2022-11-24 16:44:07 +01:00
Benoit Marty
deb4730d40 Add section about knit tool 2022-11-24 16:43:37 +01:00
Benoit Marty
211c0c2dc5 Add doc for script installFromGitHub.sh 2022-11-24 15:36:13 +01:00
Benoit Marty
451df7558d Buildkite scripts can still be used. 2022-11-24 14:49:55 +01:00
Benoit Marty
83a10c37a6 Install app from GitHub action 2022-11-24 14:49:55 +01:00
Benoit Marty
8795ddb3c2 Add git commit sha to the version details (splash screen and preference screen) 2022-11-24 14:49:55 +01:00
Benoit Marty
cccfad03ce changelog 2022-11-24 14:49:55 +01:00
Benoit Marty
9ca7415f5a Remove usage of Buildkite.
Build number is just removed.
Related script will need to be updated separately.
2022-11-24 14:49:55 +01:00
Florian Renaud
ae996ae197 Merge pull request #7623 from vector-im/dependabot/gradle/io.gitlab.arturbosch.detekt-1.22.0
Bump io.gitlab.arturbosch.detekt from 1.21.0 to 1.22.0
2022-11-24 13:38:37 +01:00
Onuray Sahin
59ac3b4f8b Update new strings of unverified sessions alert. 2022-11-24 15:26:59 +03:00
Valere
bec8b5f71e code review 2022-11-24 12:45:35 +01:00
Valere
c06eca6936 Migration test and cleaning 2022-11-24 12:45:35 +01:00
Valere
ca907df94b kdoc fix 2022-11-24 12:45:35 +01:00
Valere
2819957585 fix edit display flicker with local echo 2022-11-24 12:45:35 +01:00
Valere
e5d3206b6f code review 2022-11-24 12:45:35 +01:00
Valere
d759f26db6 fix fake awaitTx 2022-11-24 12:45:35 +01:00
Valere
8b47bf004e Fix broken polls states 2022-11-24 12:45:35 +01:00
Valere
3746ede49a Fix test 2022-11-24 12:45:35 +01:00
Valere
e66a0541be Add changelog, some cleaning 2022-11-24 12:45:35 +01:00
Valere
891709ef41 better replace handling 2022-11-24 12:45:35 +01:00
Benoit Marty
ebbfca4ffd Detekt: Use require() instead of throwing an IllegalArgumentException. [UseRequire] 2022-11-24 11:06:00 +01:00
Benoit Marty
3dccad9931 Detekt ComplexMethod has been renamed to CyclomaticComplexMethod 2022-11-24 10:58:42 +01:00
Benoit Marty
5eb64b43d3 Merge pull request #7610 from vector-im/feature/bma/releaseScript
First version of the release script.
2022-11-24 10:33:04 +01:00
Jorge Martin Espinosa
ffb5edd2e4 Set timeout for test CI jobs (#7598)
* Set timeout for test CI jobs

* Increase timeout to 1.5h: some Test jobs successfully finish > 1h
2022-11-24 09:46:11 +01:00
Jorge Martin Espinosa
452cfd3327 [RTE] Change layout based on plain text / rich text mode (#7621) 2022-11-23 16:56:37 +00:00
Weblate
bf30ff41de Merge branch 'origin/develop' into Weblate. 2022-11-23 15:33:13 +00:00
Jeff Huang
2f69740e9b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-11-23 15:33:11 +00:00
Ihor Hordiichuk
6e11874027 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-23 15:33:11 +00:00
Jozef Gaal
1ef3e48ab6 Translated using Weblate (Slovak)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-11-23 15:33:11 +00:00
Platon Terekhov
8296665b36 Translated using Weblate (Russian)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-11-23 15:33:10 +00:00
lvre
b76b51265f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-11-23 15:33:10 +00:00
Przemysław Romanik
f43a16ced4 Translated using Weblate (Polish)
Currently translated at 91.8% (2336 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pl/
2022-11-23 15:33:10 +00:00
random
b745ebe90a Translated using Weblate (Italian)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-11-23 15:33:09 +00:00
Linerly
5d1f6e0bbe Translated using Weblate (Indonesian)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-11-23 15:33:09 +00:00
Glandos
32462b9056 Translated using Weblate (French)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-11-23 15:33:09 +00:00
Danial Behzadi
3c5bc7e6f2 Translated using Weblate (Persian)
Currently translated at 99.6% (2533 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-11-23 15:33:09 +00:00
Priit Jõerüüt
e9bd9ed788 Translated using Weblate (Estonian)
Currently translated at 99.6% (2535 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-11-23 15:33:08 +00:00
iaiz
9eb4eb6dcf Translated using Weblate (Spanish)
Currently translated at 90.2% (2296 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/es/
2022-11-23 15:33:08 +00:00
Vri
778462dfc8 Translated using Weblate (German)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-23 15:33:08 +00:00
waclaw66
212074470f Translated using Weblate (Czech)
Currently translated at 100.0% (2543 of 2543 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-11-23 15:33:07 +00:00
Benoit Marty
183570dce9 Update the recipe for the SDK 2022-11-23 13:17:44 +01:00
Benoit Marty
ed8fd345ce Add missing git command. 2022-11-23 13:14:18 +01:00
Onuray Sahin
0957b38329 Merge pull request #7546 from vector-im/feature/ons/toggle_ip_address_visibility
Toggle IP address visibility (PSG-860)
2022-11-22 22:41:21 +03:00
dependabot[bot]
1fe790e46f Bump wysiwyg from 0.4.0 to 0.7.0 (#7572)
* Bump wysiwyg from 0.4.0 to 0.6.0

Bumps [wysiwyg](https://github.com/matrix-org/matrix-wysiwyg) from 0.4.0 to 0.6.0.
- [Release notes](https://github.com/matrix-org/matrix-wysiwyg/releases)
- [Changelog](https://github.com/matrix-org/matrix-rich-text-editor/blob/main/RELEASE.md)
- [Commits](https://github.com/matrix-org/matrix-wysiwyg/compare/0.4.0...0.6.0)

---
updated-dependencies:
- dependency-name: io.element.android:wysiwyg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update RTE library to 0.7.0

* Fix markdown -> html

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2022-11-22 19:12:07 +01:00
Onuray Sahin
abea9b686a Code review fixes. 2022-11-22 18:02:48 +03:00
Onuray Sahin
5eb786b55f Code review fixes. 2022-11-22 16:11:20 +03:00
Onuray Sahin
ab749eee6a Code review fixes. 2022-11-22 16:05:37 +03:00
Benoit Marty
6be22a5e7f Merge pull request #7517 from vector-im/kittykat-patch-1
Update issue automation
2022-11-22 10:33:53 +01:00
dependabot[bot]
b3965cae9d Bump com.autonomousapps.dependency-analysis from 1.13.1 to 1.16.0 (#7622)
Bumps com.autonomousapps.dependency-analysis from 1.13.1 to 1.16.0.

---
updated-dependencies:
- dependency-name: com.autonomousapps.dependency-analysis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-22 07:53:58 +01:00
dependabot[bot]
544c554444 Bump io.gitlab.arturbosch.detekt from 1.21.0 to 1.22.0
Bumps io.gitlab.arturbosch.detekt from 1.21.0 to 1.22.0.

---
updated-dependencies:
- dependency-name: io.gitlab.arturbosch.detekt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-21 23:11:30 +00:00
Onuray Sahin
6c45490dd1 Code review fixes. 2022-11-21 18:44:45 +03:00
Onuray Sahin
664b0665cf Merge pull request #7601 from vector-im/feature/ons/fix_truncated_italic_text
Fix italic text is truncated when bubble mode and markdown is enabled (PSG-1006)
2022-11-18 17:25:48 +03:00
Maxime NATUREL
14de485c67 Merge pull request #7566 from vector-im/fix/mna/missing-translation-reply-to
Missing translations on "replyTo" messages (PSG-978)
2022-11-18 14:39:18 +01:00
Onuray Sahin
7774f69317 Fix unit test. 2022-11-18 14:46:03 +03:00
Benoit Marty
729d420c2c Propose message for internal room 2022-11-18 10:30:59 +01:00
Benoit Marty
7d8bbd6d66 Update the issue template 2022-11-18 10:26:56 +01:00
Benoit Marty
208bf6eb2e First version of the release script. Release the APP. 2022-11-18 10:20:41 +01:00
Benoit Marty
9da174edc4 Merge pull request #7609 from vector-im/dependabot/gradle/com.google.firebase-firebase-appdistribution-gradle-3.1.1
Bump firebase-appdistribution-gradle from 3.0.3 to 3.1.1
2022-11-18 10:04:31 +01:00
Benoit Marty
d84b521b54 Merge pull request #7585 from vector-im/dependabot/gradle/dagger-2.44.2
Bump dagger from 2.44 to 2.44.2
2022-11-18 10:03:57 +01:00
Maxime NATUREL
cf5b96f9cf Merge pull request #7605 from vector-im/fix/mna/anr-on-session-start
ANR on session start when sending client info is enabled
2022-11-18 09:38:39 +01:00
Jorge Martin Espinosa
7417241cd5 New RTE full screen implementation with BottomSheet (#7578)
* RTE full screen editor using custom BottomSheet

* Fix formatting menu item dimensions

* Fix bug with insets when opening attachment menu

* Clear the EditText for plain text mode when a message is sent

* Set `MessageComposerMode.Special` as a sealed class

* Fix insets issue on landscape

* Fix small UI issues with rounded corners

* Use simplified icons for full screen and minimise
2022-11-18 08:57:37 +01:00
dependabot[bot]
8bf0ec297c Bump firebase-appdistribution-gradle from 3.0.3 to 3.1.1
Bumps firebase-appdistribution-gradle from 3.0.3 to 3.1.1.

---
updated-dependencies:
- dependency-name: com.google.firebase:firebase-appdistribution-gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 23:03:30 +00:00
Maxime NATUREL
74c945b7f0 Launching the sending of the client info in a dedicated coroutine to avoid ANR on application start 2022-11-17 17:43:53 +01:00
Maxime NATUREL
9901a43dc1 Add changelog entry 2022-11-17 17:06:44 +01:00
Onuray Sahin
ab94b21807 Fix the place of the span factory. 2022-11-17 15:58:42 +03:00
Benoit Marty
65d898e3de version++ 2022-11-17 12:57:08 +01:00
Benoit Marty
f4bd89db3b Merge tag 'v1.5.8' into develop
Release 1.5.8
2022-11-17 12:50:37 +01:00
Onuray Sahin
a31a9ab521 Fix italic text is truncated when bubble mode and markdown is enabled. 2022-11-17 13:32:53 +03:00
Onuray Sahin
c788deacf5 Revert "Fix italic text is truncated when bubble mode and markdown is enabled."
This reverts commit f63c6c328f.
2022-11-17 13:26:09 +03:00
Onuray Sahin
f63c6c328f Fix italic text is truncated when bubble mode and markdown is enabled. 2022-11-17 13:19:40 +03:00
dependabot[bot]
e4caf7be81 Bump barista from 4.2.0 to 4.3.0
Bumps [barista](https://github.com/AdevintaSpain/Barista) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/AdevintaSpain/Barista/releases)
- [Commits](https://github.com/AdevintaSpain/Barista/compare/4.2.0...4.3.0)

---
updated-dependencies:
- dependency-name: com.adevinta.android:barista
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-15 23:03:53 +00:00
Weblate
1a7c3cee5d Merge branch 'origin/develop' into Weblate. 2022-11-15 19:33:19 +00:00
LinAGKar
21b92f7d15 Translated using Weblate (Swedish)
Currently translated at 100.0% (81 of 81 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sv/
2022-11-15 19:33:17 +00:00
Platon Terekhov
ade6028a69 Translated using Weblate (Russian)
Currently translated at 100.0% (81 of 81 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/ru/
2022-11-15 19:33:14 +00:00
LinAGKar
37dcb86e90 Translated using Weblate (Swedish)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sv/
2022-11-15 19:33:12 +00:00
Nui Harime
a23299de64 Translated using Weblate (Russian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-11-15 19:33:11 +00:00
Platon Terekhov
06d621cd3c Translated using Weblate (Russian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-11-15 19:33:11 +00:00
Auri B. P
7aa0e33506 Translated using Weblate (Catalan)
Currently translated at 99.6% (2534 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-11-15 19:33:05 +00:00
dependabot[bot]
f49a8af9da Bump dagger from 2.44 to 2.44.2
Bumps `dagger` from 2.44 to 2.44.2.

Updates `hilt-android-gradle-plugin` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

Updates `dagger` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

Updates `dagger-compiler` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

Updates `hilt-android` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

Updates `hilt-android-testing` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

Updates `hilt-compiler` from 2.44 to 2.44.2
- [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.44...dagger-2.44.2)

---
updated-dependencies:
- dependency-name: com.google.dagger:hilt-android-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:dagger-compiler
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:hilt-android
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:hilt-android-testing
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.google.dagger:hilt-compiler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 23:05:09 +00:00
Maxime NATUREL
4a65e1153a Fix retrieve of the question for poll events 2022-11-14 10:18:42 +01:00
Maxime NATUREL
fcfef53043 Search for the first occurrence (and not last) of breaking line just in case 2022-11-14 10:12:25 +01:00
Weblate
404113bd1d Merge branch 'origin/develop' into Weblate. 2022-11-12 14:33:16 +00:00
random
227fb27a2e Translated using Weblate (Italian)
Currently translated at 100.0% (81 of 81 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/it/
2022-11-12 14:33:15 +00:00
Ihor Hordiichuk
4578336245 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (81 of 81 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-11-12 14:33:13 +00:00
Jeff Huang
a616ab9472 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-11-12 14:33:11 +00:00
Ihor Hordiichuk
baaace855c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-12 14:33:10 +00:00
Jozef Gaal
6fa15e6ee9 Translated using Weblate (Slovak)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-11-12 14:33:10 +00:00
Platon Terekhov
24868a6c64 Translated using Weblate (Russian)
Currently translated at 95.3% (2423 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2022-11-12 14:33:09 +00:00
random
6c52e47e47 Translated using Weblate (Italian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2022-11-12 14:33:08 +00:00
Linerly
ac06ff5256 Translated using Weblate (Indonesian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-11-12 14:33:07 +00:00
Szimszon
e5783afb11 Translated using Weblate (Hungarian)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/hu/
2022-11-12 14:33:06 +00:00
Glandos
8b5f86ec51 Translated using Weblate (French)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-11-12 14:33:05 +00:00
Priit Jõerüüt
2d80a25fd6 Translated using Weblate (Estonian)
Currently translated at 99.6% (2534 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/et/
2022-11-12 14:33:05 +00:00
Vri
47a909eaf4 Translated using Weblate (German)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-12 14:33:04 +00:00
waclaw66
9fd50b4e35 Translated using Weblate (Czech)
Currently translated at 100.0% (2542 of 2542 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-11-12 14:33:04 +00:00
Maxime NATUREL
58d182aecb Adding unit tests on ProcessBodyOfReplyToEventUseCase 2022-11-10 17:28:30 +01:00
Maxime NATUREL
57e90aee83 Removing description parameter in startLiveLocation method of SDK to avoid translated strings in beacon events 2022-11-10 15:40:50 +01:00
Maxime NATUREL
235b629130 Use case to process formatted body of reply to events 2022-11-10 15:29:58 +01:00
Onuray Sahin
202c0c58ab Merge branch 'develop' into feature/ons/toggle_ip_address_visibility
# Conflicts:
#	vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
2022-11-10 17:01:50 +03:00
Maxime NATUREL
ab90da0e51 Adding isReply extension method for RelationDefaultContent 2022-11-10 10:05:01 +01:00
Maxime NATUREL
def74926d7 Adding changelog entry 2022-11-10 10:05:01 +01:00
Onuray Sahin
6f997e8a0f Merge branch 'develop' into feature/ons/toggle_ip_address_visibility 2022-11-09 19:04:39 +03:00
Onuray Sahin
b81fc4f8f1 Merge branch 'develop' into feature/ons/toggle_ip_address_visibility
# Conflicts:
#	vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
2022-11-09 18:09:22 +03:00
Onuray Sahin
46c60f5897 Fix unit tests. 2022-11-09 16:57:16 +03:00
Onuray Sahin
e888c11747 Lint fix. 2022-11-08 20:05:16 +03:00
Onuray Sahin
8bc70002d9 Add changelog. 2022-11-08 19:31:59 +03:00
Kat Gerasimova
6073cf12da Update issue automation
Stop using deprecated ProjectNext API in favour of the new ProjectV2 one
2022-11-08 16:03:15 +01:00
Onuray Sahin
f6bc28f3bf Persist user preference of ip address visibility. 2022-11-08 17:43:48 +03:00
Onuray Sahin
0868869fe3 Toggle ip address on sessions overview screen. 2022-11-08 16:33:20 +03:00
Onuray Sahin
b5e8375592 Toggle ip address on other sessions screen. 2022-11-08 15:16:09 +03:00
Onuray Sahin
eed2a74d07 Toggle ip address on others section of the main screen. 2022-11-08 14:36:27 +03:00
Onuray Sahin
456762a464 Add toggle ip address menu option. 2022-11-07 18:26:54 +03:00
Joaquín Aguirrezabalaga
3a430efb02 Add setting to allow disabling direct share
Direct share continues to be enabled by default.

As requested in #2725

Signed-off-by: Joaquín Aguirrezabalaga <kinote@kinote.org>
2022-10-30 11:32:52 +01:00
David Langley
15583a14aa changelog 2022-10-27 14:30:36 +01:00
David Langley
2b7560b1e7 Add Labs-Z label for rich text editor and migrate to new label naming 2022-10-27 14:21:14 +01:00
571 changed files with 14816 additions and 5095 deletions

1
.gitattributes vendored
View File

@@ -1 +1,2 @@
**/snapshots/**/*.png filter=lfs diff=lfs merge=lfs -text
**/src/androidTest/assets/*.realm filter=lfs diff=lfs merge=lfs -text

View File

@@ -10,7 +10,6 @@ body:
id: checklist
attributes:
label: Release checklist
description: For the template example, we are releasing the version 1.2.3. Replace 1.2.3 with the version in the issue body.
placeholder: |
If you are reading this, you have deleted the content of the release template: undo the deletion or start again.
value: |
@@ -24,27 +23,7 @@ body:
### Do the release
- [ ] Make sure `develop` and `main` are up to date and create a release with gitflow: `git checkout main; git pull; git checkout develop; git pull; git flow release start '1.2.3'`
- [ ] Check the crashes from the PlayStore
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.2.3-dev
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
- [ ] Create an account on matrix.org and do some smoke tests that the sanity test does not cover like: 1-1 call, 1-1 video call, Jitsi call for instance
- [ ] Run towncrier: `towncrier build --version v1.2.3 --draft` (remove `--draft` do write the file CHANGES.md)
- [ ] Check the file CHANGES.md consistency. It's possible to reorder items (most important changes first) or change their section if relevant. Also an opportunity to fix some typo, or rewrite things
- [ ] Add file for fastlane under ./fastlane/metadata/android/en-US/changelogs
- [ ] (optional) Push the branch and start a draft PR (will not be merged), to check that the CI is happy with all the changes.
- [ ] Finish release with gitflow, delete the draft PR (if created): `git flow release finish '1.2.3'`
- [ ] Push `main` and the new tag `v1.2.3` to origin: `git push origin main; git push origin 'v1.2.3'`
- [ ] Checkout `develop`: `git checkout develop`
- [ ] Increase version (versionPatch + 2) in `./vector/build.gradle`
- [ ] Change the value of SDK_VERSION in the file `./matrix-sdk-android/build.gradle`
- [ ] Commit and push `develop`: `git commit -m 'version++'; git push origin develop`
- [ ] Wait for [Buildkite](https://buildkite.com/matrix-dot-org/element-android/builds?branch=main) to build the `main` branch.
- [ ] Run the script `~/scripts/releaseElement.sh`. It will download the APKs from Buildkite check them and sign them.
- [ ] Install the APK on your phone to check that the upgrade went well (no init sync, etc.)
- [ ] Create the release on gitHub [from the tag](https://github.com/vector-im/element-android/tags), copy paste the block from the file CHANGES.md
- [ ] Add the 4 signed APKs to the GitHub release
- [ ] Ping the Android Internal room
- [ ] Run the script ./tools/release/releaseScript.sh and follow the steps.
### Once tested and validated internally
@@ -81,29 +60,9 @@ body:
The SDK2 and the sample app are released only when Element has been pushed to production.
- [ ] Checkout the `main` branch on Element Android project
- [ ] On the [SDK2 project](https://github.com/matrix-org/matrix-android-sdk2), run the script ./tools/releaseScript.sh and follow the instructions.
#### On the SDK2 project
https://github.com/matrix-org/matrix-android-sdk2
- [ ] Create a release with GitFlow
- [ ] Update the value of VERSION_NAME in the file gradle.properties
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
- [ ] Run the script `./tools/import_from_element.sh`
- [ ] Check the diff in the file `./matrix-sdk-android/build.gradle` and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"` and the line about the version)
- [ ] Let the script finish to build the library
- [ ] Update the file `CHANGES.md`
- [ ] Finish the release using GitFlow
- [ ] Push the branch `main`, the new tag and the branch `develop` to origin
##### Release on MavenCentral
- [ ] Checkout the branch `main`
- [ ] Run the command `./gradlew publish --no-daemon --no-parallel`. You'll need some non-public element to do so
- [ ] Run the command `./gradlew closeAndReleaseRepository`. If it is working well, you can jump directly to the final step of this section.
If `./gradlew closeAndReleaseRepository` fails (for instance, several repositories are waiting to be handled), you have to close and release the repository manually. Do the following steps:
Note: if the step `./gradlew closeAndReleaseRepository` fails (for instance, several repositories are waiting to be handled), you have to close and release the repository manually. Do the following steps:
- [ ] Connect to https://s01.oss.sonatype.org
- [ ] Click on Staging Repositories and check the the files have been uploaded
@@ -111,15 +70,6 @@ body:
- [ ] Wait (check Activity tab until step "Repository closed" is displayed)
- [ ] Click on release. The staging repository will disappear
Final step
- [ ] Check that the release is available in https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/ (it can take a few minutes)
##### Release on GitHub
- [ ] Create the release on GitHub from [the tag](https://github.com/matrix-org/matrix-android-sdk2/tags)
- [ ] Upload the AAR on the GitHub release
### Android SDK2 sample
https://github.com/matrix-org/matrix-android-sdk2-sample

View File

@@ -11,9 +11,9 @@ jobs:
- run: |
npm install --save-dev @babel/plugin-transform-flow-strip-types
- name: Danger
uses: danger/danger-js@11.1.4
uses: danger/danger-js@11.2.0
with:
args: "--dangerfile tools/danger/dangerfile.js"
args: "--dangerfile ./tools/danger/dangerfile.js"
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
# Fallback for forks

View File

@@ -16,7 +16,7 @@ env:
jobs:
# More info on should-i-run:
# If this fails to run (the IF doesn't complete) then the needs will not be satisfied for any of the
# If this fails to run (the IF doesn't complete) then the needs will not be satisfied for any of the
# other jobs below, so none will run.
# except for the notification job at the bottom which will run all the time, unless should-i-run isn't
# successful, or all the other jobs have succeeded
@@ -27,11 +27,12 @@ jobs:
if: github.event.pull_request.merged # Additionally require PR to have been completely merged.
steps:
- run: echo "Run those tests!" # no-op success
ui-tests:
name: UI Tests (Synapse)
needs: should-i-run
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 90 # We might need to increase it if the time for tests grows
strategy:
fail-fast: false
matrix:

View File

@@ -66,9 +66,9 @@ jobs:
yarn add danger-plugin-lint-report --dev
- name: Danger lint
if: always()
uses: danger/danger-js@11.1.4
uses: danger/danger-js@11.2.0
with:
args: "--dangerfile tools/danger/dangerfile-lint.js"
args: "--dangerfile ./tools/danger/dangerfile-lint.js"
env:
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
# Fallback for forks

View File

@@ -14,6 +14,7 @@ jobs:
tests:
name: Runs all tests
runs-on: buildjet-4vcpu-ubuntu-2204
timeout-minutes: 90 # We might need to increase it if the time for tests grows
strategy:
matrix:
api-level: [28]
@@ -126,26 +127,26 @@ jobs:
# Unneeded as part of the test suite above, kept around in case we want to re-enable them.
#
# # Build Android Tests
# build-android-tests:
# name: Build Android Tests
# runs-on: ubuntu-latest
# build-android-tests:
# name: Build Android Tests
# runs-on: ubuntu-latest
# concurrency:
# group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('build-android-tests-{0}', github.ref) }}
# cancel-in-progress: true
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-java@v3
# with:
# distribution: 'adopt'
# java-version: 11
# - uses: actions/cache@v3
# with:
# path: |
# ~/.gradle/caches
# ~/.gradle/wrapper
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
# restore-keys: |
# ${{ runner.os }}-gradle-
# - name: Build Android Tests
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-java@v3
# with:
# distribution: 'adopt'
# java-version: 11
# - uses: actions/cache@v3
# with:
# path: |
# ~/.gradle/caches
# ~/.gradle/wrapper
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
# restore-keys: |
# ${{ runner.os }}-gradle-
# - name: Build Android Tests
# run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES

View File

@@ -17,7 +17,8 @@ jobs:
contains(github.event.issue.labels.*.name, 'Z-IA') ||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
contains(github.event.issue.labels.*.name, 'A-Tags')
contains(github.event.issue.labels.*.name, 'A-Tags') ||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor')
steps:
- uses: actions/github-script@v5
with:
@@ -79,8 +80,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -88,7 +89,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc0sUA"
PROJECT_ID: "PVT_kwDOAM0swc0sUA"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
add_product_issues:
@@ -103,8 +104,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -112,7 +113,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
PROJECT_ID: "PVT_kwDOAM0swc4AAg6N"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
delight_issues_to_board:
@@ -129,8 +130,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -138,7 +139,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc1HvQ"
PROJECT_ID: "PVT_kwDOAM0swc1HvQ"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_voice-message_issues:
@@ -154,8 +155,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -163,7 +164,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc2KCw"
PROJECT_ID: "PVT_kwDOAM0swc2KCw"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_message_bubbles_issues:
name: A-Message-Bubbles to Message bubbles board
@@ -178,8 +179,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -187,7 +188,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc3m-g"
PROJECT_ID: "PVT_kwDOAM0swc3m-g"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_ftue_issues:
@@ -203,8 +204,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -212,7 +213,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAqVx"
PROJECT_ID: "PVT_kwDOAM0swc4AAqVx"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_WTF_issues:
@@ -228,8 +229,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -237,7 +238,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AArk0"
PROJECT_ID: "PVT_kwDOAM0swc4AArk0"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
move_element_x_issues:
@@ -258,8 +259,8 @@ jobs:
headers: '{"GraphQL-Features": "projects_next_graphql"}'
query: |
mutation add_to_project($projectid:ID!,$contentid:ID!) {
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
projectNextItem {
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
item {
id
}
}
@@ -267,7 +268,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.issue.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4ABTXY"
PROJECT_ID: "PVT_kwDOAM0swc4ABTXY"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
ps_features1:

View File

@@ -69,7 +69,7 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc0sUA"
PROJECT_ID: "PVT_kwDOAM0swc0sUA"
TEAM: "design"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
@@ -138,6 +138,6 @@ jobs:
projectid: ${{ env.PROJECT_ID }}
contentid: ${{ github.event.pull_request.node_id }}
env:
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
PROJECT_ID: "PVT_kwDOAM0swc4AAg6N"
TEAM: "product"
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}

View File

@@ -1,3 +1,145 @@
Changes in Element v.5.16 (2022-12-29)
======================================
Features ✨
----------
- [Rich text editor] Add support for links ([#7746](https://github.com/vector-im/element-android/issues/7746))
- [Poll] When a poll is ended, use /relations API to ensure poll results are correct ([#7767](https://github.com/vector-im/element-android/issues/7767))
- [Session manager] Security recommendations cards: whole view should be tappable ([#7795](https://github.com/vector-im/element-android/issues/7795))
- [Session manager] Other sessions list: header should not be sticky ([#7797](https://github.com/vector-im/element-android/issues/7797))
Bugfixes 🐛
----------
- Do not show typing notification of ignored users. ([#2965](https://github.com/vector-im/element-android/issues/2965))
- [Push Notifications, Threads] - quick reply to threaded notification now sent to thread except main timeline ([#7475](https://github.com/vector-im/element-android/issues/7475))
- [Session manager] Other sessions list: filter option is displayed when selection mode is enabled ([#7784](https://github.com/vector-im/element-android/issues/7784))
- [Session manager] Other sessions: Filter bottom sheet cut in landscape mode ([#7786](https://github.com/vector-im/element-android/issues/7786))
- Automatically show keyboard after learn more bottom sheet is dismissed ([#7790](https://github.com/vector-im/element-android/issues/7790))
- [Session Manager] Other sessions list: cannot select/deselect session by a long press when in select mode ([#7792](https://github.com/vector-im/element-android/issues/7792))
- Fix current session ip address visibility ([#7794](https://github.com/vector-im/element-android/issues/7794))
- Device Manager UI review fixes ([#7798](https://github.com/vector-im/element-android/issues/7798))
SDK API changes ⚠️
------------------
- [Sync] Sync Filter params are moved to MatrixConfiguration and will not be stored in session realm to avoid bug when session cache is cleared ([#7843](https://github.com/vector-im/element-android/issues/7843))
Other changes
-------------
- [Voice Broadcast] Replace the player timeline ([#7821](https://github.com/vector-im/element-android/issues/7821))
- Increase session manager test coverage ([#7836](https://github.com/vector-im/element-android/issues/7836))
Changes in Element v1.5.14 (2022-12-20)
=======================================
Bugfixes 🐛
----------
- ActiveSessionHolder is not supposed to start syncing. Instead, the MainActivity does it, if necessary. Fixes a race condition when clearing cache.
Changes in Element v1.5.13 (2022-12-19)
=======================================
Bugfixes 🐛
----------
- Add `largeHeap=true` in the manifest since we are seeing more crashes (OOM) when handling sync response.
Changes in Element v1.5.12 (2022-12-15)
=======================================
Features ✨
----------
- [Threads] - Threads Labs Flag is enabled by default and forced to be enabled for existing users, but sill can be disabled manually ([#5503](https://github.com/vector-im/element-android/issues/5503))
- [Session manager] Add action to signout all the other session ([#7693](https://github.com/vector-im/element-android/issues/7693))
- Remind unverified sessions with a banner once a week ([#7694](https://github.com/vector-im/element-android/issues/7694))
- [Session manager] Add actions to rename and signout current session ([#7697](https://github.com/vector-im/element-android/issues/7697))
- Voice Broadcast - Update last message in the room list ([#7719](https://github.com/vector-im/element-android/issues/7719))
- Delete unused client information from account data ([#7754](https://github.com/vector-im/element-android/issues/7754))
Bugfixes 🐛
----------
- Fix bad pills color background. For light and dark theme the color is now 61708B (iso EleWeb) ([#7274](https://github.com/vector-im/element-android/issues/7274))
- [Notifications] Fixed a bug when push notification was automatically dismissed while app is on background ([#7643](https://github.com/vector-im/element-android/issues/7643))
- ANR when asking to select the notification method ([#7653](https://github.com/vector-im/element-android/issues/7653))
- [Rich text editor] Fix design and spacing of rich text editor ([#7658](https://github.com/vector-im/element-android/issues/7658))
- [Rich text editor] Fix keyboard closing after collapsing editor ([#7659](https://github.com/vector-im/element-android/issues/7659))
- Rich Text Editor: fix several issues related to insets:
* Empty space displayed at the bottom when you don't have permissions to send messages into a room.
* Wrong insets being kept when you exit the room screen and the keyboard is displayed, then come back to it. ([#7680](https://github.com/vector-im/element-android/issues/7680))
- Fix crash in message composer when room is missing ([#7683](https://github.com/vector-im/element-android/issues/7683))
- Fix crash when invalid homeserver url is entered. ([#7684](https://github.com/vector-im/element-android/issues/7684))
- Rich Text Editor: improve performance when entering reply/edit/quote mode. ([#7691](https://github.com/vector-im/element-android/issues/7691))
- [Rich text editor] Add error tracking for rich text editor ([#7695](https://github.com/vector-im/element-android/issues/7695))
- Fix E2EE set up failure whilst signing in using QR code ([#7699](https://github.com/vector-im/element-android/issues/7699))
- Fix usage of unknown shield in room summary ([#7710](https://github.com/vector-im/element-android/issues/7710))
- Fix crash when the network is not available. ([#7725](https://github.com/vector-im/element-android/issues/7725))
- [Session manager] Sessions without encryption support should not prompt to verify ([#7733](https://github.com/vector-im/element-android/issues/7733))
- Fix issue of Scan QR code button sometimes not showing when it should be available ([#7737](https://github.com/vector-im/element-android/issues/7737))
- Verification request is not showing when verify session popup is displayed ([#7743](https://github.com/vector-im/element-android/issues/7743))
- Fix crash when inviting by email. ([#7744](https://github.com/vector-im/element-android/issues/7744))
- Revert usage of stable fields in live location sharing and polls ([#7751](https://github.com/vector-im/element-android/issues/7751))
- [Poll] Poll end event is not recognized ([#7753](https://github.com/vector-im/element-android/issues/7753))
- [Push Notifications] When push notification for threaded message is clicked, thread timeline will be opened instead of room's main timeline ([#7770](https://github.com/vector-im/element-android/issues/7770))
Other changes
-------------
- [Threads] - added API to fetch threads list from the server instead of building it locally from events ([#5819](https://github.com/vector-im/element-android/issues/5819))
- Add Z-Labs label for rich text editor and migrate to new label naming. ([#7477](https://github.com/vector-im/element-android/issues/7477))
- Crypto database migration tests ([#7645](https://github.com/vector-im/element-android/issues/7645))
- Add tracing Id for to device messages ([#7708](https://github.com/vector-im/element-android/issues/7708))
- Disable nightly popup and add an entry point in the advanced settings instead. ([#7723](https://github.com/vector-im/element-android/issues/7723))
- Save m.local_notification_settings.<device-id> event in account_data ([#7596](https://github.com/vector-im/element-android/issues/7596))
- Update notifications setting when m.local_notification_settings.<device-id> event changes for current device ([#7632](https://github.com/vector-im/element-android/issues/7632))
SDK API changes ⚠️
------------------
- Handle account data removal ([#7740](https://github.com/vector-im/element-android/issues/7740))
Changes in Element 1.5.11 (2022-12-07)
======================================
Bugfixes 🐛
----------
- Fix crash when the network is not available. ([#7725](https://github.com/vector-im/element-android/issues/7725))
Changes in Element v1.5.10 (2022-11-30)
=======================================
Features ✨
----------
- Add setting to allow disabling direct share ([#2725](https://github.com/vector-im/element-android/issues/2725))
- [Device Manager] Toggle IP address visibility ([#7546](https://github.com/vector-im/element-android/issues/7546))
- New implementation of the full screen mode for the Rich Text Editor. ([#7577](https://github.com/vector-im/element-android/issues/7577))
Bugfixes 🐛
----------
- Fix italic text is truncated when bubble mode and markdown is enabled ([#5679](https://github.com/vector-im/element-android/issues/5679))
- Missing translations on "replyTo" messages ([#7555](https://github.com/vector-im/element-android/issues/7555))
- ANR on session start when sending client info is enabled ([#7604](https://github.com/vector-im/element-android/issues/7604))
- Make the plain text mode layout of the RTE more compact. ([#7620](https://github.com/vector-im/element-android/issues/7620))
- Push notification for thread message is now shown correctly when user observes rooms main timeline ([#7634](https://github.com/vector-im/element-android/issues/7634))
- Voice Broadcast - Fix playback stuck in buffering mode ([#7646](https://github.com/vector-im/element-android/issues/7646))
In development 🚧
----------------
- Voice Broadcast - Handle redaction of the state events on the listener and recorder sides ([#7629](https://github.com/vector-im/element-android/issues/7629))
- Voice Broadcast - Update the buffering display in the timeline ([#7655](https://github.com/vector-im/element-android/issues/7655))
- Voice Broadcast - Remove voice messages related to a VB from the room attachments ([#7656](https://github.com/vector-im/element-android/issues/7656))
SDK API changes ⚠️
------------------
- Added support for read receipts in threads. Now user in a room can have multiple read receipts (one per thread + one in main thread + one without threadId) ([#6996](https://github.com/vector-im/element-android/issues/6996))
- Sync Filter now taking in account homeserver capabilities to not pass unsupported parameters.
Sync Filter is now configured by providing SyncFilterBuilder class instance, instead of Filter to identify Filter changes related to homeserver capabilities ([#7626](https://github.com/vector-im/element-android/issues/7626))
Other changes
-------------
- Remove usage of Buildkite. ([#7583](https://github.com/vector-im/element-android/issues/7583))
- Better validation of edits ([#7594](https://github.com/vector-im/element-android/issues/7594))
Changes in Element v1.5.8 (2022-11-17)
======================================

View File

@@ -13,6 +13,7 @@
* [Code quality](#code-quality)
* [Internal tool](#internal-tool)
* [ktlint](#ktlint)
* [knit](#knit)
* [lint](#lint)
* [Unit tests](#unit-tests)
* [Tests](#tests)
@@ -126,6 +127,23 @@ Note that you can run
For ktlint to fix some detected errors for you (you still have to check and commit the fix of course)
#### knit
[knit](https://github.com/Kotlin/kotlinx-knit) is a tool which checks markdown files on the project. Also it generates/updates the table of content (toc) of the markdown files.
So everytime the toc should be updated, just run
<pre>
./gradlew knit
</pre>
and commit the changes.
The CI will check that markdown files are up to date by running
<pre>
./gradlew knitCheck
</pre>
#### lint
<pre>

View File

@@ -1,4 +1,4 @@
[![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop)
[![Latest build](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop)
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget)
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
@@ -14,7 +14,7 @@ It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-androi
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
Nightly build: [![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop) Nightly test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
Build of develop branch: [![GitHub Action](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
# New Android SDK
@@ -40,7 +40,7 @@ If you would like to receive releases more quickly (bearing in mind that they ma
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
3. If you're really brave, install the [very latest dev build](https://buildkite.com/matrix-dot-org/element-android/builds/latest?branch=develop&state=passed) - click on *Assemble (GPlay or FDroid) Debug version* then on *Artifacts*.
3. If you're really brave, install the [very latest dev build](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop) - pick a build, then click on `Summary` to download the APKs from there: `vector-Fdroid-debug` and `vector-Gplay-debug` contains the APK for the desired store. Each file contains 5 APKs. 4 APKs for every supported specific architecture of device. In doubt you can install the `universal` APK.
## Contributing

View File

@@ -24,12 +24,12 @@ buildscript {
classpath libs.gradle.gradlePlugin
classpath libs.gradle.kotlinPlugin
classpath libs.gradle.hiltPlugin
classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3'
classpath 'com.google.firebase:firebase-appdistribution-gradle:3.1.1'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.5.0.2730'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
classpath "com.likethesalad.android:stem-plugin:2.2.3"
classpath 'org.owasp:dependency-check-gradle:7.3.0'
classpath 'org.owasp:dependency-check-gradle:7.4.1'
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20"
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
@@ -43,12 +43,12 @@ plugins {
// ktlint Plugin
id "org.jlleitschuh.gradle.ktlint" version "11.0.0"
// Detekt
id "io.gitlab.arturbosch.detekt" version "1.21.0"
id "io.gitlab.arturbosch.detekt" version "1.22.0"
// Ksp
id "com.google.devtools.ksp" version "1.7.21-1.0.8"
id "com.google.devtools.ksp" version "1.7.22-1.0.8"
// Dependency Analysis
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
id 'com.autonomousapps.dependency-analysis' version "1.17.0"
// Gradle doctor
id "com.osacky.doctor" version "0.8.1"
}

View File

@@ -8,16 +8,16 @@ ext.versions = [
def gradle = "7.3.1"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.7.21"
def kotlin = "1.7.22"
def kotlinCoroutines = "1.6.4"
def dagger = "2.44"
def dagger = "2.44.2"
def appDistribution = "16.0.0-beta05"
def retrofit = "2.9.0"
def markwon = "4.6.2"
def moshi = "1.14.0"
def lifecycle = "2.5.1"
def flowBinding = "1.2.0"
def flipper = "0.174.0"
def flipper = "0.176.0"
def epoxy = "5.0.0"
def mavericks = "3.0.1"
def glide = "4.14.2"
@@ -26,8 +26,8 @@ def jjwt = "0.11.5"
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
// the whole commit which set version 0.16.0-SNAPSHOT
def vanniktechEmoji = "0.16.0-SNAPSHOT"
def sentry = "6.7.0"
def fragment = "1.5.4"
def sentry = "6.9.2"
def fragment = "1.5.5"
// Testing
def mockk = "1.12.3" // We need to use 1.12.3 to have mocking in androidTest until a new version is released: https://github.com/mockk/mockk/issues/819
def espresso = "3.4.0"
@@ -83,7 +83,7 @@ ext.libs = [
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
// Phone number https://github.com/google/libphonenumber
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.0"
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.3"
],
dagger : [
'dagger' : "com.google.dagger:dagger:$dagger",
@@ -98,7 +98,7 @@ ext.libs = [
],
element : [
'opusencoder' : "io.element.android:opusencoder:1.1.0",
'wysiwyg' : "io.element.android:wysiwyg:0.4.0"
'wysiwyg' : "io.element.android:wysiwyg:0.10.0"
],
squareup : [
'moshi' : "com.squareup.moshi:moshi:$moshi",
@@ -129,7 +129,7 @@ ext.libs = [
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
],
maplibre : [
'androidSdk' : "org.maplibre.gl:android-sdk:9.5.2",
'androidSdk' : "org.maplibre.gl:android-sdk:9.6.0",
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:1.0.0"
],
mockk : [

View File

@@ -0,0 +1,55 @@
<!--- TOC -->
* [Testing database migration](#testing-database-migration)
* [Creating a reference database](#creating-a-reference-database)
* [Testing](#testing)
<!--- END -->
## Testing database migration
### Creating a reference database
Databases are encrypted, the key to decrypt is needed to setup the test.
A special build property must be enabled to extract it.
Set `vector.debugPrivateData=true` in `~/.gradle/gradle.properties` (to avoid committing by mistake)
Launch the app in your emulator, login and use the app to fill up the database.
Save the key for the tested database
```
RealmKeysUtils W Database key for alias `session_db_fe9f212a611ccf6dea1141777065ed0a`: 935a6dfa0b0fc5cce1414194ed190....
RealmKeysUtils W Database key for alias `crypto_module_fe9f212a611ccf6dea1141777065ed0a`: 7b9a21a8a311e85d75b069a343.....
```
Use the [Device File Explorer](https://developer.android.com/studio/debug/device-file-explorer) to extrat the database file from the emulator.
Go to `data/data/im.vector.app.debug/files/<hash>/`
Pick the database you want to test (name can be found in SessionRealmConfigurationFactory):
- crypto_store.realm for crypto
- disk_store.realm for session
- etc...
Download the file on your disk
### Testing
Copy the file in `src/AndroidTest/assets`
see `CryptoSanityMigrationTest` or `RealmSessionStoreMigration43Test` for sample tests.
There are already some databases in the assets folder.
The existing test will properly detect schema changes, and fail with such errors if a migration is missing:
```
io.realm.exceptions.RealmMigrationNeededException: Migration is required due to the following errors:
- Property 'CryptoMetadataEntity.foo' has been added.
```
If you want to test properly more complex database migration (dynamic transforms) ensure that the database contains
the entity you want to migrate.
You can explore the database with [realm studio](https://www.mongodb.com/docs/realm/studio/) if needed.

View File

@@ -0,0 +1,52 @@
## Installing from CI
<!--- TOC -->
* [Installing from Buildkite](#installing-from-buildkite)
* [Installing from GitHub](#installing-from-github)
* [Create a GitHub token](#create-a-github-token)
* [Provide artifact URL](#provide-artifact-url)
* [Next steps](#next-steps)
* [Future improvement](#future-improvement)
<!--- END -->
Installing APK build by the CI is possible
### Installing from Buildkite
The script `./tools/install/installFromBuildkite.sh` can be used, but Builkite will be removed soon. See next section.
### Installing from GitHub
To install an APK built by a GitHub action, run the script `./tools/install/installFromGitHub.sh`. You will need to pass a GitHub token to do so.
#### Create a GitHub token
You can create a GitHub token going to your Github account, at this page: [https://github.com/settings/tokens](https://github.com/settings/tokens).
You need to create a token (classic) with the scope `repo/public_repo`. So just check the corresponding checkbox.
Validity can be long since the scope of this token is limited. You will still be able to delete the token and generate a new one.
Click on Generate token and save the token locally.
### Provide artifact URL
The script will ask for an artifact URL. You can get this artifact URL by following these steps:
- open the pull request
- in the check at the bottom, click on `APK Build / Build debug APKs`
- click on `Summary`
- scroll to the bottom of the page
- copy the link `vector-Fdroid-debug` if you want the F-Droid variant or `vector-Gplay-debug` if you want the Gplay variant.
The copied link can be provided to the script.
### Next steps
The script will download the artifact, unzip it and install the correct version (regarding arch) on your device.
Files will be added to the folder `./tmp/DebugApks`. Feel free to cleanup this folder from time to time, the script will not delete files.
### Future improvement
The script could ask the user for a Pull Request number and Gplay/Fdroid choice like it was done with Buildkite script. Using GitHub API may be possible to do that.

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: opravy různých chyb a vylepšení.
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: Nová implementace celoobrazovkového režimu pro editor formátovaného textu a opravy chyb.
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Die wichtigsten Änderungen in dieser Version: Fehlerbehebungen und Verbesserungen.
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Die wichtigsten Änderungen in dieser Version: Der Vollbildmodus des Textverarbeitungseditors wurde neu umgesetzt und es wurden diverse Fehler behoben.
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: New implementation of the full screen mode for the Rich Text Editor and bugfixes.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: New implementation of the full screen mode for the Rich Text Editor and bugfixes.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: Thread are now enabled by default.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: Thread are now enabled by default.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: Thread are now enabled by default.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: Thread are now enabled by default.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: erinevate vigade parandused ja kohendused.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: tekstitoimeti täisekraanivaade ja erinevate vigade parandused.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: رفع اشکال‌ها و بهبود.
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principaux changements pour cette version : corrections de bugs et améliorations.
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: perbaikan kutu dan fitur
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Penerapan baru mode layar penuh untuk Penyunting Teks Kaya dan perbaikan kutu.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Modifiche principali in questa versione: nuova interfaccia utente per selezionare un allegato!
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Modifiche principali in questa versione: nuova interfaccia utente per selezionare un allegato.
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Modifiche principali in questa versione: correzione di errori e miglioramenti.
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principais mudanças nesta versão: consertos de bugs e melhorias.
Changelog completo: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: Использование UnifiedPush и разрешение пользователям получать push-оповещения без FCM.
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

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

View File

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

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: Улучшены вход и регистрация
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: Улучшены вход и регистрация
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

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

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: отложённые личные сообщения включены по умолчанию
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: новый интерфейс для выбора прикреплённых файлов
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основные изменения в этой версии: новый интерфейс для выбора прикреплённых файлов
Полный список изменений: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavné zmeny v tejto verzii: opravy chýb a vylepšenia.
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavné zmeny v tejto verzii: Nová implementácia celo-obrazovkového režimu pre Rozšírený textový editor a opravy chýb.
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: ndreqje të metash dhe përmirësime.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: nytt gränssnitt för val av bilaga.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: nytt gränssnitt för val av bilaga.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: buggfixar och förbättringar.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@@ -1,2 +1,2 @@
Основні зміни в цій версії: Нові можливості в налаштуваннях лабораторії: Текстовий редактор, нове керування пристроями, голосові повідомлення. Досі в активній розробці!
Основні зміни в цій версії: Нові можливості в налаштуваннях лабораторії: Текстовий редактор, нове керування пристроями, голосові трансляції. Досі в активній розробці!
Список усіх змін: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основні зміни в цій версії: усування вад і вдосконалення.
Перелік усіх змін: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Основні зміни в цій версії: Нова реалізація повноекранного режиму для редактора розширеного тексту та виправлення помилок.
Перелік усіх змін: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
此版本中的主要變動:臭蟲修復與改善。
完整的變更紀錄https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
此版本中的主要變動:格式化文字編輯器的全螢幕模式新實作與臭蟲修復。
完整的變更紀錄https://github.com/vector-im/element-android/releases

Binary file not shown.

View File

@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=db9c8211ed63f61f60292c69e80d89196f9eb36665e369e7f00ac4cc841c2219
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
distributionSha256Sum=312eb12875e1747e05c2f81a4789902d7e4ec5defbd1eefeaccc08acf096505d
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

12
gradlew vendored
View File

@@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,10 +80,10 @@ do
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
@@ -143,12 +143,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac

1
gradlew.bat vendored
View File

@@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

View File

@@ -2837,4 +2837,6 @@
<string name="attachment_type_selector_sticker">Adhesius</string>
<string name="attachment_type_selector_gallery">Galeria</string>
<string name="attachment_type_selector_text_formatting">Format de text</string>
<string name="a11y_voice_broadcast_fast_backward">Enrere 30 segons</string>
<string name="a11y_voice_broadcast_fast_forward">Avança 30 segons</string>
</resources>

View File

@@ -2789,7 +2789,7 @@
<string name="key_authenticity_not_guaranteed">Pravost této šifrované zprávy nelze v tomto zařízení zaručit.</string>
<string name="settings_security_incognito_keyboard_summary">Požadujte, aby klávesnice neaktualizovala žádné personalizované údaje, jako je historie psaní a slovník, na základě toho, co jste napsali v konverzacích. Upozorňujeme, že některé klávesnice nemusí toto nastavení respektovat.</string>
<string name="settings_security_incognito_keyboard_title">Inkognito klávesnice</string>
<string name="command_description_table_flip">Přidá znaky (╯°□°)╯︵ ┻━┻ před zprávy ve formátu obyčejného textu</string>
<string name="command_description_table_flip">Přidá znaky (╯°□°)╯︵ ┻━┻ před zprávy ve formátu prostého textu</string>
<string name="attachment_type_voice_broadcast">Hlasové vysílání</string>
<string name="command_description_devtools">Otevřít nástroje pro vývojáře</string>
<string name="room_settings_global_block_unverified_info_text">🔒 V nastavení zabezpečení jste povolili šifrování pouze do ověřených relací pro všechny místnosti.</string>
@@ -2824,8 +2824,8 @@
<string name="permissions_rationale_msg_notification">${app_name} potřebuje oprávnění k zobrazování oznámení. Oznámení mohou zobrazovat vaše zprávy, pozvánky atd.
\n
\nPro zobrazování oznámení povolte přístup na dalších vyskakovacích oknech.</string>
<string name="labs_enable_rich_text_editor_summary">Vyzkoušejte rozšířený textový editor (textový režim již brzy)</string>
<string name="labs_enable_rich_text_editor_title">Povolit rozšířený textový editor</string>
<string name="labs_enable_rich_text_editor_summary">Vyzkoušejte editor formátovaného textu (režim prostého textu již brzy)</string>
<string name="labs_enable_rich_text_editor_title">Povolit editor formátovaného textu</string>
<string name="qr_code_login_confirm_security_code_description">Ujistěte se, že znáte původ tohoto kódu. Propojením zařízení poskytnete někomu plný přístup ke svému účtu.</string>
<string name="qr_code_login_confirm_security_code">Potvrdit</string>
<string name="qr_code_login_try_again">Zkuste to znovu</string>
@@ -2868,7 +2868,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Druhé zařízení je již přihlášeno.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Při nastavování zabezpečeného zasílání zpráv se vyskytl problém se zabezpečením. Může být napadena jedna z následujících věcí: váš domovský server; vaše internetové připojení; vaše zařízení;</string>
<string name="qr_code_login_header_failed_other_description">Žádost se nezdařila.</string>
<string name="a11y_voice_broadcast_buffering">Ukládání do vyrovnávací paměti</string>
<string name="a11y_voice_broadcast_buffering">Ukládání do vyrovnávací paměti</string>
<string name="a11y_pause_voice_broadcast">Pozastavit hlasové vysílání</string>
<string name="a11y_play_voice_broadcast">Přehrát nebo obnovit hlasové vysílání</string>
<string name="a11y_stop_voice_broadcast_record">Ukončit záznam hlasového vysílání</string>
@@ -2899,4 +2899,29 @@
<string name="error_voice_broadcast_unauthorized_title">Nelze zahájit nové hlasové vysílání</string>
<string name="a11y_voice_broadcast_fast_backward">Přetočení o 30 sekund zpět</string>
<string name="a11y_voice_broadcast_fast_forward">Přetočení o 30 sekund dopředu</string>
<string name="device_manager_learn_more_sessions_verified_description">Ověřené relace jsou všude tam, kde tento účet používáte po zadání přístupové fráze nebo po potvrzení své totožnosti jinou ověřenou relací.
\n
\nTo znamená, že máte všechny klíče potřebné k odemknutí zašifrovaných zpráv a potvrzení ostatním uživatelům, že této relaci důvěřujete.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Odhlásit se z %1$d relace</item>
<item quantity="few">Odhlásit se ze %1$d relací</item>
<item quantity="other">Odhlásit se z %1$d relací</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Odhlásit se</string>
<string name="voice_broadcast_recording_time_left">zbývá %1$s</string>
<string name="message_reply_to_sender_created_poll">vytvořil hlasování.</string>
<string name="message_reply_to_sender_sent_sticker">poslal nálepku.</string>
<string name="message_reply_to_sender_sent_video">poslal video.</string>
<string name="message_reply_to_sender_sent_image">poslal obrázek.</string>
<string name="message_reply_to_sender_sent_voice_message">poslal hlasovou zprávu.</string>
<string name="message_reply_to_sender_sent_audio_file">poslal zvukový soubor.</string>
<string name="message_reply_to_sender_sent_file">odeslal soubor.</string>
<string name="message_reply_to_prefix">V odpovědi na</string>
<string name="device_manager_other_sessions_hide_ip_address">Skrýt IP adresu</string>
<string name="device_manager_other_sessions_show_ip_address">Zobrazit IP adresu</string>
<string name="quoting">Citace</string>
<string name="replying_to">Odpovídám na %s</string>
<string name="editing">Úpravy</string>
<string name="settings_enable_direct_share_summary">Zobrazit poslední chaty v nabídce sdílení systému</string>
<string name="settings_enable_direct_share_title">Povolit přímé sdílení</string>
</resources>

View File

@@ -2232,13 +2232,13 @@
<item quantity="other">%1$s weitere Optionen benötigt</item>
</plurals>
<string name="create_poll_empty_question_error">Frage darf nicht leer sein</string>
<string name="create_poll_button">ABSTIMMUNG ERSTELLEN</string>
<string name="create_poll_button">Umfrage erstellen</string>
<string name="create_poll_add_option">NEUE OPTION</string>
<string name="create_poll_options_hint">Option %1$d</string>
<string name="create_poll_options_title">Optionen hinzufügen</string>
<string name="create_poll_question_hint">Frage oder Thema</string>
<string name="create_poll_question_title">Abstimmungsthema oder Frage</string>
<string name="create_poll_title">Abstimmung erstellen</string>
<string name="create_poll_title">Umfrage erstellen</string>
<string name="attachment_type_poll">Umfrage</string>
<string name="open_discovery_settings">Auffindungseinstellungen öffnen</string>
<string name="shortcut_disabled_reason_sign_out">Sitzung abgemeldet!</string>
@@ -2306,21 +2306,21 @@
<string name="legals_identity_server_title">Richtlinie deines Identitäts-Servers</string>
<string name="legals_home_server_title">Richtlinie deines Heim-Servers</string>
<string name="legals_application_title">Richtlinie von ${app_name}</string>
<string name="tooltip_attachment_poll">Abstimmung erstellen</string>
<string name="tooltip_attachment_poll">Umfrage erstellen</string>
<string name="tooltip_attachment_contact">Kontakte öffnen</string>
<string name="tooltip_attachment_sticker">Sticker verschicken</string>
<string name="tooltip_attachment_file">Datei hochladen</string>
<string name="tooltip_attachment_gallery">Verschicke Fotos und Videos</string>
<string name="tooltip_attachment_photo">Kamera öffnen</string>
<string name="delete_poll_dialog_content">Willst du diese Abstimmung wirklich entfernen\? Du wirst sie nicht wiederherstellen können.</string>
<string name="delete_poll_dialog_title">Abstimmung entfernen</string>
<string name="poll_end_room_list_preview">Abstimmung beendet</string>
<string name="delete_poll_dialog_content">Willst du diese Umfrage wirklich entfernen\? Du wirst sie nicht wiederherstellen können.</string>
<string name="delete_poll_dialog_title">Umfrage entfernen</string>
<string name="poll_end_room_list_preview">Umfrage beendet</string>
<string name="poll_response_room_list_preview">Stimme abgegeben</string>
<string name="end_poll_confirmation_approve_button">Abstimmung beenden</string>
<string name="end_poll_confirmation_approve_button">Umfrage beenden</string>
<string name="end_poll_confirmation_description">Dies verhindert, dass andere Personen abstimmen können, und zeigt die Endergebnisse der Umfrage an.</string>
<string name="end_poll_confirmation_title">Diese Abstimmung beenden\?</string>
<string name="end_poll_confirmation_title">Diese Umfrage beenden\?</string>
<string name="a11y_poll_winner_option">Gewinneroption</string>
<string name="poll_end_action">Abstimmung beenden</string>
<string name="poll_end_action">Umfrage beenden</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Endgültiges Ergebnis basiert auf %1$d Stimme</item>
<item quantity="other">Endgültiges Ergebnis basiert auf %1$d Stimmen</item>
@@ -2333,11 +2333,11 @@
<string name="location_not_available_dialog_title">${app_name} konnte nicht auf deinen Standort zugreifen</string>
<string name="location_activity_title_preview">Standort</string>
<string name="closed_poll_option_description">Die Ergebnisse werden erst sichtbar, sobald du die Umfrage beendest</string>
<string name="closed_poll_option_title">Abgeschlossene Abstimmung</string>
<string name="closed_poll_option_title">Versteckte Umfrage</string>
<string name="open_poll_option_description">Abstimmende können die Ergebnisse nach Stimmabgabe sehen</string>
<string name="open_poll_option_title">Laufende Abstimmung</string>
<string name="poll_type_title">Abstimmungsart</string>
<string name="edit_poll_title">Abstimmung bearbeiten</string>
<string name="open_poll_option_title">Offene Umfrage</string>
<string name="poll_type_title">Umfragetyp</string>
<string name="edit_poll_title">Umfrage bearbeiten</string>
<string name="poll_no_votes_cast">Keine Stimmen abgegeben</string>
<string name="login_splash_create_account">Konto erstellen</string>
<string name="ftue_auth_carousel_workplace_title">Kommunikation für dein Team.</string>
@@ -2527,7 +2527,7 @@
<string name="ftue_auth_terms_title">Server-Richtlinien</string>
<string name="ftue_auth_email_verification_subtitle">Folge den Anweisungen, die an %s gesendet wurden</string>
<string name="ftue_auth_email_verification_title">E-Mail bestätigen</string>
<string name="poll_undisclosed_not_ended">Ergebnisse werden nach Abschluss der Abstimmung sichtbar sein</string>
<string name="poll_undisclosed_not_ended">Ergebnisse werden nach Abschluss der Umfrage sichtbar sein</string>
<string name="ftue_auth_reset_password_breaker_title">Prüfe deine E-Mails.</string>
<string name="ftue_auth_reset_password">Passwort zurücksetzen</string>
<string name="ftue_auth_new_password_subtitle">Gib mindestens 8 Zeichen ein.</string>
@@ -2815,7 +2815,7 @@
<string name="qr_code_login_header_failed_other_description">Die Anfrage ist fehlgeschlagen.</string>
<string name="a11y_play_voice_broadcast">Abspielen oder fortsetzen der Sprachübertragung</string>
<string name="a11y_resume_voice_broadcast_record">Fortsetzen der Sprachübertragung</string>
<string name="a11y_voice_broadcast_buffering">Puffere</string>
<string name="a11y_voice_broadcast_buffering">Puffere</string>
<string name="a11y_pause_voice_broadcast">Pausiere Sprachübertragung</string>
<string name="a11y_stop_voice_broadcast_record">Stoppe Aufzeichnung der Sprachübertragung</string>
<string name="a11y_pause_voice_broadcast_record">Pausiere Aufzeichnung der Sprachübertragung</string>
@@ -2843,4 +2843,28 @@
<string name="error_voice_broadcast_blocked_by_someone_else_message">Jemand anderes nimmt bereits eine Sprachübertragung auf. Warte auf das Ende der Übertragung, bevor du eine neue startest.</string>
<string name="a11y_voice_broadcast_fast_forward">30 Sekunden vorspulen</string>
<string name="a11y_voice_broadcast_fast_backward">30 Sekunden zurückspulen</string>
<string name="device_manager_learn_more_sessions_verified_description">Auf verifizierte Sitzungen kannst du überall mit deinem Konto zugreifen, wenn du deine Passphrase eingegeben oder Element mit einer anderen Sitzung verifiziert hast.
\n
\nDies bedeutet, dass du alle Schlüssel zum Entsperren deiner verschlüsselten Nachrichten hast und anderen bestätigst, dieser Sitzung zu vertrauen.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Von %1$d Sitzung abmelden</item>
<item quantity="other">Von %1$d Sitzungen abmelden</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Abmelden</string>
<string name="voice_broadcast_recording_time_left">%1$s übrig</string>
<string name="quoting">Zitieren</string>
<string name="editing">Bearbeiten</string>
<string name="message_reply_to_sender_created_poll">erstellte eine Umfrage.</string>
<string name="message_reply_to_sender_sent_sticker">sandte einen Sticker.</string>
<string name="message_reply_to_sender_sent_video">sandte ein Video.</string>
<string name="message_reply_to_sender_sent_image">sandte ein Bild.</string>
<string name="message_reply_to_sender_sent_voice_message">sandte eine Sprachnachricht.</string>
<string name="message_reply_to_sender_sent_audio_file">sandte eine Audiodatei.</string>
<string name="message_reply_to_sender_sent_file">sandte eine Datei.</string>
<string name="message_reply_to_prefix">Als Antwort auf</string>
<string name="replying_to">%s antworten</string>
<string name="device_manager_other_sessions_hide_ip_address">IP-Adresse ausblenden</string>
<string name="device_manager_other_sessions_show_ip_address">IP-Adresse anzeigen</string>
<string name="settings_enable_direct_share_summary">Kürzliche Unterhaltungen im Teilen-Menü des Systems anzeigen</string>
<string name="settings_enable_direct_share_title">Direktes Teilen aktivieren</string>
</resources>

View File

@@ -2649,4 +2649,10 @@
<string name="create_room">Crear sala</string>
<string name="start_chat">Iniciar conversación</string>
<string name="all_chats">Todas las conversaciones</string>
</resources>
<string name="action_select_all">Seleccionar todo</string>
<string name="action_got_it">De acuerdo</string>
<plurals name="x_selected">
<item quantity="one">%1$d seleccionado</item>
<item quantity="other">%1$d seleccionados</item>
</plurals>
</resources>

View File

@@ -2805,7 +2805,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Teine seade on juba võrku loginud.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Turvalise sõnumivahetuse ülesseadmisel tekkis turvaviga. Üks kolmest võib olla sattunud vale osapoole kontrolli alla: sinu koduserver, sinu internetiühendus või sinu seade;</string>
<string name="qr_code_login_header_failed_other_description">Päring ei õnnestunud.</string>
<string name="a11y_voice_broadcast_buffering">Andmed on puhverdamisel</string>
<string name="a11y_voice_broadcast_buffering">Andmed on puhverdamisel</string>
<string name="a11y_play_voice_broadcast">Alusta või jätka ringhäälingukõne esitamist</string>
<string name="a11y_stop_voice_broadcast_record">Lõpeta ringhäälingukõne salvestamine</string>
<string name="a11y_pause_voice_broadcast_record">Peata ringhäälingukõne salvestamine</string>
@@ -2835,4 +2835,28 @@
<string name="error_voice_broadcast_unauthorized_title">Uue ringhäälingukõne alustamine pole võimalik</string>
<string name="a11y_voice_broadcast_fast_backward">Keri tagasi 30 sekundi kaupa</string>
<string name="a11y_voice_broadcast_fast_forward">Keri edasi 30 sekundi kaupa</string>
<string name="device_manager_learn_more_sessions_verified_description">Verifitseeritud sessioonideks loetakse Element\'is või mõnes muus Matrix\'i rakenduses selliseid sessioone, kus sa kas oled sisestanud oma salafraasi või tuvastanud end mõne teise oma verifitseeritud sessiooni abil.
\n
\nSee tähendab, et selles sessioonis on ka kõik vajalikud võtmed krüptitud sõnumite lugemiseks ja teistele kasutajatele kinnitamiseks, et sa usaldad seda sessiooni.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Logi välja %1$d\'st sessioonist</item>
<item quantity="other">Logi välja %1$d\'st sessioonist</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Logi välja</string>
<string name="voice_broadcast_recording_time_left">jäänud %1$s</string>
<string name="editing">Muudan sõnumit</string>
<string name="replying_to">Vastan sõnumile %s</string>
<string name="quoting">Tsiteerides</string>
<string name="device_manager_other_sessions_show_ip_address">Näita IP-aadressi</string>
<string name="device_manager_other_sessions_hide_ip_address">Peida IP-aadress</string>
<string name="message_reply_to_prefix">Vastuseks kasutajale</string>
<string name="message_reply_to_sender_sent_file">saatis faili.</string>
<string name="message_reply_to_sender_sent_audio_file">saatis helifaili.</string>
<string name="message_reply_to_sender_sent_voice_message">saatis häälsõnumi.</string>
<string name="message_reply_to_sender_sent_image">saatis pildi.</string>
<string name="message_reply_to_sender_sent_video">saatis video.</string>
<string name="message_reply_to_sender_sent_sticker">saatis kleepsu.</string>
<string name="message_reply_to_sender_created_poll">koostas küsitluse.</string>
<string name="settings_enable_direct_share_title">Kasuta otsejagamist</string>
<string name="settings_enable_direct_share_summary">Näita viimaseid vestlusi süsteemses jagamisvaates</string>
</resources>

View File

@@ -943,7 +943,7 @@
\n
\nپیامهایتان با قفل‌هایی امن شده‌اند و فقط شما و گیرندگان دیگر، کلیدهای یکتا را برای قفل‌گشاییشان دارید.</string>
<string name="room_profile_section_security">امنیت</string>
<string name="room_profile_section_security_learn_more">بثیش‌تر بدانید</string>
<string name="room_profile_section_security_learn_more">بیش‌تر بدانید</string>
<string name="room_profile_section_more">بیش‌تر</string>
<string name="room_profile_section_admin">کنش‌های مدیر</string>
<string name="room_profile_section_more_settings">تنظمیات اتاق</string>
@@ -2783,7 +2783,7 @@
<string name="attachment_type_selector_poll">نظرسنجی‌ها</string>
<string name="attachment_type_selector_file">پیوست‌ها</string>
<string name="attachment_type_selector_sticker">برچسب‌ها</string>
<string name="a11y_voice_broadcast_buffering">میانگیری</string>
<string name="a11y_voice_broadcast_buffering">میانگیری</string>
<string name="voice_broadcast_live">زنده</string>
<string name="qr_code_login_confirm_security_code">تأیید</string>
<string name="three">۳</string>
@@ -2825,4 +2825,28 @@
<string name="a11y_voice_broadcast_fast_forward">۳۰ ثانیه پیش‌روی</string>
<string name="a11y_voice_broadcast_fast_backward">۳۰ ثانیه پس‌روی</string>
<string name="attachment_type_selector_text_formatting">قالب‌بندی متن</string>
<string name="device_manager_other_sessions_multi_signout_selection">خروج</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">خروج از ۱ نشست</item>
<item quantity="other">خروج از %1$d نشست</item>
</plurals>
<string name="voice_broadcast_recording_time_left">%1$s مانده</string>
<string name="message_reply_to_sender_sent_voice_message">پیام صوتی‌ای فرستاد.</string>
<string name="message_reply_to_sender_sent_audio_file">پروندهٔ صوتی‌ای فرستاد.</string>
<string name="message_reply_to_sender_created_poll">نظرسنجی‌ای ایجاد کرد.</string>
<string name="message_reply_to_sender_sent_sticker">عکس‌برگردانی فرستاد.</string>
<string name="message_reply_to_sender_sent_video">ویدیویی فرستاد.</string>
<string name="message_reply_to_sender_sent_image">تصویری فرستاد.</string>
<string name="message_reply_to_sender_sent_file">پرونده‌ای فرستاد.</string>
<string name="message_reply_to_prefix">در پاسخ به</string>
<string name="device_manager_other_sessions_hide_ip_address">نهفتن نشانی آی‌پی</string>
<string name="device_manager_other_sessions_show_ip_address">نمایش نشانی آی‌پی</string>
<string name="quoting">نقل کردن</string>
<string name="replying_to">پاسخ دادن به %s</string>
<string name="editing">ویرایش کردن</string>
<string name="device_manager_sessions_sign_in_with_qr_code_description">می‌توانید با یک رمز QR از این افزاره برای ورود به افزاره‌ای همراه یا روی وب استفاده کنید. دو راه برای این کار وجود دارد:</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">مشکلی امنیتی در برپایی پیام‌رسانی امن وجود داشت. ممکن است یکی از موارد زیر دستکاری شده باشند: کارساز خانیگیتان؛ اتّصال اینترنتیتان؛ افزاره(های)تان؛</string>
<string name="qr_code_login_confirm_security_code_description">لطفاً مطمئن شوید که مبدأ این کد را می‌دانید. با پیوند دادن افزاره‌ها، دسترسی کامل را به حسابتان می‌دهید.</string>
<string name="settings_enable_direct_share_summary">نمایش گپ‌های اخیر در فهرست هم رسانی سامانه</string>
<string name="settings_enable_direct_share_title">به کار انداختن هم‌رسانی مستقیم</string>
</resources>

View File

@@ -2814,7 +2814,7 @@
<string name="device_manager_sessions_sign_in_with_qr_code_description">Vous pouvez utiliser cet appareil pour connecter un appareil mobile ou un client web avec un QR code. Il y a deux façons de le faire :</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Se connecter avec un QR code</string>
<string name="login_scan_qr_code">Scanner le QR code</string>
<string name="a11y_voice_broadcast_buffering">Mise en mémoire tampon</string>
<string name="a11y_voice_broadcast_buffering">Mise en mémoire tampon</string>
<string name="a11y_pause_voice_broadcast">Mettre en pause la diffusion audio</string>
<string name="a11y_play_voice_broadcast">Lire ou continuer la diffusion audio</string>
<string name="a11y_stop_voice_broadcast_record">Arrêter lenregistrement de la diffusion audio</string>
@@ -2844,4 +2844,28 @@
<string name="error_voice_broadcast_unauthorized_title">Impossible de commencer une nouvelle diffusion audio</string>
<string name="a11y_voice_broadcast_fast_forward">Avance rapide de 30 secondes</string>
<string name="a11y_voice_broadcast_fast_backward">Retour rapide de 30 secondes</string>
<string name="device_manager_learn_more_sessions_verified_description">Les sessions vérifiées sont toutes celles qui utilisent ce compte après avoir saisie la phrase de sécurité ou confirmé votre identité à laide dune autre session vérifiée.
\n
\nCela veut dire quelles disposent de toutes les clés nécessaires pour lire les messages chiffrés, et confirment aux autres utilisateurs que vous faites confiance à cette session.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Déconnecter %1$d session</item>
<item quantity="other">Déconnecter %1$d sessions</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Déconnecter</string>
<string name="voice_broadcast_recording_time_left">%1$s restant</string>
<string name="message_reply_to_sender_created_poll">a créé un sondage.</string>
<string name="message_reply_to_sender_sent_sticker">a envoyé un autocollant.</string>
<string name="message_reply_to_sender_sent_video">a envoyé une vidéo.</string>
<string name="message_reply_to_sender_sent_image">a envoyé une image.</string>
<string name="message_reply_to_sender_sent_voice_message">envoyer un message vocal.</string>
<string name="message_reply_to_sender_sent_audio_file">a envoyé un fichier audio.</string>
<string name="message_reply_to_sender_sent_file">a envoyé un fichier.</string>
<string name="message_reply_to_prefix">En réponse à</string>
<string name="device_manager_other_sessions_hide_ip_address">Masquer ladresse IP</string>
<string name="device_manager_other_sessions_show_ip_address">Afficher ladresse IP</string>
<string name="quoting">Citation de</string>
<string name="replying_to">Réponse à %s</string>
<string name="editing">Modification</string>
<string name="settings_enable_direct_share_summary">Affiche les conversations récentes dans le menu de partage du système</string>
<string name="settings_enable_direct_share_title">Activer le partage direct</string>
</resources>

View File

@@ -2836,4 +2836,34 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
<item quantity="one">%1$d kiválasztva</item>
<item quantity="other">%1$d kiválasztva</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Teljes képernyő váltás</string>
<string name="device_manager_learn_more_sessions_verified_description">Mindenhol ellenőrzött munkamenetek vannak ahol ezt a fiókot használva megadtad a jelmondatodat vagy egy másik már hitelesített munkamenetből megerősítetted az identitásodat.
\n
\nEz azt jelenti, hogy a titkosított üzenetek visszafejtéséhez rendelkezel a kulcsokkal és megerősíted a többiek felé, hogy megbízol a munkamenetben.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Kijelentkezés %1$d munkamenetből</item>
<item quantity="other">Kijelentkezés %1$d munkamenetből</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Kijelentkezés</string>
<string name="attachment_type_selector_text_formatting">Szöveg formázás</string>
<string name="error_voice_broadcast_already_in_progress_message">Egy hang közvetítés már folyamatban van. Először fejezze be a jelenlegi közvetítést egy új indításához.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Valaki már elindított egy hang közvetítést. Várd meg a közvetítés végét az új indításához.</string>
<string name="error_voice_broadcast_permission_denied_message">Nincs jogosultságod hang közvetítést indítani ebben a szobában. Vedd fel a kapcsolatot a szoba adminisztrátorával a szükséges jogosultság megszerzéséhez.</string>
<string name="error_voice_broadcast_unauthorized_title">Az új hang közvetítés nem indítható el</string>
<string name="a11y_voice_broadcast_fast_forward">30 másodperccel előre</string>
<string name="a11y_voice_broadcast_fast_backward">30 másodperccel vissza</string>
<string name="voice_broadcast_recording_time_left">visszavan: %1$s</string>
<string name="message_reply_to_sender_created_poll">szavazás elkészítve.</string>
<string name="message_reply_to_sender_sent_sticker">matrica elküldve.</string>
<string name="message_reply_to_sender_sent_video">videót küldött.</string>
<string name="message_reply_to_sender_sent_image">kép elküldve.</string>
<string name="message_reply_to_sender_sent_voice_message">hang üzenet elküldve.</string>
<string name="message_reply_to_sender_sent_audio_file">hangfájl elküldve.</string>
<string name="message_reply_to_sender_sent_file">fájl elküldve.</string>
<string name="message_reply_to_prefix">Válaszolva erre</string>
<string name="device_manager_other_sessions_hide_ip_address">IP címek elrejtése</string>
<string name="device_manager_other_sessions_show_ip_address">IP címek megjelenítése</string>
<string name="quoting">Idézet</string>
<string name="replying_to">Válasz erre: %s</string>
<string name="editing">Szerkesztés</string>
</resources>

View File

@@ -2762,7 +2762,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="qr_code_login_header_failed_other_description">Permintaan gagal.</string>
<string name="labs_enable_voice_broadcast_summary">Memungkinkan untuk merekam dan mengirim siaran suara dalam linimasa ruangan.</string>
<string name="labs_enable_voice_broadcast_title">Aktifkan siaran suara (dalam pengembangan aktif)</string>
<string name="a11y_voice_broadcast_buffering">Memuat</string>
<string name="a11y_voice_broadcast_buffering">Memuat</string>
<string name="a11y_pause_voice_broadcast">Jeda siaran suara</string>
<string name="a11y_play_voice_broadcast">Mainkan atau lanjutkan siaran suara</string>
<string name="a11y_stop_voice_broadcast_record">Hentikan rekaman siaran suara</string>
@@ -2791,4 +2791,27 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="error_voice_broadcast_unauthorized_title">Tidak dapat memulai siaran suara baru</string>
<string name="a11y_voice_broadcast_fast_forward">Maju cepat 30 detik</string>
<string name="a11y_voice_broadcast_fast_backward">Mundur cepat 30 detik</string>
<string name="device_manager_learn_more_sessions_verified_description">Sesi terverifikasi ada di mana pun Anda menggunakan Element setelah memasukkan frasa sandi atau mengonfirmasi identitas Anda dengan sesi terverifikasi lainnya.
\n
\nIni berarti Anda memiliki semua kunci yang diperlukan untuk membuka kunci pesan terenkripsi dan mengonfirmasi kepada pengguna lain bahwa Anda memercayai sesi ini.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="other">Keluarkan %1$d sesi</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Keluarkan</string>
<string name="voice_broadcast_recording_time_left">%1$s tersisa</string>
<string name="message_reply_to_sender_created_poll">membuat pemungutan suara.</string>
<string name="message_reply_to_sender_sent_sticker">mengirim stiker.</string>
<string name="message_reply_to_sender_sent_video">mengirim video.</string>
<string name="message_reply_to_sender_sent_image">mengirim gambar.</string>
<string name="message_reply_to_sender_sent_file">mengirim file.</string>
<string name="message_reply_to_sender_sent_audio_file">mengirim file audio.</string>
<string name="message_reply_to_sender_sent_voice_message">mengirim pesan suara.</string>
<string name="message_reply_to_prefix">Membalas ke</string>
<string name="device_manager_other_sessions_hide_ip_address">Sembunyikan alamat IP</string>
<string name="quoting">Mengutip</string>
<string name="editing">Mengedit</string>
<string name="device_manager_other_sessions_show_ip_address">Tampilkan alamat IP</string>
<string name="replying_to">Membalas ke %s</string>
<string name="settings_enable_direct_share_summary">Tampilkan obrolan terkini dalam menu pembagian sistem</string>
<string name="settings_enable_direct_share_title">Aktifkan pembagian langsung</string>
</resources>

View File

@@ -2805,7 +2805,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">L\'altro dispositivo ha già fatto l\'accesso.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Si è verificato un problema di sicurezza configurando i messaggi sicuri. Una delle seguenti cose potrebbe essere compromessa: il tuo homeserver; la/e connessione/i internet; il/i dispositivo/i;</string>
<string name="qr_code_login_header_failed_other_description">La richiesta è fallita.</string>
<string name="a11y_voice_broadcast_buffering">Buffering</string>
<string name="a11y_voice_broadcast_buffering">Buffer</string>
<string name="a11y_pause_voice_broadcast">Sospendi trasmissione vocale</string>
<string name="a11y_play_voice_broadcast">Avvia o riprendi trasmissione vocale</string>
<string name="a11y_stop_voice_broadcast_record">Ferma registrazione trasmissione vocale</string>
@@ -2827,4 +2827,36 @@
<item quantity="one">%1$d selezionato</item>
<item quantity="other">%1$d selezionati</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Attiva/disattiva schermo intero</string>
<string name="device_manager_learn_more_sessions_verified_description">Le sessioni verificate sono ovunque usi questo account dopo l\'inserimento della password o la conferma della tua identità con un\'altra sessione verificata.
\n
\nCiò significa che hai tutte le chiavi necessarie per sbloccare i tuoi messaggi cifrati e per confermare agli altri utenti che ti fidi di questa sessione.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Disconnetti da %1$d sessione</item>
<item quantity="other">Disconnetti da %1$d sessioni</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Disconnetti</string>
<string name="attachment_type_selector_text_formatting">Formattazione testo</string>
<string name="error_voice_broadcast_already_in_progress_message">Stai già registrando una trasmissione vocale. Termina quella in corso per iniziarne una nuova.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Qualcun altro sta già registrando una trasmissione vocale. Aspetta che finisca prima di iniziarne una nuova.</string>
<string name="error_voice_broadcast_permission_denied_message">Non hai l\'autorizzazione necessaria per iniziare una trasmissione vocale in questa stanza. Contatta un amministratore della stanza per aggiornare le tue autorizzazioni.</string>
<string name="error_voice_broadcast_unauthorized_title">Impossibile iniziare una nuova trasmissione vocale</string>
<string name="a11y_voice_broadcast_fast_forward">Manda avanti di 30 secondi</string>
<string name="a11y_voice_broadcast_fast_backward">Manda indietro di 30 secondi</string>
<string name="voice_broadcast_recording_time_left">%1$s rimasti</string>
<string name="message_reply_to_sender_created_poll">creato un sondaggio.</string>
<string name="message_reply_to_sender_sent_sticker">inviato un adesivo.</string>
<string name="message_reply_to_sender_sent_video">inviato un video.</string>
<string name="message_reply_to_sender_sent_image">inviata un\'immagine.</string>
<string name="message_reply_to_sender_sent_voice_message">inviato un messaggio vocale.</string>
<string name="message_reply_to_sender_sent_audio_file">inviato un file audio.</string>
<string name="message_reply_to_sender_sent_file">inviato un file.</string>
<string name="message_reply_to_prefix">In risposta a</string>
<string name="device_manager_other_sessions_hide_ip_address">Nascondi indirizzo IP</string>
<string name="device_manager_other_sessions_show_ip_address">Mostra indirizzo IP</string>
<string name="quoting">Citazione</string>
<string name="replying_to">Risposta a %s</string>
<string name="editing">Modifica</string>
<string name="settings_enable_direct_share_summary">Mostra chat recenti nel menu di condivisione di sistema</string>
<string name="settings_enable_direct_share_title">Attiva condivisione diretta</string>
</resources>

View File

@@ -2715,7 +2715,7 @@
<string name="home_layout_preferences">Preferencje interfejsu</string>
<string name="explore_rooms">Przeglądaj pokoje</string>
<string name="create_room">Utwórz pokój</string>
<string name="start_chat">Zacznij rozmawiać</string>
<string name="start_chat">Rozpocznij czat</string>
<string name="all_chats">Wszystkie rozmowy</string>
<string name="device_manager_other_sessions_description_unverified">Nie zweryfikowano · Ostatnia aktywność %1$s</string>
<string name="device_manager_other_sessions_description_verified">Zweryfikowano · Ostatnia aktywność %1$s</string>
@@ -2743,4 +2743,4 @@
<string name="home_empty_space_no_rooms_title">%s
\nwygląda nieco pusto.</string>
<string name="space_list_empty_title">Brak przestrzeni.</string>
</resources>
</resources>

View File

@@ -2723,7 +2723,7 @@
<string name="device_manager_learn_more_sessions_unverified_title">Sessões não-verificadas</string>
<string name="device_manager_learn_more_sessions_inactive">Sessões inativas são sessões que você não tem usado em algum tempo, mas elas continuam a receber chaves de encriptação.
\n
\nRemover sessões inativas melhora segurança e performance, e torna-o mais fácil para você identificar se uma nova sessão é suspeita.</string>
\nRemover sessões inativas melhora segurança e performance, e torna mais fácil para você identificar se uma nova sessão é suspeita.</string>
<string name="device_manager_learn_more_sessions_inactive_title">Sessões inativas</string>
<string name="device_manager_session_rename_warning">Por favor esteja ciente que nomes de sessões também são visíveis a pessoas com quem você se comunica.</string>
<string name="device_manager_session_rename_description">Nomes de sessões personalizadas podem ajudar você a reconhecer seus dispositivos mais facilmente.</string>
@@ -2844,4 +2844,26 @@
<string name="error_voice_broadcast_unauthorized_title">Não dá pra começar um novo broadcast de voz</string>
<string name="a11y_voice_broadcast_fast_forward">Avançar rápido 30 segundos</string>
<string name="a11y_voice_broadcast_fast_backward">Retroceder 30 segundos</string>
<string name="device_manager_learn_more_sessions_verified_description">Sessões verificadas são onde quer que você esteja usando esta conta depois de entrar sua frasepasse ou confirmar sua identidade com uma outra sessão verificada.
\n
\nIsto significa que você tem todas as chaves necessárias para destrancar suas mensagens encriptadas e confirmar a outras(os) usuárias(os) que você confia nesta sessão.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Fazer signout de %1$d sessão</item>
<item quantity="other">Fazer signout de %1$d sessões</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Fazer signout</string>
<string name="voice_broadcast_recording_time_left">%1$s restando</string>
<string name="message_reply_to_sender_created_poll">criou uma sondagem.</string>
<string name="message_reply_to_sender_sent_sticker">enviou um sticker.</string>
<string name="message_reply_to_sender_sent_video">enviou um vídeo.</string>
<string name="message_reply_to_sender_sent_image">enviou uma imagem.</string>
<string name="message_reply_to_sender_sent_voice_message">enviou uma mensagem de voz.</string>
<string name="message_reply_to_sender_sent_audio_file">enviou um arquivo de áudio.</string>
<string name="message_reply_to_sender_sent_file">enviou um arquivo.</string>
<string name="message_reply_to_prefix">Em resposta a</string>
<string name="device_manager_other_sessions_hide_ip_address">Esconder endereço de IP</string>
<string name="device_manager_other_sessions_show_ip_address">Mostrar endereço de IP</string>
<string name="quoting">Citando</string>
<string name="replying_to">Respondendo a %s</string>
<string name="editing">Editando</string>
</resources>

View File

@@ -930,7 +930,7 @@
<string name="settings_security_and_privacy">Безопасность</string>
<string name="settings_push_rules">Правила push-уведомлений</string>
<string name="push_gateway_item_app_id">ID приложения:</string>
<string name="push_gateway_item_push_key">push_key:</string>
<string name="push_gateway_item_push_key">Ключ Push:</string>
<string name="push_gateway_item_app_display_name">Отображаемое название приложения:</string>
<string name="push_gateway_item_device_name">Отображаемое название сессии:</string>
<string name="push_gateway_item_url">Url:</string>
@@ -1000,10 +1000,10 @@
<string name="settings_discovery_bad_identity_server">Не удалось подключиться к серверу обнаружения</string>
<string name="settings_discovery_please_enter_server">Пожалуйста, введите URL сервера обнаружения</string>
<string name="settings_discovery_no_terms_title">Сервер обнаружения не имеет условий использования</string>
<string name="settings_discovery_no_mails">Параметры обнаружения появятся после добавления электронной почты.</string>
<string name="settings_discovery_no_mails">Параметры обнаружения появятся после добавления адреса электронной почты.</string>
<string name="settings_discovery_no_msisdn">Параметры поиска появятся после добавления номера телефона.</string>
<string name="settings_discovery_disconnect_identity_server_info">Отключение от сервера обнаружения будет означать, что другие пользователи не смогут обнаружить вас, и вы не сможете приглашать других по электронной почте или по телефону.</string>
<string name="settings_discovery_confirm_mail">Мы отправили вам электронное письмо с подтверждением на %s, проверьте вашу электронную почту и нажмите на ссылку для подтверждения</string>
<string name="settings_discovery_confirm_mail">Мы отправили вам электронное письмо на %s, проверьте вашу электронную почту и нажмите на ссылку для подтверждения</string>
<string name="settings_discovery_no_terms">Выбранный сервер обнаружения не имеет условий использования. Продолжайте, только если вы доверяете его владельцу</string>
<string name="settings_text_message_sent">Текстовое сообщение отправлено %s. Введите код проверки, который он содержит.</string>
<string name="settings_discovery_disconnect_with_bound_pid">В настоящее время вы делитесь адресами электронной почты или телефонными номерами на сервере обнаружения %1$s. Вам нужно повторно подключиться к %2$s, чтобы прекратить делиться ими.</string>
@@ -1102,7 +1102,7 @@
<string name="login_reset_password_warning_title">Предупреждение!</string>
<string name="login_reset_password_warning_content">Смена пароля приведёт к сбросу всех сквозных ключей шифрования во всех ваших сессиях, что сделает зашифрованную историю разговоров нечитаемой. Настройте резервное копирование ключей или экспортируйте ключи от комнаты из другой сессии, прежде чем сбрасывать пароль.</string>
<string name="login_reset_password_warning_submit">Продолжить</string>
<string name="login_reset_password_error_not_found">Данный электронный ящик не связан ни с одним аккаунтом</string>
<string name="login_reset_password_error_not_found">Данный адрес электронной почты не связан ни с одним аккаунтом</string>
<string name="login_reset_password_mail_confirmation_title">Проверьте свою почту</string>
<string name="login_reset_password_mail_confirmation_notice">Письмо с подтверждением было отправлено на %1$s.</string>
<string name="login_reset_password_mail_confirmation_notice_2">Нажмите на ссылку, чтобы подтвердить свой новый пароль. Как только вы перейдете по ссылке нажмите ниже.</string>
@@ -1241,7 +1241,7 @@
<string name="notification_ticker_text_group">%1$s: %2$s %3$s</string>
<string name="settings_show_redacted">Удалённые сообщения</string>
<string name="settings_show_redacted_summary">Показывать заглушку на месте удалённых сообщений</string>
<string name="settings_discovery_confirm_mail_not_clicked">Мы отправили письмо для подтверждения на %s, проверьте почту и нажмите на ссылку для подтверждения</string>
<string name="settings_discovery_confirm_mail_not_clicked">Мы отправили письмо на %s, пожалуйста проверьте почту и нажмите на ссылку для подтверждения</string>
<string name="settings_text_message_sent_wrong_code">Код подтверждения неверный.</string>
<string name="error_terms_not_accepted">Попробуйте снова после принятия условий обслуживания на вашем домашнем сервере.</string>
<string name="error_network_timeout">Похоже, сервер долгое время не отвечает, что может быть вызвано плохим соединением или ошибкой на сервере. Попробуйте снова через некоторое время.</string>
@@ -1351,7 +1351,7 @@
<string name="login_server_url_form_common_notice">Введите адрес сервера, который вы хотите использовать</string>
<string name="login_reset_password_notice">На ваш почтовый ящик будет отправлено письмо для подтверждения установки нового пароля.</string>
<string name="login_reset_password_mail_confirmation_submit">Я подтвердил свою электронную почту</string>
<string name="login_set_email_notice">Установите адрес электронной почты для восстановления вашей учетной записи. Позже вы можете дополнительно разрешить людям, которых вы знаете, обнаружить вас по электронной почте.</string>
<string name="login_set_email_notice">Укажите адрес электронной почты для восстановления вашей учетной записи. Потом вы сможете, при желании, разрешить людям, которых вы знаете, обнаружить вас по адресу электронной почты.</string>
<string name="login_validation_code_is_not_correct">Введенный код неверен. Пожалуйста, проверьте.</string>
<string name="login_connect_using_matrix_id_submit">Войти с Matrix ID</string>
<string name="login_signin_matrix_id_title">Войти с Matrix ID</string>
@@ -1482,7 +1482,7 @@
<string name="not_trusted">Незаверенная</string>
<string name="verification_profile_device_verified_because">Эта сессия является доверенной для безопасного обмена сообщениями, так как %1$s (%2$s) проверил(а) его:</string>
<string name="verification_profile_device_new_signing">%1$s (%2$s) вошел(ла), используя новую сессию:</string>
<string name="verification_profile_device_untrust_info">Пока этот пользователь не доверяет этой сессии, сообщения, отправленные в обе стороны, помечаются предупреждениями. Кроме того, вы можете подтвердить сессию вручную.</string>
<string name="verification_profile_device_untrust_info">Пока этот пользователь не доверяет этой сессии, сообщения, отправленные в обе стороны, помечаются предупреждениями. Вы также можете подтвердить эту сессию вручную.</string>
<string name="initialize_cross_signing">Начать перекрестную подпись</string>
<string name="reset_cross_signing">Сбросить ключи</string>
<string name="qr_code_scanned_by_other_notice">Почти готово! Показывает ли %s галочку\?</string>
@@ -1606,7 +1606,7 @@
<string name="identity_server_error_outdated_home_server">Эта операция невозможна. Домашний сервер устарел.</string>
<string name="identity_server_error_no_identity_server_configured">Пожалуйста, настройте сначала сервер идентификации.</string>
<string name="identity_server_error_terms_not_signed">Пожалуйста, примите сначала условия сервера идентификации в настройках.</string>
<string name="identity_server_error_bulk_sha256_not_supported">Для вашей приватности, ${app_name} поддерживает отправку адреса электронной почты и номера телефона только в хэшированном виде.</string>
<string name="identity_server_error_bulk_sha256_not_supported">Для вашей приватности, ${app_name} поддерживает отправку адреса электронной почты и номеров телефонов только в хэшированном виде.</string>
<string name="identity_server_error_binding_error">Привязка не удалась.</string>
<string name="identity_server_error_no_current_binding_error">Текущая взаимосвязь с этим идентификатором отсутствует.</string>
<string name="identity_server_set_default_notice">Ваш домашний сервер (%1$s) предлагает использовать %2$s для вашего сервера обнаружения</string>
@@ -1793,7 +1793,7 @@
<string name="attachment_type_dialog_title">Добавить изображение из</string>
<string name="create_room_topic_hint">Тема</string>
<string name="create_room_name_section">Название комнаты</string>
<string name="settings_discovery_consent_notice_on">Вы дали свое согласие на отправку электронных писем и телефонных номеров на этот сервер обнаружения для обнаружения других пользователей из ваших контактов.</string>
<string name="settings_discovery_consent_notice_on">Вы дали свое согласие на отправку адресов электронных почт и телефонных номеров на этот сервер идентификации для обнаружения других пользователей из ваших контактов.</string>
<string name="add_by_qr_code">Добавить по QR-коду</string>
<string name="permissions_denied_add_contact">Разрешить доступ к вашим контактам.</string>
<string name="permissions_denied_qr_code">Чтобы отсканировать QR-код, вам нужно разрешить доступ к камере.</string>
@@ -2396,7 +2396,7 @@
<string name="attachment_type_location">Местоположение</string>
<string name="identity_server_consent_dialog_content_question">Вы согласны отправить эту информацию\?</string>
<string name="identity_server_consent_dialog_content_3">Чтобы обнаружить существующие контакты, необходимо отправить контактную информацию (электронную почту и номера телефонов) на сервер обнаружения. Мы хешируем ваши данные перед отправкой для обеспечения конфиденциальности.</string>
<string name="identity_server_consent_dialog_title_2">Отправить электронные адреса и номера телефонов %s</string>
<string name="identity_server_consent_dialog_title_2">Отправить адреса электронных почт и номера телефонов %s</string>
<string name="settings_discovery_consent_notice_off_2">Ваши контакты приватны. Чтобы обнаружить пользователей из ваших контактов, нам необходимо ваше разрешение на отправку контактной информации на ваш сервер обнаружения.</string>
<string name="preference_system_settings">Системные настройки</string>
<string name="preference_versions">Версии</string>
@@ -2805,4 +2805,162 @@
<string name="attachment_type_selector_location">Местоположение</string>
<string name="attachment_type_selector_camera">Камера</string>
<string name="attachment_type_selector_contact">Контакт</string>
<string name="settings_troubleshoot_test_system_settings_permission_failed">${app_name} нуждается в разрешении для отображения оповещений.
\nПожалуйста, дайте разрешение.</string>
<plurals name="search_space_multiple_parents">
<item quantity="one">%1$s и %2$d другой</item>
<item quantity="few">%1$s и %2$d другие</item>
<item quantity="many">%1$s и %2$d других</item>
<item quantity="other">%1$s и %2$d других</item>
</plurals>
<string name="permissions_rationale_msg_notification">${app_name} нуждается в резрешении для отображения оповещений. Оповещения могут показывать ваши сообщения, приглашения и тому подобное.
\n
\nПожалуйста разрешите доступ при следующем всплывающем сообщении, чтобы иметь возможность видеть оповещения.</string>
<string name="invites_empty_message">Здесь будут появляться новые запросы и приглашения.</string>
<string name="invites_title">Приглашения</string>
<string name="labs_enable_rich_text_editor_summary">Попробуйте расширенный текстовый редактор (режим набора обычного текста скоро появится)</string>
<string name="labs_enable_deferred_dm_summary">Создавать личные сообщения только при отправке первого сообщения</string>
<string name="labs_enable_deferred_dm_title">Включить отложенные личные сообщения</string>
<string name="action_deselect_all">Отменить выбор всего</string>
<string name="action_select_all">Выбрать всё</string>
<string name="a11y_collapse_space_children">Свернуть дочерние элементы %s</string>
<string name="a11y_expand_space_children">Развернуть дочерние элементы %s</string>
<plurals name="x_selected">
<item quantity="one">Выбрано %1$d</item>
<item quantity="few">Выбрано %1$d</item>
<item quantity="many">Выбрано %1$d</item>
<item quantity="other">Выбрано %1$d</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Войти в полноэкранный режим</string>
<string name="rich_text_editor_format_underline">Применить форматирование подчёркиванием</string>
<string name="rich_text_editor_format_strikethrough">Применить форматирование перечёркиванием</string>
<string name="rich_text_editor_format_italic">Применить форматирование курсивом</string>
<string name="rich_text_editor_format_bold">Применить форматирование жирным</string>
<string name="qr_code_login_confirm_security_code_description">Пожалуйста удостоверьтесь в том, что вы знаете откуда этот код. При соединении устройств, вы даёте кому-то полный доступ к вашей учётной записи.</string>
<string name="qr_code_login_confirm_security_code">Подтвердить</string>
<string name="qr_code_login_try_again">Попробовать снова</string>
<string name="qr_code_login_status_no_match">Не сходится\?</string>
<string name="qr_code_login_signing_in">Вход</string>
<string name="qr_code_login_connecting_to_device">Соединение с устройством</string>
<string name="qr_code_login_scan_qr_code_button">Сканировать QR-код</string>
<string name="qr_code_login_signing_in_a_mobile_device">Входите с мобильного устройства\?</string>
<string name="qr_code_login_show_qr_code_button">Показать QR-код на этом устройстве</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_2">Выберите «Сканировать QR-код»</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_1">Начните с экрана входа</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_2">Выберите «Войти при помощи QR-кода»</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_1">Начните с экрана входа</string>
<string name="qr_code_login_new_device_instruction_3">Выберите «Показать QR-код»</string>
<string name="qr_code_login_new_device_instruction_2">Зайдите в Настройки -&gt; Безопасность и Приватность</string>
<string name="qr_code_login_new_device_instruction_1">Откройте приложение с другого устройства</string>
<string name="qr_code_login_header_failed_homeserver_is_not_supported_description">Домашний сервер не поддерживает вход при помощи QR-кода.</string>
<string name="qr_code_login_header_failed_user_cancelled_description">Вход был отменён с другого устройства.</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">Этот QR-код не работает.</string>
<string name="qr_code_login_header_failed_other_device_not_signed_in_description">Другое устройство должно войти в учётную запись.</string>
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Другое устройство уже выполнило вход.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Во время установки безопасной переписки возникла проблема с безопасностью. Одно из следующего является скомпроментированным: Ваш домашний сервер; Ваше интернет-соединение; Ваше устройство;</string>
<string name="qr_code_login_header_failed_other_description">Запрос не выполнен.</string>
<string name="qr_code_login_header_failed_denied_description">Запрос был отклонён на другом устройстве.</string>
<string name="qr_code_login_header_failed_timeout_description">Соединение не было выполнено за нужное время.</string>
<string name="qr_code_login_header_failed_device_is_not_supported_description">Соединение с этим устройством не поддерживается.</string>
<string name="qr_code_login_header_failed_title">Неудачное соединение</string>
<string name="qr_code_login_header_connected_description">Проверьте устройство, с которого вы вошли в учётную запись. На его экране должен появиться код снизу. Подтвердите, что код снизу такой же, как и на том устройстве:</string>
<string name="qr_code_login_header_connected_title">Безопасное соединение установлено</string>
<string name="qr_code_login_header_show_qr_code_link_a_device_description">Сканируйте QR-код снизу при помощи устройства, с которого вы вышли с учётной записи.</string>
<string name="qr_code_login_header_show_qr_code_new_device_description">Используйте устройство, с которого вы вошли в учётную запись, чтобы сканировать QR-код снизу:</string>
<string name="qr_code_login_header_show_qr_code_title">Войти при помощи QR-кода</string>
<string name="qr_code_login_header_scan_qr_code_description">Используйте камеру на этом устройстве, чтобы сканировать QR-код, отображённый на вашем другом устройстве:</string>
<string name="qr_code_login_header_scan_qr_code_title">Сканировать QR-код</string>
<string name="three">3</string>
<string name="two">2</string>
<string name="one">1</string>
<string name="onboarding_new_app_layout_feedback_message">Нажмите слева сверху, чтобы увидеть опцию отзыва.</string>
<string name="onboarding_new_app_layout_welcome_message">Чтобы упростить ${app_name}, вкладки теперь опциональные. Управляйте ими при помощи меню справа сверху.</string>
<string name="home_empty_no_rooms_message">Универсальное безопасное приложение для переписок с командами, друзьями и организациями. Создайте переписку или присоеденитесь к уже существующей, чтобы начать.</string>
<string name="home_empty_space_no_rooms_message">Пространства — новый способ групировать комнаты и людей. Добавьте существующую комнату или создайте новую, используя кнопку слева снизу.</string>
<string name="labs_enable_voice_broadcast_summary">Возможность записывать и отправлять голосовые трансляции в ленту комнаты.</string>
<string name="labs_enable_session_manager_summary">Получите лучший надзор и контроль над всеми вашими сессиями.</string>
<string name="device_manager_learn_more_sessions_verified_description">Подтверждённые сессии есть везде, где вы используете эту учётную запись, после введения вашего пароля или подтверждения вашей личности при помощи другой подтверждённой сессии.
\n
\nЭто значит, что у вас есть все нужные ключи, чтобы разблокировать зашифрованные сообщения и даёте другим пользователям знать, что вы доверяете этой сессии.</string>
<string name="device_manager_learn_more_sessions_verified" tools:ignore="UnusedResources">Подтверждённые сессии вошли при помощи ваших учётных данных и были подтверждены, либо при помощи вашего безопасного пароля, либо при помощи подтверждения с другого устройства.
\n
\nЭто значит, что на них находятся ключи шифрования для ваших предыдущих сообщений и дают другим пользователям знать, что эти сессии действительно принадлежат вам.</string>
<string name="device_manager_learn_more_sessions_unverified">Неподтверждённые сессии — это сессии, которые вошли при помощи ваших учётных данных, но не были подтверждены.
\n
\nВы должны удостовериться, что узнаёте эти сессии, так как они могут быть несанкционированным входом в вашу учётную запись.</string>
<string name="device_manager_sessions_sign_in_with_qr_code_description">Вы можете использовать это устройство для входа с телефона или веб-устройства при помощи QR-кода. Для этого есть два способа:</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Войти при помощи QR-кода</string>
<string name="device_manager_session_rename_description">Собственные названия сессий помогут вам легче распознать свои девайсы.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Выйти из %1$d сессии</item>
<item quantity="few">Выйти из %1$d сессий</item>
<item quantity="many">Выйти из %1$d сессий</item>
<item quantity="other">Выйти из %1$d сессий</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Выйти</string>
<string name="device_manager_other_sessions_select">Выбрать сессии</string>
<string name="a11y_device_manager_filter">Фильтр</string>
<plurals name="device_manager_other_sessions_description_inactive">
<item quantity="one">Неактивен %1$d+ день (%2$s)</item>
<item quantity="few">Неактивен %1$d+ дней (%2$s)</item>
<item quantity="many">Неактивен %1$d+ дня (%2$s)</item>
<item quantity="other">Неактивен %1$d+ дня (%2$s)</item>
</plurals>
<string name="device_manager_verification_status_detail_other_session_unknown">Подтвердите текущую сессию, чтобы посмотреть её состояние подтверждения.</string>
<string name="device_manager_verification_status_unknown">Неизвестное состояние проверки</string>
<string name="labs_enable_element_call_permission_shortcuts_summary">Автоматически принимать виджеты Element Call и давать доступ к микрофону/камере</string>
<string name="labs_enable_element_call_permission_shortcuts">Включить ярлыки разрешений Element Call</string>
<string name="attachment_type_selector_text_formatting">Форматирование текста</string>
<string name="tooltip_attachment_voice_broadcast">Начать новую голосовую трансляцию</string>
<string name="live_location_not_enough_permission_dialog_description">Вам необходимо иметь нужные разрешения, чтобы делиться местоположением в реальном времени в этой комнате.</string>
<string name="live_location_not_enough_permission_dialog_title">У вас нет разрешения делиться местоположением в реальном времени</string>
<string name="labs_enable_msc3061_share_history_desc">При приглашении кого-то в зашифрованную комнату, которая делится историей, зашифрованная история будет видимой.</string>
<string name="error_voice_broadcast_already_in_progress_message">Вы уже записываете голосовую трансляцию. Пожалуйста закончите текущую голосовую трансляцию, чтобы начать новую.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Кто-то другой уже записывает голосовую трансляцию. Подождите пока их голосовая трансляция закончится, чтобы начать новую.</string>
<string name="error_voice_broadcast_permission_denied_message">У вас нет необходимых разрешений для начала голосовой трансляции в этой комнате. Свяжитесь с администратором комнаты, чтобы получить разрешения.</string>
<string name="error_voice_broadcast_unauthorized_title">Не получилось начать новую голосовую трансляцию</string>
<string name="a11y_voice_broadcast_fast_forward">Перемотать вперёд на 30 секунд</string>
<string name="a11y_voice_broadcast_fast_backward">Перемотать назад на 30 секунд</string>
<string name="a11y_voice_broadcast_buffering">Буферизация</string>
<string name="a11y_pause_voice_broadcast">Приостановить голосовую трансляцию</string>
<string name="a11y_play_voice_broadcast">Проиграть или продолжить голосовую трансляцию</string>
<string name="a11y_stop_voice_broadcast_record">Остановить запись голосовой трансляции</string>
<string name="a11y_pause_voice_broadcast_record">Приостановить запись голосовой трансляции</string>
<string name="a11y_resume_voice_broadcast_record">Продолжить запись голосовой трансляции</string>
<string name="voice_broadcast_live">Прямая трансляция</string>
<string name="key_authenticity_not_guaranteed">Подлинность этого зашифрованного сообщения не может быть гарантирована на этом устройстве.</string>
<string name="login_scan_qr_code">Сканировать QR-код</string>
<string name="send_your_first_msg_to_invite">Отправьте ваше первое сообщение, чтобы пригласить %s в переписку</string>
<string name="verify_invalid_qr_notice">Этот QR-код выглядит неправильно. Пожалуйста, попробуйте подтвердить другим способом.</string>
<string name="crosssigning_cannot_verify_this_session_desc">Вы не сможете получить доступ к истории зашифрованных сообщений. Сбросьте вашу защищённую резевную копию и ключи подтверждения, чтобы начать заново.</string>
<string name="ftue_auth_password_reset_confirmation">Сброс пароля</string>
<string name="ftue_auth_new_password_title">Выберите новый пароль</string>
<string name="ftue_auth_reset_password_email_subtitle">%s пришлёт вам ссылку для подтверждения</string>
<string name="ftue_auth_phone_subtitle">%s нуждается в подтверждении вашей учётной записи</string>
<string name="ftue_auth_email_subtitle">%s нуждается в подтверждении вашей учётной записи</string>
<string name="ftue_auth_choose_server_ems_cta">Связаться</string>
<string name="ftue_auth_choose_server_ems_subtitle">Element Matrix Services (EMS) — надёжная хостинговая служба для быстрой и безопасной связи в режиме реального времени. Узнайте больше на &lt;a href=\"${ftue_ems_url}\"&gt;element.io/ems&lt;/a&gt;</string>
<string name="a11y_open_spaces">Открыть список пространств</string>
<string name="push_gateway_item_enabled">Включено:</string>
<string name="error_check_network" tools:ignore="UnusedResources">Что-то пошло не так. Пожалуйста, проверьте соединение и попробуйте ещё раз.</string>
<string name="command_description_devtools">Открыть экран инструментов для разработчика</string>
<string name="timeline_error_room_not_found">Простите, эта комната не была найдена.
\nПожалуйста, попробуйте снова позже.%s</string>
<string name="some_devices_will_not_be_able_to_decrypt">В этой комнате есть неподтверждённые устройства, они не смогут расшифровывать сообщения, отправленные вами.</string>
<string name="grant_permission">Дать разрешение</string>
<string name="ftue_auth_create_account_username_entry_footer">Другие пользователи могут найти вас по %s</string>
<string name="voice_broadcast_recording_time_left">Осталось %1$s</string>
<string name="message_reply_to_sender_created_poll">создал опрос.</string>
<string name="message_reply_to_sender_sent_sticker">отправил наклейку.</string>
<string name="message_reply_to_sender_sent_video">отправил видео.</string>
<string name="message_reply_to_sender_sent_image">отправил изображение.</string>
<string name="message_reply_to_sender_sent_voice_message">отправил голосовое сообщение.</string>
<string name="message_reply_to_sender_sent_audio_file">отправил аудиофайл.</string>
<string name="message_reply_to_sender_sent_file">отправил файл.</string>
<string name="message_reply_to_prefix">В ответ на</string>
<string name="device_manager_other_sessions_hide_ip_address">Скрыть IP-адрес</string>
<string name="device_manager_other_sessions_show_ip_address">Показать IP-адрес</string>
<string name="quoting">Цитируя</string>
<string name="replying_to">В ответ на %s</string>
<string name="editing">Редактирование</string>
</resources>

View File

@@ -2765,7 +2765,7 @@
<string name="labs_enable_new_app_layout_title">Zapnúť nové usporiadanie</string>
<string name="device_manager_learn_more_session_rename">Ostatní používatelia v priamych správach a miestnostiach, do ktorých sa pripojíte, si môžu pozrieť úplný zoznam vašich relácií.
\n
\nTo im poskytuje istotu, že sa s vami naozaj rozprávajú, ale zároveň to znamená, že vidia názov relácie, ktorý sem zadáte.</string>
\nTo im poskytuje istotu, že sa komunikujú naozaj s vami, ale zároveň to znamená, že vidia názov relácie, ktorý sem zadáte.</string>
<string name="device_manager_learn_more_session_rename_title">Premenovanie relácií</string>
<string name="device_manager_learn_more_sessions_verified">Overené relácie, do ktorých ste sa prihlásili pomocou svojich prihlasovacích údajov a ktoré boli následne overené buď pomocou vašej bezpečnostnej prístupovej frázy, alebo krížovým overením.
\n
@@ -2868,7 +2868,7 @@
<string name="qr_code_login_header_failed_other_description">Žiadosť zlyhala.</string>
<string name="labs_enable_voice_broadcast_summary">Možnosť nahrávania a odosielania hlasového vysielania v časovej osi miestnosti.</string>
<string name="labs_enable_voice_broadcast_title">Zapnúť hlasové vysielanie (v štádiu aktívneho vývoja)</string>
<string name="a11y_voice_broadcast_buffering">Načítavanie do vyrovnávacej pamäte</string>
<string name="a11y_voice_broadcast_buffering">Načítavanie do vyrovnávacej pamäte</string>
<string name="a11y_pause_voice_broadcast">Pozastaviť hlasové vysielanie</string>
<string name="a11y_play_voice_broadcast">Prehrať alebo pokračovať v nahrávaní hlasového vysielania</string>
<string name="a11y_stop_voice_broadcast_record">Zastaviť nahrávanie hlasového vysielania</string>
@@ -2899,4 +2899,29 @@
<string name="error_voice_broadcast_unauthorized_title">Nie je možné spustiť nové hlasové vysielanie</string>
<string name="a11y_voice_broadcast_fast_backward">Rýchle posunutie dozadu o 30 sekúnd</string>
<string name="a11y_voice_broadcast_fast_forward">Rýchle posunutie dopredu o 30 sekúnd</string>
<string name="device_manager_learn_more_sessions_verified_description">Overené relácie sú všade tam, kde používate toto konto po zadaní svojho prístupového hesla alebo po potvrdení svojej totožnosti inou overenou reláciou.
\n
\nTo znamená, že máte všetky kľúče potrebné na odomknutie zašifrovaných správ a potvrdenie pre ostatných používateľov, že tejto relácii dôverujete.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Odhlásiť sa z %1$d relácie</item>
<item quantity="few">Odhlásiť sa z %1$d relácií</item>
<item quantity="other">Odhlásiť sa z %1$d relácií</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Odhlásiť sa</string>
<string name="voice_broadcast_recording_time_left">Ostáva %1$s</string>
<string name="quoting">Cituje</string>
<string name="message_reply_to_sender_created_poll">vytvoril/a anketu.</string>
<string name="message_reply_to_sender_sent_sticker">poslal/a nálepku.</string>
<string name="message_reply_to_sender_sent_video">poslal/a video.</string>
<string name="message_reply_to_sender_sent_image">poslal/a obrázok.</string>
<string name="message_reply_to_sender_sent_voice_message">poslal/a zvukovú správu.</string>
<string name="message_reply_to_sender_sent_audio_file">poslal/a zvukový súbor.</string>
<string name="message_reply_to_sender_sent_file">poslal súbor.</string>
<string name="message_reply_to_prefix">V odpovedi na</string>
<string name="device_manager_other_sessions_hide_ip_address">Skryť IP adresu</string>
<string name="device_manager_other_sessions_show_ip_address">Zobraziť IP adresu</string>
<string name="replying_to">Odpoveď na %s</string>
<string name="editing">Úprava</string>
<string name="settings_enable_direct_share_summary">Zobraziť posledné konverzácie v systémovej ponuke zdieľania</string>
<string name="settings_enable_direct_share_title">Povoliť priame zdieľanie</string>
</resources>

View File

@@ -2659,7 +2659,7 @@
\nKy shërbyes Home mund të mos jetë formësuar të shfaqë harta.</string>
<string name="poll_undisclosed_not_ended">Përfundimet do të jenë të dukshme pasi të ketë përfunduar pyetësori</string>
<string name="labs_enable_msc3061_share_history_desc">Kur bëhet ftesë në një dhomë të fshehtëzuar që ka historik ndarjesh me të tjerët, historiku i fshehtëzuar do të jetë i dukshëm.</string>
<string name="a11y_voice_broadcast_buffering">Përdo</string>
<string name="a11y_voice_broadcast_buffering"></string>
<string name="a11y_pause_voice_broadcast">Ndal transmetim zanor</string>
<string name="a11y_play_voice_broadcast">Luani ose vazhdoni luajtje transmetimi zanor</string>
<string name="a11y_stop_voice_broadcast_record">Ndal incizim transmetimi zanor</string>
@@ -2822,4 +2822,35 @@
<string name="verify_invalid_qr_notice">Ky kod QR duket i formuar keq. Ju lutemi, provoni ta verifikoni me tjetër metodë.</string>
<string name="room_settings_global_block_unverified_info_text">🔒 Keni aktivizuar fshehtëzim për sesionie të verifikuar vetëm për krejt dhomat, që nga Rregullime Sigurie.</string>
<string name="settings_autoplay_animated_images_summary">Luaj figura të animuara te rrjedha kohora sapo zënë të duken</string>
<string name="message_reply_to_sender_created_poll">krijoi një pyetësor.</string>
<string name="message_reply_to_sender_sent_sticker">dërgoi një ngjitës.</string>
<string name="message_reply_to_sender_sent_video">dërgoi një video.</string>
<string name="message_reply_to_sender_sent_image">dërgoi një figurë.</string>
<string name="message_reply_to_sender_sent_voice_message">dërgoi një mesazh zanor.</string>
<string name="message_reply_to_sender_sent_audio_file">dërgoi një kartelë audio.</string>
<string name="message_reply_to_sender_sent_file">dërgoi një kartelë.</string>
<string name="message_reply_to_prefix">Në përgjigje të</string>
<string name="rich_text_editor_full_screen_toggle">Hyni/Dilni nga mënyra “Sa krejt ekrani”</string>
<string name="device_manager_learn_more_sessions_verified_description">Sesionet e verifikuar janë kudo ku përdorni këtë llogari pas dhënies së frazëkalimit tuaj, apo ripohimit të identitetit tuaj me një sesion tjetër të verifikuar.
\n
\nKjo do të thotë se keni krejt kyçet e nevojshëm për të shkyçur mesazhet tuaj të fshehtëzuar dhe për të ripohuar se e besoni këtë sesion.</string>
<string name="device_manager_other_sessions_hide_ip_address">Fshihe adresën IP</string>
<string name="device_manager_other_sessions_show_ip_address">Shfaq adresë IP</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Dilni nga %1$d sesion</item>
<item quantity="other">Dilni nga %1$d sesione</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Dilni</string>
<string name="attachment_type_selector_text_formatting">Formatim teksti</string>
<string name="voice_broadcast_recording_time_left">Edhe %1$s</string>
<string name="error_voice_broadcast_already_in_progress_message">Jeni duke incizuar tashmë një transmetim zanor. Ju lutemi, që të nisni një të ri, përfundoni transmetimin tuaj aktual zanor.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Dikush tjetër është tashmë duke incizuar një transmetim zanor. Prisni që të përfundojë transmetimi zanor i tij, pa të filloni një të ri.</string>
<string name="error_voice_broadcast_permission_denied_message">Skeni lejet e domosdoshme për të nisur një transmetim zanor në këtë dhomë. Lidhuni me një përgjegjës dhome që të përmirësojë lejet tuaja.</string>
<string name="error_voice_broadcast_unauthorized_title">Smund të niset një transmetim i ri zanor</string>
<string name="a11y_voice_broadcast_fast_forward">Shtyrje përpara 30 sekonda</string>
<string name="a11y_voice_broadcast_fast_backward">Kthim prapa 30 sekonda</string>
<string name="replying_to">Si përgjigje për %s</string>
<string name="labs_enable_deferred_dm_title">Aktivizo MD të lënë për më vonë</string>
<string name="a11y_collapse_space_children">Tkurr pjella të %s</string>
<string name="a11y_expand_space_children">Zgjero pjella të %s</string>
</resources>

View File

@@ -2836,4 +2836,34 @@
<item quantity="one">%1$d vald</item>
<item quantity="other">%1$d valda</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Växla fullskärmsläge</string>
<string name="device_manager_learn_more_sessions_verified_description">Verifierade sessioner är alla ställen där du använder det här kontot efter att ha angett din lösenfras eller bekräftat din identitet med en annan verifierad session.
\n
\nDetta betyder att du har alla nycklar som krävs för att låsa upp dina krypterade meddelanden att bekräfta för andra användare att du litar på den här sessionen.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Logga ut ur %1$d session</item>
<item quantity="other">Logga ut ur %1$d sessioner</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Logga ut</string>
<string name="attachment_type_selector_text_formatting">Textformatering</string>
<string name="error_voice_broadcast_already_in_progress_message">Du spelar redan in en röstsändning. Avsluta din nuvarande röstsändning för att starta en ny.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Någon annan spelar redan in en röstsändning. Vänta på att deras röstsändning avslutas för att starta en ny.</string>
<string name="error_voice_broadcast_permission_denied_message">Du är inte behörig att starta en ny röstsändning i det här rummet. Kontakta en rumsadministratör för att uppgradera dina behörigheter.</string>
<string name="error_voice_broadcast_unauthorized_title">Kan inte starta en ny röstsändning</string>
<string name="a11y_voice_broadcast_fast_forward">Spola framåt 30 sekunder</string>
<string name="a11y_voice_broadcast_fast_backward">Spola tillbaka 30 sekunder</string>
<string name="message_reply_to_sender_created_poll">skickade en omröstning.</string>
<string name="message_reply_to_sender_sent_sticker">skickade en dekal.</string>
<string name="message_reply_to_sender_sent_video">skickade en video.</string>
<string name="message_reply_to_sender_sent_image">skickade en bild.</string>
<string name="message_reply_to_sender_sent_voice_message">skickade ett röstmeddelande.</string>
<string name="message_reply_to_sender_sent_audio_file">skickade en ljudfil.</string>
<string name="message_reply_to_sender_sent_file">skickade en fil.</string>
<string name="message_reply_to_prefix">Svar på</string>
<string name="device_manager_other_sessions_hide_ip_address">Dölj IP-adress</string>
<string name="device_manager_other_sessions_show_ip_address">Visa IP-adress</string>
<string name="voice_broadcast_recording_time_left">%1$s kvar</string>
<string name="quoting">Citerar</string>
<string name="replying_to">Besvarar %s</string>
<string name="editing">Redigerar</string>
</resources>

View File

@@ -2839,12 +2839,12 @@
<string name="device_manager_session_rename">Перейменувати сеанс</string>
<string name="device_manager_session_overview_signout">Вийти з цього сеансу</string>
<string name="device_manager_other_sessions_description_unverified_current_session">Не звірений - Ваш поточний сеанс</string>
<string name="tooltip_attachment_voice_broadcast">Розпочати трансляцію голосового повідомлення</string>
<string name="tooltip_attachment_voice_broadcast">Розпочати голосову трансляцію</string>
<string name="key_authenticity_not_guaranteed">Справжність цього зашифрованого повідомлення не може бути гарантована на цьому пристрої.</string>
<string name="settings_security_incognito_keyboard_summary">Заборонити клавіатурі оновлювати будь-які персоналізовані дані, як-от історію набору тексту та словник, на основі того, що ви набрали в розмовах. Зверніть увагу, що деякі клавіатури можуть не дотримуватися цього налаштування.</string>
<string name="settings_security_incognito_keyboard_title">Клавіатура інкогніто</string>
<string name="command_description_table_flip">Надсилає (╯°□°)╯︵ ┻━┻ на початку текстового повідомлення</string>
<string name="attachment_type_voice_broadcast">Голосові повідомлення</string>
<string name="attachment_type_voice_broadcast">Голосові трансляції</string>
<string name="command_description_devtools">Відкрийте інструменти розробника</string>
<string name="room_settings_global_block_unverified_info_text">🔒 Ви увімкнули шифрування лише для перевірених сеансів для всіх кімнат у налаштуваннях безпеки.</string>
<string name="some_devices_will_not_be_able_to_decrypt">У цій кімнаті є неперевірені пристрої, вони не зможуть розшифрувати повідомлення, які ви надсилаєте.</string>
@@ -2920,21 +2920,21 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Вхід з іншого пристрою вже виконано.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Під час налаштування захищеного обміну повідомленнями виникла проблема з безпекою. Можливо, порушено одне з таких налаштувань: Ваш домашній сервер; Ваше інтернет-з\'єднання; Ваш пристрій;</string>
<string name="qr_code_login_header_failed_other_description">Запит не виконаний.</string>
<string name="labs_enable_voice_broadcast_summary">Можливість записувати та надсилати голосові повідомлення до стрічки кімнати.</string>
<string name="labs_enable_voice_broadcast_title">Увімкнути голосові повідомлення (в активній розробці)</string>
<string name="a11y_voice_broadcast_buffering">Буферизація</string>
<string name="a11y_pause_voice_broadcast">Призупинити голосове повідомлення</string>
<string name="a11y_play_voice_broadcast">Відтворити або поновити відтворення голосового повідомлення</string>
<string name="a11y_stop_voice_broadcast_record">Припинити запис голосового повідомлення</string>
<string name="a11y_pause_voice_broadcast_record">Призупинити запис голосового повідомлення</string>
<string name="a11y_resume_voice_broadcast_record">Відновити запис голосового повідомлення</string>
<string name="labs_enable_voice_broadcast_summary">Можливість записувати та надсилати голосові трансляції до стрічки кімнати.</string>
<string name="labs_enable_voice_broadcast_title">Увімкнути голосові трансляції (в активній розробці)</string>
<string name="a11y_voice_broadcast_buffering">Буферизація</string>
<string name="a11y_pause_voice_broadcast">Призупинити голосову трансляцію</string>
<string name="a11y_play_voice_broadcast">Відтворити або поновити відтворення голосової трансляції</string>
<string name="a11y_stop_voice_broadcast_record">Припинити запис голосової трансляції</string>
<string name="a11y_pause_voice_broadcast_record">Призупинити запис голосової трансляції</string>
<string name="a11y_resume_voice_broadcast_record">Відновити запис голосової трансляції</string>
<string name="voice_broadcast_live">Наживо</string>
<string name="device_manager_other_sessions_select">Вибрати сеанси</string>
<string name="attachment_type_selector_contact">Контакт</string>
<string name="attachment_type_selector_camera">Камера</string>
<string name="attachment_type_selector_location">Місце перебування</string>
<string name="attachment_type_selector_poll">Опитування</string>
<string name="attachment_type_selector_voice_broadcast">Голосові повідомлення</string>
<string name="attachment_type_selector_voice_broadcast">Голосові трансляції</string>
<string name="attachment_type_selector_file">Вкладення</string>
<string name="attachment_type_selector_sticker">Наліпки</string>
<string name="attachment_type_selector_gallery">Фотобібліотека</string>
@@ -2948,10 +2948,36 @@
<string name="action_select_all">Вибрати все</string>
<string name="rich_text_editor_full_screen_toggle">Перемкнути повноекранний режим</string>
<string name="attachment_type_selector_text_formatting">Форматування тексту</string>
<string name="error_voice_broadcast_already_in_progress_message">Ви вже записуєте голосове повідомлення. Завершіть поточну трансляцію, щоб розпочати нову.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Хтось інший вже записує голосове повідомлення. Зачекайте, поки закінчиться трансляція, щоб розпочати нову.</string>
<string name="error_voice_broadcast_permission_denied_message">Ви не маєте необхідних дозволів для початку передавання голосового повідомлення в цю кімнату. Зверніться до адміністратора кімнати, щоб оновити ваші дозволи.</string>
<string name="error_voice_broadcast_unauthorized_title">Не вдалося розпочати передавання нового голосового повідомлення</string>
<string name="error_voice_broadcast_already_in_progress_message">Ви вже записуєте голосову трансляцію. Завершіть поточну трансляцію, щоб розпочати нову.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Хтось інший вже записує голосову трансляцію. Зачекайте, поки вона завершиться, щоб розпочати нову.</string>
<string name="error_voice_broadcast_permission_denied_message">Ви не маєте необхідних дозволів для початку голосової трансляції в цю кімнату. Зверніться до адміністратора кімнати, щоб оновити ваші дозволи.</string>
<string name="error_voice_broadcast_unauthorized_title">Не вдалося розпочати нову голосову трансляцію</string>
<string name="a11y_voice_broadcast_fast_forward">Перемотати вперед на 30 секунд</string>
<string name="a11y_voice_broadcast_fast_backward">Перемотати назад на 30 секунд</string>
<string name="device_manager_learn_more_sessions_verified_description">Звірені сеанси — це будь-який пристрій, на якому ви використовуєте цей обліковий запис після введення парольної фрази або підтвердження вашої особи за допомогою іншого звіреного сеансу.
\n
\nЦе означає, що ви маєте всі ключі, необхідні для розблокування ваших зашифрованих повідомлень і підтвердження іншим користувачам, що ви довіряєте цьому сеансу.</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="one">Вийти з %1$d сеансу</item>
<item quantity="few">Вийти з %1$d сеансів</item>
<item quantity="many">Вийти з %1$d сеансів</item>
<item quantity="other">Вийти з %1$d сеансів</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">Вийти</string>
<string name="voice_broadcast_recording_time_left">Залишилося %1$s</string>
<string name="message_reply_to_sender_sent_audio_file">надсилає аудіофайл.</string>
<string name="message_reply_to_sender_sent_file">надсилає файл.</string>
<string name="message_reply_to_prefix">У відповідь на</string>
<string name="device_manager_other_sessions_hide_ip_address">Сховати IP-адресу</string>
<string name="message_reply_to_sender_created_poll">створює опитування.</string>
<string name="message_reply_to_sender_sent_sticker">надсилає наліпку.</string>
<string name="message_reply_to_sender_sent_video">надсилає відео.</string>
<string name="message_reply_to_sender_sent_image">надсилає зображення.</string>
<string name="message_reply_to_sender_sent_voice_message">надсилає голосове повідомлення.</string>
<string name="device_manager_other_sessions_show_ip_address">Показати IP-адресу</string>
<string name="quoting">Цитуючи</string>
<string name="replying_to">У відповідь %s</string>
<string name="editing">Редагування</string>
<string name="settings_enable_direct_share_summary">Показувати останні бесіди в системному меню загального доступу</string>
<string name="settings_enable_direct_share_title">Увімкнути пряме поширення</string>
</resources>

View File

@@ -1007,7 +1007,7 @@
<string name="settings_discovery_disconnect_with_bound_pid">您当前在身份服务器 %1$s 上共享电子邮件地址或电话号码。您需要重新连接到 %2$s 才能停止共享它们。</string>
<string name="settings_agree_to_terms">同意身份服务器 (%s) 服务条款使你可以通过电子邮件地址或电话号码被发现。</string>
<string name="labs_allow_extended_logging">启用详细日志。</string>
<string name="labs_allow_extended_logging_summary">详细日志将通过在您发送 RageShake 时提供更多日志来帮助开发人员。即使启用,应用程序也不会记录消息内容或任何其他私人数据。</string>
<string name="labs_allow_extended_logging_summary">详细日志将通过在您发送愤怒摇动(RageShake时提供更多日志来帮助开发人员。即使启用,应用程序也不会记录消息内容或任何其他私人数据。</string>
<string name="error_terms_not_accepted">接收你的主服务器条款和条件后请重试。</string>
<string name="error_network_timeout">服务器似乎响应时间太长,这可能是由于连接不良或服务器错误引起的。请稍后再试。</string>
<string name="send_attachment">发送附件</string>
@@ -1205,7 +1205,7 @@
<string name="settings_advanced_settings">高级设置</string>
<string name="settings_developer_mode">开发者模式</string>
<string name="settings_developer_mode_summary">开发者模式激活隐藏的功能,也可能使应用不稳定。仅供开发者使用!</string>
<string name="settings_rageshake">摇一摇</string>
<string name="settings_rageshake">愤怒摇动Rageshake</string>
<string name="settings_rageshake_detection_threshold">检测阈值</string>
<string name="settings_rageshake_detection_threshold_summary">摇动手机以测试检测阈值</string>
<string name="rageshake_detected">检测到摇动!</string>
@@ -1213,7 +1213,7 @@
<string name="devices_current_device">当前会话</string>
<string name="devices_other_devices">其它会话</string>
<string name="autocomplete_limited_results">仅显示第一个结果,请输入更多字符…</string>
<string name="settings_developer_mode_fail_fast_title">快速失败</string>
<string name="settings_developer_mode_fail_fast_title">快速失败Fail-fast</string>
<string name="settings_developer_mode_fail_fast_summary">发生意外错误时,${app_name} 可能更经常崩溃</string>
<string name="command_description_shrug">在明文消息前添加 ¯\\_(ツ)_/¯</string>
<string name="create_room_encryption_title">启用加密</string>
@@ -2694,7 +2694,7 @@
<string name="device_manager_verification_status_detail_other_session_unknown">验证您当前的会话以显示此会话的验证状态。</string>
<string name="device_manager_verification_status_unknown">未知的验证状态</string>
<string name="tooltip_attachment_voice_broadcast">开始语音广播</string>
<string name="a11y_voice_broadcast_buffering">缓冲</string>
<string name="a11y_voice_broadcast_buffering">正在缓冲……</string>
<string name="a11y_pause_voice_broadcast">暂停语音广播</string>
<string name="voice_broadcast_live">实时</string>
<string name="action_got_it">知道了</string>
@@ -2789,4 +2789,19 @@
<plurals name="x_selected">
<item quantity="other">已选择 %1$d</item>
</plurals>
<string name="message_reply_to_sender_created_poll">已创建投票。</string>
<string name="message_reply_to_sender_sent_sticker">已发送贴纸。</string>
<string name="message_reply_to_sender_sent_video">已发送视频。</string>
<string name="message_reply_to_sender_sent_image">已发送图片。</string>
<string name="message_reply_to_sender_sent_voice_message">已发送语音消息。</string>
<string name="message_reply_to_sender_sent_audio_file">已发送音频文件。</string>
<string name="message_reply_to_sender_sent_file">已发送文件。</string>
<string name="device_manager_learn_more_sessions_verified_description">已验证的会话是在输入你的口令词组或用另一个已验证的会话确认你的身份之后你使用此账户的任何地方。
\n
\n这意味着你拥有解锁你的已加密消息和向其他用户证明你信任此会话所需的全部密钥。</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="other">登出%1$d个会话</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">登出</string>
<string name="voice_broadcast_recording_time_left">剩余%1$s</string>
</resources>

View File

@@ -2760,7 +2760,7 @@
<string name="qr_code_login_header_failed_other_description">請求失敗。</string>
<string name="labs_enable_voice_broadcast_summary">可以在聊天室時間軸中錄製並傳送語音廣播。</string>
<string name="labs_enable_voice_broadcast_title">啟用語音廣播(正在積極開發中)</string>
<string name="a11y_voice_broadcast_buffering">正在緩衝</string>
<string name="a11y_voice_broadcast_buffering">正在緩衝……</string>
<string name="a11y_pause_voice_broadcast">暫停語音廣播</string>
<string name="a11y_play_voice_broadcast">播放或繼續語音廣播</string>
<string name="a11y_stop_voice_broadcast_record">停止語音廣播錄製</string>
@@ -2789,4 +2789,27 @@
<string name="error_voice_broadcast_unauthorized_title">無法開始新的語音廣播</string>
<string name="a11y_voice_broadcast_fast_forward">快轉30秒</string>
<string name="a11y_voice_broadcast_fast_backward">快退30秒</string>
<string name="device_manager_learn_more_sessions_verified_description">已驗證的工作階段是您輸入通關密語或透過另一個已驗證工作階段確認您的身份後使用此帳號的任何地方。
\n
\n這代表了您擁有解鎖加密訊息並向其他使用者確認您信任此工作階段所需的所有金鑰。</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<item quantity="other">登出 %1$d 個工作階段</item>
</plurals>
<string name="device_manager_other_sessions_multi_signout_selection">登出</string>
<string name="voice_broadcast_recording_time_left">剩餘 %1$s</string>
<string name="message_reply_to_sender_created_poll">已建立投票。</string>
<string name="message_reply_to_sender_sent_sticker">已傳送貼圖。</string>
<string name="message_reply_to_sender_sent_video">已傳送影片。</string>
<string name="message_reply_to_sender_sent_image">已傳送圖片。</string>
<string name="message_reply_to_sender_sent_voice_message">已傳送語音訊息。</string>
<string name="message_reply_to_sender_sent_audio_file">已傳送音訊檔。</string>
<string name="message_reply_to_sender_sent_file">已傳送檔案。</string>
<string name="message_reply_to_prefix">回覆給</string>
<string name="device_manager_other_sessions_hide_ip_address">隱藏 IP 位置</string>
<string name="device_manager_other_sessions_show_ip_address">顯示 IP 位置</string>
<string name="quoting">引用</string>
<string name="replying_to">回覆給 %s</string>
<string name="editing">正在編輯</string>
<string name="settings_enable_direct_share_summary">在系統分享選單中顯示最近聊天</string>
<string name="settings_enable_direct_share_title">啟用直接分享</string>
</resources>

View File

@@ -134,6 +134,9 @@
<string name="notice_crypto_unable_to_decrypt">** Unable to decrypt: %s **</string>
<string name="notice_crypto_error_unknown_inbound_session_id">The sender\'s device has not sent us the keys for this message.</string>
<string name="notice_voice_broadcast_ended">%1$s ended a voice broadcast.</string>
<string name="notice_voice_broadcast_ended_by_you">You ended a voice broadcast.</string>
<!-- Messages -->
<!-- Room Screen -->
@@ -416,6 +419,7 @@
<string name="action_got_it">Got it</string>
<string name="action_select_all">Select all</string>
<string name="action_deselect_all">Deselect all</string>
<string name="action_stop">Yes, Stop</string>
<string name="copied_to_clipboard">Copied to clipboard</string>
@@ -1032,6 +1036,8 @@
<string name="settings_chat_effects_description">Use /confetti command or send a message containing ❄️ or 🎉</string>
<string name="settings_autoplay_animated_images_title">Autoplay animated images</string>
<string name="settings_autoplay_animated_images_summary">Play animated images in the timeline as soon as they are visible</string>
<string name="settings_enable_direct_share_title">Enable direct share</string>
<string name="settings_enable_direct_share_summary">Show recent chats in the system share menu</string>
<string name="settings_show_join_leave_messages">Show join and leave events</string>
<string name="settings_show_join_leave_messages_summary">Invites, removes, and bans are unaffected.</string>
<string name="settings_show_avatar_display_name_changes_messages">Show account events</string>
@@ -1642,7 +1648,10 @@
<string name="error_user_already_logged_in">It looks like youre trying to connect to another homeserver. Do you want to sign out?</string>
<string name="edit">Edit</string>
<string name="editing">Editing</string>
<string name="reply">Reply</string>
<string name="replying_to">Replying to %s</string>
<string name="quoting">Quoting</string>
<string name="reply_in_thread">Reply in thread</string>
<string name="view_in_room">View In Room</string>
@@ -2482,6 +2491,9 @@
<string name="settings_key_requests">Key Requests</string>
<string name="settings_export_trail">Export Audit</string>
<string name="settings_nightly_build">Nightly build</string>
<string name="settings_nightly_build_update">Get the latest build (note: you may have trouble to sign in)</string>
<string name="e2e_use_keybackup">Unlock encrypted messages history</string>
<string name="refresh">Refresh</string>
@@ -2644,8 +2656,12 @@
<string name="unencrypted">Unencrypted</string>
<string name="encrypted_unverified">Encrypted by an unverified device</string>
<string name="key_authenticity_not_guaranteed">The authenticity of this encrypted message can\'t be guaranteed on this device.</string>
<string name="review_logins">Review where youre logged in</string>
<string name="verify_other_sessions">Verify all your sessions to ensure your account &amp; messages are safe</string>
<!-- TODO TO BE REMOVED -->
<string name="review_logins" tools:ignore="UnusedResources">Review where youre logged in</string>
<!-- TODO TO BE REMOVED -->
<string name="verify_other_sessions" tools:ignore="UnusedResources">Verify all your sessions to ensure your account &amp; messages are safe</string>
<string name="review_unverified_sessions_title">You have unverified sessions</string>
<string name="review_unverified_sessions_description">Review to ensure your account is safe</string>
<!-- Argument will be replaced by the other session name (e.g, Desktop, mobile) -->
<string name="verify_this_session">Verify the new login accessing your account: %1$s</string>
@@ -3020,7 +3036,7 @@
<string name="labs_auto_report_uisi">Auto Report Decryption Errors.</string>
<string name="labs_auto_report_uisi_desc">Your system will automatically send logs when an unable to decrypt error occurs</string>
<string name="labs_enable_thread_messages">Enable Thread Messages</string>
<string name="labs_enable_thread_messages">Enable threaded messages</string>
<string name="labs_enable_thread_messages_desc">Note: app will be restarted</string>
<string name="settings_show_latest_profile">Show latest user info</string>
<string name="settings_show_latest_profile_description">Show the latest profile info (avatar and display name) for all the messages.</string>
@@ -3089,12 +3105,14 @@
<string name="audio_message_file_size">(%1$s)</string>
<string name="voice_broadcast_live">Live</string>
<string name="voice_broadcast_live_broadcast">Live broadcast</string>
<!-- TODO Rename id to voice_broadcast_buffering -->
<string name="a11y_voice_broadcast_buffering">Buffering…</string>
<string name="a11y_resume_voice_broadcast_record">Resume voice broadcast record</string>
<string name="a11y_pause_voice_broadcast_record">Pause voice broadcast record</string>
<string name="a11y_stop_voice_broadcast_record">Stop voice broadcast record</string>
<string name="a11y_play_voice_broadcast">Play or resume voice broadcast</string>
<string name="a11y_pause_voice_broadcast">Pause voice broadcast</string>
<string name="a11y_voice_broadcast_buffering">Buffering</string>
<string name="a11y_voice_broadcast_fast_backward">Fast backward 30 seconds</string>
<string name="a11y_voice_broadcast_fast_forward">Fast forward 30 seconds</string>
<string name="error_voice_broadcast_unauthorized_title">Cant start a new voice broadcast</string>
@@ -3103,6 +3121,8 @@
<string name="error_voice_broadcast_already_in_progress_message">You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.</string>
<!-- Examples of usage: 6h 15min 30sec left / 15min 30sec left / 30sec left -->
<string name="voice_broadcast_recording_time_left">%1$s left</string>
<string name="stop_voice_broadcast_dialog_title">Stop live broadcasting?</string>
<string name="stop_voice_broadcast_content">Are you sure you want to stop your live broadcast? This will end the broadcast and the full recording will be available in the room.</string>
<string name="upgrade_room_for_restricted">Anyone in %s will be able to find and join this room - no need to manually invite everyone. Youll be able to change this in room settings anytime.</string>
<string name="upgrade_room_for_restricted_no_param">Anyone in a parent space will be able to find and join this room - no need to manually invite everyone. Youll be able to change this in room settings anytime.</string>
@@ -3295,6 +3315,7 @@
<string name="device_manager_verification_status_detail_current_session_unverified">Verify your current session for enhanced secure messaging.</string>
<string name="device_manager_verification_status_detail_other_session_unverified">Verify or sign out from this session for best security and reliability.</string>
<string name="device_manager_verification_status_detail_other_session_unknown">Verify your current session to reveal this session\'s verification status.</string>
<string name="device_manager_verification_status_detail_session_encryption_not_supported">This session doesn\'t support encryption and thus can\'t be verified.</string>
<string name="device_manager_verify_session">Verify Session</string>
<string name="device_manager_view_details">View Details</string>
<string name="device_manager_other_sessions_view_all">View All (%1$d)</string>
@@ -3317,7 +3338,7 @@
<item quantity="one">Consider signing out from old sessions (%1$d day or more) that you dont use anymore.</item>
<item quantity="other">Consider signing out from old sessions (%1$d days or more) that you dont use anymore.</item>
</plurals>
<string name="device_manager_current_session_title">Current Session</string>
<string name="device_manager_current_session_title">Current session</string>
<string name="device_manager_session_title">Session</string>
<string name="device_manager_device_title">Device</string>
<!-- Examples: Last activity Yesterday at 6PM, Last activity Aug 31 at 5:47PM -->
@@ -3353,6 +3374,9 @@
<item quantity="one">Sign out of %1$d session</item>
<item quantity="other">Sign out of %1$d sessions</item>
</plurals>
<string name="device_manager_signout_all_other_sessions">Sign out of all other sessions</string>
<string name="device_manager_other_sessions_show_ip_address">Show IP address</string>
<string name="device_manager_other_sessions_hide_ip_address">Hide IP address</string>
<string name="device_manager_session_overview_signout">Sign out of this session</string>
<string name="device_manager_session_details_title">Session details</string>
<string name="device_manager_session_details_description">Application, device, and activity information.</string>
@@ -3384,6 +3408,7 @@
<!-- TODO TO BE REMOVED -->
<string name="device_manager_learn_more_sessions_verified" tools:ignore="UnusedResources">Verified sessions have logged in with your credentials and then been verified, either using your secure passphrase or by cross-verifying.\n\nThis means they hold encryption keys for your previous messages, and confirm to other users you are communicating with that these sessions are really you.</string>
<string name="device_manager_learn_more_sessions_verified_description">Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.\n\nThis means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.</string>
<string name="device_manager_learn_more_sessions_encryption_not_supported">This session doesn\'t support encryption, so it can\'t be verified.\n\nYou won\'t be able to participate in rooms where encryption is enabled when using this session.\n\nFor best security and privacy, it is recommended to use Matrix clients that support encryption.</string>
<string name="device_manager_learn_more_session_rename_title">Renaming sessions</string>
<string name="device_manager_learn_more_session_rename">Other users in direct messages and rooms that you join are able to view a full list of your sessions.\n\nThis provides them with confidence that they are really speaking to you, but it also means they can see the session name you enter here.</string>
<string name="labs_enable_session_manager_title">Enable new session manager</string>
@@ -3454,11 +3479,26 @@
<string name="qr_code_login_confirm_security_code">Confirm</string>
<string name="qr_code_login_confirm_security_code_description">Please ensure that you know the origin of this code. By linking devices, you will provide someone with full access to your account.</string>
<!-- WYSIWYG Composer -->
<!-- Rich text editor -->
<string name="rich_text_editor_format_bold">Apply bold format</string>
<string name="rich_text_editor_format_italic">Apply italic format</string>
<string name="rich_text_editor_format_strikethrough">Apply strikethrough format</string>
<string name="rich_text_editor_format_underline">Apply underline format</string>
<string name="rich_text_editor_link">Set link</string>
<string name="rich_text_editor_full_screen_toggle">Toggle full screen mode</string>
<string name="set_link_text">Text</string>
<string name="set_link_link">Link</string>
<string name="set_link_create">Create a link</string>
<string name="set_link_edit">Edit link</string>
<!-- ReplyTo events -->
<string name="message_reply_to_prefix">In reply to</string>
<string name="message_reply_to_sender_sent_file">sent a file.</string>
<string name="message_reply_to_sender_sent_audio_file">sent an audio file.</string>
<string name="message_reply_to_sender_sent_voice_message">sent a voice message.</string>
<string name="message_reply_to_sender_sent_image">sent an image.</string>
<string name="message_reply_to_sender_sent_video">sent a video.</string>
<string name="message_reply_to_sender_sent_sticker">sent a sticker.</string>
<string name="message_reply_to_sender_created_poll">created a poll.</string>
</resources>

View File

@@ -49,6 +49,7 @@
<dimen name="composer_attachment_margin">1dp</dimen>
<dimen name="rich_text_composer_corner_radius_single_line">28dp</dimen>
<dimen name="rich_text_composer_corner_radius_expanded">14dp</dimen>
<dimen name="rich_text_composer_menu_item_size">44dp</dimen>
<dimen name="chat_bubble_margin_start">28dp</dimen>
<dimen name="chat_bubble_margin_end">6dp</dimen>

View File

@@ -44,4 +44,4 @@
<color name="palette_black_800">#15191E</color>
<color name="palette_black_950">#21262C</color>
</resources>
</resources>

View File

@@ -4,7 +4,7 @@
<style name="Widget.Vector.EditText.Composer" parent="Widget.AppCompat.EditText">
<item name="android:background">@android:color/transparent</item>
<item name="android:inputType">textCapSentences|textMultiLine</item>
<item name="android:maxLines">12</item>
<item name="android:maxLines">10</item>
<item name="android:minHeight">48dp</item>
<item name="android:padding">8dp</item>
<item name="android:textSize">15sp</item>
@@ -14,9 +14,12 @@
<style name="Widget.Vector.EditText.RichTextComposer" parent="Widget.AppCompat.EditText">
<item name="android:background">@android:color/transparent</item>
<item name="android:inputType">textCapSentences|textMultiLine</item>
<item name="android:maxLines">12</item>
<item name="android:minHeight">20dp</item>
<item name="android:padding">0dp</item>
<item name="android:maxLines">10</item>
<item name="android:minHeight">40dp</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="paddingStart">12dp</item>
<item name="android:clipToPadding">false</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">?vctr_message_text_color</item>
</style>

View File

@@ -53,7 +53,7 @@
<item name="vctr_list_separator">?vctr_content_quinary</item>
<item name="vctr_list_separator_system">?vctr_system</item>
<item name="vctr_list_separator_on_surface">?vctr_system</item>
<item name="vctr_unread_background">?vctr_content_tertiary</item>
<item name="vctr_unread_background">?vctr_notice_secondary</item>
<!-- Material color -->
<item name="colorPrimary">@color/element_accent_dark</item>

View File

@@ -53,7 +53,7 @@
<item name="vctr_list_separator">?vctr_content_quinary</item>
<item name="vctr_list_separator_system">?vctr_system</item>
<item name="vctr_list_separator_on_surface">?vctr_system</item>
<item name="vctr_unread_background">?vctr_content_tertiary</item>
<item name="vctr_unread_background">?vctr_notice_secondary</item>
<!-- Material color -->
<item name="colorPrimary">@color/element_accent_light</item>

View File

@@ -31,7 +31,6 @@ import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary
import org.matrix.android.sdk.api.session.room.model.RoomSummary
import org.matrix.android.sdk.api.session.room.notification.RoomNotificationState
import org.matrix.android.sdk.api.session.room.send.UserDraft
import org.matrix.android.sdk.api.session.room.threads.model.ThreadSummary
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
import org.matrix.android.sdk.api.util.Optional
import org.matrix.android.sdk.api.util.toOptional
@@ -100,8 +99,8 @@ class FlowRoom(private val room: Room) {
return room.readService().getReadMarkerLive().asFlow()
}
fun liveReadReceipt(): Flow<Optional<String>> {
return room.readService().getMyReadReceiptLive().asFlow()
fun liveReadReceipt(threadId: String?): Flow<Optional<String>> {
return room.readService().getMyReadReceiptLive(threadId).asFlow()
}
fun liveEventReadReceipts(eventId: String): Flow<List<ReadReceipt>> {
@@ -119,13 +118,6 @@ class FlowRoom(private val room: Room) {
return room.roomPushRuleService().getLiveRoomNotificationState().asFlow()
}
fun liveThreadSummaries(): Flow<List<ThreadSummary>> {
return room.threadsService().getAllThreadSummariesLive().asFlow()
.startWith(room.coroutineDispatchers.io) {
room.threadsService().getAllThreadSummaries()
}
}
fun liveThreadList(): Flow<List<ThreadRootEvent>> {
return room.threadsLocalService().getAllThreadsLive().asFlow()
.startWith(room.coroutineDispatchers.io) {

View File

@@ -62,7 +62,7 @@ android {
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
buildConfigField "String", "SDK_VERSION", "\"1.5.8\""
buildConfigField "String", "SDK_VERSION", "\"1.5.16\""
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7acd69f37612bab0a1ab7f456656712d7ba19dbb679f81b97b58ef44e239f42
size 8523776

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab134a3d77862db7097a507ec363ae17c60b183c98dac460bc7fb227bfd51f2e
size 270336

View File

@@ -16,7 +16,7 @@
package org.matrix.android.sdk.common
import org.matrix.android.sdk.api.RoomDisplayNameFallbackProvider
import org.matrix.android.sdk.api.provider.RoomDisplayNameFallbackProvider
class TestRoomDisplayNameFallbackProvider : RoomDisplayNameFallbackProvider {

View File

@@ -0,0 +1,65 @@
/*
* Copyright 2022 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.database
import android.content.Context
import androidx.test.platform.app.InstrumentationRegistry
import io.realm.Realm
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStoreMigration
import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStoreModule
import org.matrix.android.sdk.internal.util.time.Clock
class CryptoSanityMigrationTest {
@get:Rule val configurationFactory = TestRealmConfigurationFactory()
lateinit var context: Context
var realm: Realm? = null
@Before
fun setUp() {
context = InstrumentationRegistry.getInstrumentation().context
}
@After
fun tearDown() {
realm?.close()
}
@Test
fun cryptoDatabaseShouldMigrateGracefully() {
val realmName = "crypto_store_20.realm"
val migration = RealmCryptoStoreMigration(object : Clock {
override fun epochMillis(): Long {
return 0L
}
})
val realmConfiguration = configurationFactory.createConfiguration(
realmName,
"7b9a21a8a311e85d75b069a343c23fc952fc3fec5e0c83ecfa13f24b787479c487c3ed587db3dd1f5805d52041fc0ac246516e94b27ffa699ff928622e621aca",
RealmCryptoStoreModule(),
migration.schemaVersion,
migration
)
configurationFactory.copyRealmFromAssets(context, realmName, realmName)
realm = Realm.getInstance(realmConfiguration)
}
}

View File

@@ -0,0 +1,130 @@
/*
* Copyright 2022 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.database
import android.content.Context
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import io.realm.Realm
import org.amshove.kluent.fail
import org.amshove.kluent.shouldBe
import org.amshove.kluent.shouldBeEqualTo
import org.amshove.kluent.shouldNotBe
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
import org.matrix.android.sdk.internal.database.mapper.EventMapper
import org.matrix.android.sdk.internal.database.model.EventAnnotationsSummaryEntity
import org.matrix.android.sdk.internal.database.model.SessionRealmModule
import org.matrix.android.sdk.internal.database.query.where
import org.matrix.android.sdk.internal.util.Normalizer
@RunWith(AndroidJUnit4::class)
class RealmSessionStoreMigration43Test {
@get:Rule val configurationFactory = TestRealmConfigurationFactory()
lateinit var context: Context
var realm: Realm? = null
@Before
fun setUp() {
context = InstrumentationRegistry.getInstrumentation().context
}
@After
fun tearDown() {
realm?.close()
}
@Test
fun migrationShouldBeNeeed() {
val realmName = "session_42.realm"
val realmConfiguration = configurationFactory.createConfiguration(
realmName,
"efa9ab2c77ae06b0e767ffdb1c45b12be3c77d48d94f1ac41a7cd1d637fc59ac41f869a250453074e21ce13cfe7ed535593e7d150c08ce2bad7a2ab8c7b841f0",
SessionRealmModule(),
43,
null
)
configurationFactory.copyRealmFromAssets(context, realmName, realmName)
try {
realm = Realm.getInstance(realmConfiguration)
fail("Should need a migration")
} catch (failure: Throwable) {
// nop
}
}
// Database key for alias `session_db_e00482619b2597069b1f192b86de7da9`: efa9ab2c77ae06b0e767ffdb1c45b12be3c77d48d94f1ac41a7cd1d637fc59ac41f869a250453074e21ce13cfe7ed535593e7d150c08ce2bad7a2ab8c7b841f0
// $WEJ8U6Zsx3TDZx3qmHIOKh-mXe5kqL_MnPcIkStEwwI
// $11EtAQ8RYcudJVtw7e6B5Vm4ufCqKTOWKblY2U_wrpo
@Test
fun testMigration43() {
val realmName = "session_42.realm"
val migration = RealmSessionStoreMigration(Normalizer())
val realmConfiguration = configurationFactory.createConfiguration(
realmName,
"efa9ab2c77ae06b0e767ffdb1c45b12be3c77d48d94f1ac41a7cd1d637fc59ac41f869a250453074e21ce13cfe7ed535593e7d150c08ce2bad7a2ab8c7b841f0",
SessionRealmModule(),
43,
migration
)
configurationFactory.copyRealmFromAssets(context, realmName, realmName)
realm = Realm.getInstance(realmConfiguration)
// assert that the edit from 42 are migrated
val editions = EventAnnotationsSummaryEntity
.where(realm!!, "\$WEJ8U6Zsx3TDZx3qmHIOKh-mXe5kqL_MnPcIkStEwwI")
.findFirst()
?.editSummary
?.editions
editions shouldNotBe null
editions!!.size shouldBe 1
val firstEdition = editions.first()
firstEdition?.eventId shouldBeEqualTo "\$DvOyA8vJxwGfTaJG3OEJVcL4isShyaVDnprihy38W28"
firstEdition?.isLocalEcho shouldBeEqualTo false
val editEvent = EventMapper.map(firstEdition!!.event!!)
val body = editEvent.content.toModel<MessageContent>()?.body
body shouldBeEqualTo "* Message 2 with edit"
// assert that the edit from 42 are migrated
val editionsOfE2E = EventAnnotationsSummaryEntity
.where(realm!!, "\$11EtAQ8RYcudJVtw7e6B5Vm4ufCqKTOWKblY2U_wrpo")
.findFirst()
?.editSummary
?.editions
editionsOfE2E shouldNotBe null
editionsOfE2E!!.size shouldBe 1
val firstEditionE2E = editionsOfE2E.first()
firstEditionE2E?.eventId shouldBeEqualTo "\$HUwJOQRCJwfPv7XSKvBPcvncjM0oR3q2tGIIIdv9Zts"
firstEditionE2E?.isLocalEcho shouldBeEqualTo false
val editEventE2E = EventMapper.map(firstEditionE2E!!.event!!)
val body2 = editEventE2E.getClearContent().toModel<MessageContent>()?.body
body2 shouldBeEqualTo "* Message 2, e2e edit"
}
}

View File

@@ -0,0 +1,64 @@
/*
* 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.database
import android.content.Context
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import io.realm.Realm
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.matrix.android.sdk.internal.database.model.SessionRealmModule
import org.matrix.android.sdk.internal.util.Normalizer
@RunWith(AndroidJUnit4::class)
class SessionSanityMigrationTest {
@get:Rule val configurationFactory = TestRealmConfigurationFactory()
lateinit var context: Context
var realm: Realm? = null
@Before
fun setUp() {
context = InstrumentationRegistry.getInstrumentation().context
}
@After
fun tearDown() {
realm?.close()
}
@Test
fun sessionDatabaseShouldMigrateGracefully() {
val realmName = "session_42.realm"
val migration = RealmSessionStoreMigration(Normalizer())
val realmConfiguration = configurationFactory.createConfiguration(
realmName,
"efa9ab2c77ae06b0e767ffdb1c45b12be3c77d48d94f1ac41a7cd1d637fc59ac41f869a250453074e21ce13cfe7ed535593e7d150c08ce2bad7a2ab8c7b841f0",
SessionRealmModule(),
migration.schemaVersion,
migration
)
configurationFactory.copyRealmFromAssets(context, realmName, realmName)
realm = Realm.getInstance(realmConfiguration)
}
}

View File

@@ -0,0 +1,196 @@
/*
* Copyright 2022 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.database
import android.content.Context
import androidx.test.platform.app.InstrumentationRegistry
import io.realm.Realm
import io.realm.RealmConfiguration
import io.realm.RealmMigration
import org.junit.rules.TemporaryFolder
import org.junit.runner.Description
import org.junit.runners.model.Statement
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.io.InputStream
import java.lang.IllegalStateException
import java.util.Collections
import java.util.Locale
import java.util.concurrent.ConcurrentHashMap
import kotlin.Throws
/**
* Based on https://github.com/realm/realm-java/blob/master/realm/realm-library/src/testUtils/java/io/realm/TestRealmConfigurationFactory.java
*/
class TestRealmConfigurationFactory : TemporaryFolder() {
private val map: Map<RealmConfiguration, Boolean> = ConcurrentHashMap()
private val configurations = Collections.newSetFromMap(map)
@get:Synchronized private var isUnitTestFailed = false
private var testName = ""
private var tempFolder: File? = null
override fun apply(base: Statement, description: Description): Statement {
return object : Statement() {
@Throws(Throwable::class)
override fun evaluate() {
setTestName(description)
before()
try {
base.evaluate()
} catch (throwable: Throwable) {
setUnitTestFailed()
throw throwable
} finally {
after()
}
}
}
}
@Throws(Throwable::class)
override fun before() {
Realm.init(InstrumentationRegistry.getInstrumentation().targetContext)
super.before()
}
override fun after() {
try {
for (configuration in configurations) {
Realm.deleteRealm(configuration)
}
} catch (e: IllegalStateException) {
// Only throws the exception caused by deleting the opened Realm if the test case itself doesn't throw.
if (!isUnitTestFailed) {
throw e
}
} finally {
// This will delete the temp directory.
super.after()
}
}
@Throws(IOException::class)
override fun create() {
super.create()
tempFolder = File(super.getRoot(), testName)
check(!(tempFolder!!.exists() && !tempFolder!!.delete())) { "Could not delete folder: " + tempFolder!!.absolutePath }
check(tempFolder!!.mkdir()) { "Could not create folder: " + tempFolder!!.absolutePath }
}
override fun getRoot(): File {
checkNotNull(tempFolder) { "the temporary folder has not yet been created" }
return tempFolder!!
}
/**
* To be called in the [.apply].
*/
protected fun setTestName(description: Description) {
testName = description.displayName
}
@Synchronized
fun setUnitTestFailed() {
isUnitTestFailed = true
}
// This builder creates a configuration that is *NOT* managed.
// You have to delete it yourself.
private fun createConfigurationBuilder(): RealmConfiguration.Builder {
return RealmConfiguration.Builder().directory(root)
}
fun String.decodeHex(): ByteArray {
check(length % 2 == 0) { "Must have an even length" }
return chunked(2)
.map { it.toInt(16).toByte() }
.toByteArray()
}
fun createConfiguration(
name: String,
key: String?,
module: Any,
schemaVersion: Long,
migration: RealmMigration?
): RealmConfiguration {
val builder = createConfigurationBuilder()
builder
.directory(root)
.name(name)
.apply {
if (key != null) {
encryptionKey(key.decodeHex())
}
}
.modules(module)
// Allow writes on UI
.allowWritesOnUiThread(true)
.schemaVersion(schemaVersion)
.apply {
migration?.let { migration(it) }
}
val configuration = builder.build()
configurations.add(configuration)
return configuration
}
// Copies a Realm file from assets to temp dir
@Throws(IOException::class)
fun copyRealmFromAssets(context: Context, realmPath: String, newName: String) {
val config = RealmConfiguration.Builder()
.directory(root)
.name(newName)
.build()
copyRealmFromAssets(context, realmPath, config)
}
@Throws(IOException::class)
fun copyRealmFromAssets(context: Context, realmPath: String, config: RealmConfiguration) {
check(!File(config.path).exists()) { String.format(Locale.ENGLISH, "%s exists!", config.path) }
val outFile = File(config.realmDirectory, config.realmFileName)
copyFileFromAssets(context, realmPath, outFile)
}
@Throws(IOException::class)
fun copyFileFromAssets(context: Context, assetPath: String?, outFile: File?) {
var stream: InputStream? = null
var os: FileOutputStream? = null
try {
stream = context.assets.open(assetPath!!)
os = FileOutputStream(outFile)
val buf = ByteArray(1024)
var bytesRead: Int
while (stream.read(buf).also { bytesRead = it } > -1) {
os.write(buf, 0, bytesRead)
}
} finally {
if (stream != null) {
try {
stream.close()
} catch (ignore: IOException) {
}
}
if (os != null) {
try {
os.close()
} catch (ignore: IOException) {
}
}
}
}
}

View File

@@ -66,7 +66,7 @@ class PollAggregationTest : InstrumentedTest {
val aliceEventsListener = object : Timeline.Listener {
override fun onTimelineUpdated(snapshot: List<TimelineEvent>) {
snapshot.firstOrNull { it.root.getClearType() in EventType.POLL_START }?.let { pollEvent ->
snapshot.firstOrNull { it.root.getClearType() in EventType.POLL_START.values }?.let { pollEvent ->
val pollEventId = pollEvent.eventId
val pollContent = pollEvent.root.content?.toModel<MessagePollContent>()
val pollSummary = pollEvent.annotations?.pollResponseSummary

View File

@@ -20,6 +20,9 @@ import okhttp3.ConnectionSpec
import okhttp3.Interceptor
import org.matrix.android.sdk.api.crypto.MXCryptoConfig
import org.matrix.android.sdk.api.metrics.MetricPlugin
import org.matrix.android.sdk.api.provider.CustomEventTypesProvider
import org.matrix.android.sdk.api.provider.MatrixItemDisplayNameFallbackProvider
import org.matrix.android.sdk.api.provider.RoomDisplayNameFallbackProvider
import java.net.Proxy
data class MatrixConfiguration(
@@ -66,7 +69,7 @@ data class MatrixConfiguration(
/**
* Thread messages default enable/disabled value.
*/
val threadMessagesEnabledDefault: Boolean = false,
val threadMessagesEnabledDefault: Boolean = true,
/**
* List of network interceptors, they will be added when building an OkHttp client.
*/
@@ -75,9 +78,12 @@ data class MatrixConfiguration(
* Sync configuration.
*/
val syncConfig: SyncConfig = SyncConfig(),
/**
* Metrics plugin that can be used to capture metrics from matrix-sdk-android.
*/
val metricPlugins: List<MetricPlugin> = emptyList()
val metricPlugins: List<MetricPlugin> = emptyList(),
/**
* CustomEventTypesProvider to provide custom event types to the sdk which should be processed with internal events.
*/
val customEventTypesProvider: CustomEventTypesProvider? = null,
)

View File

@@ -16,9 +16,13 @@
package org.matrix.android.sdk.api
import org.matrix.android.sdk.api.session.sync.filter.SyncFilterParams
data class SyncConfig(
/**
* Time to keep sync connection alive for before making another request in milliseconds.
*/
val longPollTimeout: Long = 30_000L,
val syncFilterParams: SyncFilterParams = SyncFilterParams()
)

View File

@@ -21,5 +21,6 @@ import com.squareup.moshi.JsonClass
@JsonClass(generateAdapter = true)
data class LocalNotificationSettingsContent(
@Json(name = "is_silenced") val isSilenced: Boolean = false
@Json(name = "is_silenced")
val isSilenced: Boolean?
)

View File

@@ -125,12 +125,6 @@ interface AuthenticationService {
deviceId: String? = null
): Session
/**
* @param homeServerConnectionConfig the information about the homeserver and other configuration
* Return true if qr code login is supported by the server, false otherwise.
*/
suspend fun isQrLoginSupported(homeServerConnectionConfig: HomeServerConnectionConfig): Boolean
/**
* Authenticate using m.login.token method during sign in with QR code.
* @param homeServerConnectionConfig the information about the homeserver and other configuration

View File

@@ -22,5 +22,6 @@ data class LoginFlowResult(
val isLoginAndRegistrationSupported: Boolean,
val homeServerUrl: String,
val isOutdatedHomeserver: Boolean,
val isLogoutDevicesSupported: Boolean
val isLogoutDevicesSupported: Boolean,
val isLoginWithQrSupported: Boolean,
)

View File

@@ -0,0 +1,30 @@
/*
* Copyright 2022 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.provider
import org.matrix.android.sdk.api.session.room.model.RoomSummary
/**
* Provide custom event types which should be processed with the internal event types.
*/
interface CustomEventTypesProvider {
/**
* Custom event types to include when computing [RoomSummary.latestPreviewableEvent].
*/
val customPreviewableEventTypes: List<String>
}

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