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

Compare commits

...

312 Commits

Author SHA1 Message Date
Jorge Martín
a8247333c4 Upgrade RTE library to 0.7.0.1 to fix build issues 2022-11-24 10:47:48 +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
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
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
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
Benoit Marty
57a2860964 Merge branch 'release/1.5.8' into main 2022-11-17 12:48:58 +01:00
Benoit Marty
1b957073d9 Adding fastlane file 2022-11-17 12:41:45 +01:00
Benoit Marty
f7c3e62206 Changelog for version 1.5.8 2022-11-17 12:39:33 +01:00
Benoit Marty
5d3228d97b toModel was not catching com.squareup.moshi.JsonDataException properly (discovered when joining a Jitsi conf added as a Widget) 2022-11-17 12:28:58 +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
Benoit Marty
33b7294bbf Update the recipe to speed up the release process. 2022-11-17 10:25:32 +01:00
Jorge Martin Espinosa
10775ab2f3 Editing: default to MessageContent.body when no formattedBody is present (#7592)
* Editing: default to `MessageContent.body` when no `formattedBody` is present

* Update docs
2022-11-16 12:13:07 +00:00
Florian Renaud
54fcdcdb6d Merge pull request #7588 from vector-im/feature/fre/voice_broadcast_recording_time
Voice Broadcast - Add max length for recording
2022-11-15 17:26:17 +01:00
Florian Renaud
6fc8c2cb80 Merge pull request #7582 from vector-im/feature/fre/voice_message_persist_playback_state
Persist the playback state of voice messages across different screens
2022-11-15 17:25:53 +01:00
Florian Renaud
4ac9c8d0e0 Merge pull request #7579 from vector-im/feature/fre/voice_broadcast_live_indicator
Voice Broadcast - Improve live indicator icon rendering
2022-11-15 17:25:38 +01:00
Florian Renaud
3239ec5d1f replace negation "!" with ".not()" 2022-11-15 10:52:09 +01:00
Florian Renaud
8ea909970d Fix line length 2022-11-15 10:47:39 +01:00
Florian Renaud
c3090fa45a Changelog 2022-11-15 10:43:50 +01:00
Florian Renaud
361538254b Voice Broadcast - Add maximum length for recording 2022-11-15 09:26:47 +01:00
Florian Renaud
7349bc90c0 Pause playback instead of reset when recording a new voice message 2022-11-15 09:26:47 +01:00
Florian Renaud
a73e707f33 Changelog 2022-11-15 09:26:35 +01:00
Florian Renaud
dca379b80f Persist the playback state of voice messages across different screens 2022-11-15 09:26:35 +01:00
Florian Renaud
d9454af63e Stay in live when moving playback position in the same chunk 2022-11-15 00:30:55 +01:00
Florian Renaud
b85fcf9a00 Remove debounce on player buttons 2022-11-15 00:11:16 +01: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
Jorge Martin Espinosa
a476544761 Fix some quoted messages having 'null' message bodies (#7532)
* Fix some quoted messages having 'null' message bodies
2022-11-14 11:01:29 +00:00
Florian Renaud
403fd9260e improve boolean condition 2022-11-14 11:57:05 +01:00
Florian Renaud
288fc35487 Changelog 2022-11-14 10:55:48 +01:00
Florian Renaud
44608f080c Improve logs 2022-11-14 10:55:48 +01:00
Florian Renaud
73d62c944c Emit first event on voice broadcast event flow 2022-11-14 10:27:30 +01:00
Florian Renaud
a3cd0ee790 Fix fetch playlist task getting stopped event from other voice broadcast 2022-11-14 10:27:30 +01:00
Florian Renaud
2d006f8725 Bind listener to live playback flag 2022-11-14 10:27:30 +01:00
Florian Renaud
5eb260e674 Unregister listeners on recording tile 2022-11-14 10:27:30 +01:00
Florian Renaud
6ee1e86951 Improve live indicator 2022-11-14 10:27:29 +01: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
Maxime NATUREL
0d3c779455 Merge pull request #7567 from vector-im/dependabot/gradle/flipper-0.174.0
Bump flipper from 0.173.0 to 0.174.0
2022-11-14 09:24:14 +01:00
dependabot[bot]
8278ae61e5 Bump flipper from 0.173.0 to 0.174.0
Bumps `flipper` from 0.173.0 to 0.174.0.

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

Updates `flipper-network-plugin` from 0.173.0 to 0.174.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.173.0...v0.174.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-10 23:11:00 +00:00
Jorge Martin Espinosa
008432af36 Move TypingView into the timeline as another item (#7565)
* Typing view as item in list

* Don't show TypingItem if we're showing a forward loader
2022-11-10 17:28:03 +00:00
Maxime NATUREL
58d182aecb Adding unit tests on ProcessBodyOfReplyToEventUseCase 2022-11-10 17:28:30 +01:00
Benoit Marty
b47dabba58 Merge pull request #7487 from vector-im/dependabot/gradle/flipper-0.173.0
Bump flipper from 0.171.1 to 0.173.0
2022-11-10 16:31:11 +01:00
Benoit Marty
d4b1ac637c Merge pull request #7482 from vector-im/dependabot/gradle/org.sonarsource.scanner.gradle-sonarqube-gradle-plugin-3.5.0.2730
Bump sonarqube-gradle-plugin from 3.4.0.2513 to 3.5.0.2730
2022-11-10 16:30:46 +01:00
Benoit Marty
50ee46b4be Merge pull request #7497 from vector-im/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-11-10 16:30:04 +01:00
Benoit Marty
7481b5b342 Merge pull request #7515 from vector-im/dependabot/gradle/org.checkerframework-checker-3.27.0
Bump checker from 3.11.0 to 3.27.0
2022-11-10 16:29:25 +01:00
Benoit Marty
f203e5ac3a Merge pull request #7536 from vector-im/dependabot/gradle/com.google.android.gms-play-services-location-21.0.1
Bump play-services-location from 21.0.0 to 21.0.1
2022-11-10 16:25:51 +01:00
Benoit Marty
6d1f559fd4 Merge pull request #7538 from vector-im/dependabot/gradle/com.googlecode.libphonenumber-libphonenumber-8.13.0
Bump libphonenumber from 8.12.57 to 8.13.0
2022-11-10 16:25:31 +01:00
Benoit Marty
35515a0957 Merge pull request #7552 from vector-im/dependabot/gradle/androidx.test-orchestrator-1.4.2
Bump orchestrator from 1.4.1 to 1.4.2
2022-11-10 16:25:12 +01:00
Benoit Marty
45e106d634 Merge pull request #7551 from vector-im/dependabot/gradle/org.jetbrains.kotlin-kotlin-reflect-1.7.21
Bump kotlin-reflect from 1.7.20 to 1.7.21
2022-11-10 16:20:10 +01:00
Benoit Marty
8766e64bb6 Merge pull request #7561 from vector-im/dependabot/gradle/com.posthog.android-posthog-2.0.0
Bump posthog from 1.1.2 to 2.0.0
2022-11-10 16:19:28 +01:00
Benoit Marty
204e1b89cb Merge pull request #7560 from vector-im/dependabot/gradle/com.google.devtools.ksp-1.7.21-1.0.8
Bump com.google.devtools.ksp from 1.7.20-1.0.7 to 1.7.21-1.0.8
2022-11-10 16:19:04 +01:00
Benoit Marty
ebf8aabcd9 Merge pull request #7563 from RiotTranslateBot/weblate-element-android-element-app
Translations update from Weblate
2022-11-10 16:10:32 +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
744b03a806 Merge pull request #7523 from vector-im/feature/mna/push-toggle-current-session
Push notifications toggle: align implementation for current session (PSG-971)
2022-11-10 13:44:49 +01:00
Florian Renaud
271fd05a1c Merge pull request #7496 from vector-im/feature/fre/voice_broadcast_seek_to_live_update
Voice Broadcast - Update seek bar position while playing
2022-11-10 13:43:34 +01:00
Amit Kumar
c07b110b99 Add spannable tracking around SyncResponseHandler (#7514)
* Add spannable tracking around SyncResponseHandler

* Update LICENSE header

* Refactor handleResponse and MetricsExtensions

* Update changelog.d

* Improve code docs and comments

* Check if Sentry is enabled before tracking
2022-11-10 16:13:09 +05:30
Weblate
2bc85b02fe Merge branch 'origin/develop' into Weblate. 2022-11-10 10:33:29 +00:00
Besnik Bleta
6783b11a63 Translated using Weblate (Albanian)
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/sq/
2022-11-10 10:33:27 +00:00
Linerly
f39e3538a1 Translated using Weblate (Indonesian)
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/id/
2022-11-10 10:33:26 +00:00
waclaw66
26b16fca18 Translated using Weblate (Czech)
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/cs/
2022-11-10 10:33:23 +00:00
Jeff Huang
4d27d568aa Translated using Weblate (Chinese (Traditional))
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/zh_Hant/
2022-11-10 10:33:21 +00:00
Danial Behzadi
48972a1a18 Translated using Weblate (Persian)
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/fa/
2022-11-10 10:33:19 +00:00
Priit Jõerüüt
ab396c5f7f Translated using Weblate (Estonian)
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/et/
2022-11-10 10:33:18 +00:00
Ihor Hordiichuk
ae150a2623 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-10 10:33:16 +00:00
Jozef Gaal
ba2fbf10e5 Translated using Weblate (Slovak)
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/sk/
2022-11-10 10:33:14 +00:00
lvre
6faec3d9bd Translated using Weblate (Portuguese (Brazil))
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/pt_BR/
2022-11-10 10:33:12 +00:00
Glandos
15f946c62c Translated using Weblate (French)
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/fr/
2022-11-10 10:33:10 +00:00
Vri
218026f5df Translated using Weblate (German)
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/de/
2022-11-10 10:33:08 +00:00
Suguru Hirahara
46615082a9 Translated using Weblate (Japanese)
Currently translated at 88.4% (2246 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ja/
2022-11-10 10:33:06 +00:00
Danial Behzadi
8814117f26 Translated using Weblate (Persian)
Currently translated at 99.6% (2530 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2022-11-10 10:33:04 +00: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
Maxime NATUREL
6ec33f1264 Removing unused imports 2022-11-10 10:00:27 +01:00
Maxime NATUREL
ba5a433caf Adding distinctUntilChanged for flow of remote toggle via Pusher capability 2022-11-10 10:00:27 +01:00
Maxime NATUREL
163bf57fda Removing non necessary debug log 2022-11-10 10:00:27 +01:00
Maxime NATUREL
ced4bf3573 Adding unit tests on EnableNotificationsForCurrentSessionUseCase 2022-11-10 10:00:27 +01:00
Maxime NATUREL
b43c3a8502 Adding unit tests on UpdateEnableNotificationsSettingOnChangeUseCase 2022-11-10 10:00:27 +01:00
Maxime NATUREL
2eeb04426b Adding unit tests on DisableNotificationsForCurrentSessionUseCase 2022-11-10 10:00:27 +01:00
Maxime NATUREL
e5e971683b Adding unit tests on CanTogglePushNotificationsViaPusherUseCase 2022-11-10 10:00:27 +01:00
Maxime NATUREL
18929324fe Updating existing unit tests 2022-11-10 10:00:27 +01:00
Maxime NATUREL
6239b3e686 Adding some TODOs 2022-11-10 10:00:27 +01:00
Maxime NATUREL
24a5cfa9e5 Listen for pusher or account data changes to update the local setting 2022-11-10 10:00:27 +01:00
Maxime NATUREL
67d2a6faab Use the preference value to render the push notifications toggle 2022-11-10 10:00:26 +01:00
Maxime NATUREL
2941cfa329 Adding use cases to handle toggle of push notifications for current session 2022-11-10 10:00:26 +01:00
Maxime NATUREL
41ab29d4c0 Adding changelog entry 2022-11-10 10:00:26 +01:00
dependabot[bot]
e84c68495f Bump posthog from 1.1.2 to 2.0.0
Bumps [posthog](https://github.com/PostHog/posthog-android) from 1.1.2 to 2.0.0.
- [Release notes](https://github.com/PostHog/posthog-android/releases)
- [Changelog](https://github.com/PostHog/posthog-android/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-android/compare/1.1.2...2.0.0)

---
updated-dependencies:
- dependency-name: com.posthog.android:posthog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-09 23:03:47 +00:00
dependabot[bot]
02c16d30f4 Bump com.google.devtools.ksp from 1.7.20-1.0.7 to 1.7.21-1.0.8
Bumps [com.google.devtools.ksp](https://github.com/google/ksp) from 1.7.20-1.0.7 to 1.7.21-1.0.8.
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/1.7.20-1.0.7...1.7.21-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-11-09 23:03:07 +00:00
Onuray Sahin
76b179e738 Merge pull request #7533 from vector-im/feature/ons/fix_device_manager_verified_desc
Fix description of verified sessions (PSG-991)
2022-11-09 22:00:20 +03:00
Onuray Sahin
40e960f19e Lint fix. 2022-11-09 20:41:53 +03:00
Benoit Marty
7611a418a9 Merge pull request #7548 from vector-im/dependabot/gradle/org.jetbrains.kotlin-kotlin-gradle-plugin-1.7.21
Bump kotlin-gradle-plugin from 1.7.20 to 1.7.21
2022-11-09 17:40:34 +01:00
Onuray Sahin
b2589a1e4d Merge branch 'develop' into feature/ons/fix_device_manager_verified_desc 2022-11-09 19:05:07 +03:00
Onuray Sahin
6f997e8a0f Merge branch 'develop' into feature/ons/toggle_ip_address_visibility 2022-11-09 19:04:39 +03:00
Benoit Marty
7227a83030 Merge pull request #7558 from vector-im/feature/bma/fix_search_tests
Fix search tests
2022-11-09 16:37:56 +01: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
Benoit Marty
d07c6da3ac Add a test for incomplete word. 2022-11-09 15:31:27 +01:00
Benoit Marty
823e7bf212 Fix search tests. 2022-11-09 15:26:39 +01:00
Onuray Sahin
ba6d414f67 Code review fix. 2022-11-09 16:59:02 +03:00
Onuray Sahin
46c60f5897 Fix unit tests. 2022-11-09 16:57:16 +03:00
dependabot[bot]
cd08b8134c Bump orchestrator from 1.4.1 to 1.4.2
Bumps orchestrator from 1.4.1 to 1.4.2.

---
updated-dependencies:
- dependency-name: androidx.test:orchestrator
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-08 23:12:24 +00:00
dependabot[bot]
25d33e9b1a Bump kotlin-reflect from 1.7.20 to 1.7.21
Bumps [kotlin-reflect](https://github.com/JetBrains/kotlin) from 1.7.20 to 1.7.21.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/commits)

---
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>
2022-11-08 23:11:03 +00:00
dependabot[bot]
06538276d9 Bump kotlin-gradle-plugin from 1.7.20 to 1.7.21
Bumps [kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.7.20 to 1.7.21.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/commits)

---
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>
2022-11-08 23:04:44 +00: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
Kat Gerasimova
c74445cf5b Update PR automation
Stop using deprecated ProjectNext API in favour of the new ProjectV2 one
2022-11-08 14:52:34 +00: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
Maxime NATUREL
fc24beaa68 Merge pull request #7456 from vector-im/feature/mna/session_manager_multi_signout
[Session manager] Multi-session signout (PSG-857)
2022-11-08 14:21:14 +01:00
Maxime NATUREL
ef7abf4ef1 Merge pull request #7537 from vector-im/dependabot/gradle/io.sentry-sentry-android-6.7.0
Bump sentry-android from 6.6.0 to 6.7.0
2022-11-08 14:19:38 +01: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
Weblate
4764053b09 Merge branch 'origin/develop' into Weblate. 2022-11-08 02:33:40 +00:00
Besnik Bleta
2796f1b0be Translated using Weblate (Albanian)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sq/
2022-11-08 02:33:37 +00:00
Linerly
8dbd170b76 Translated using Weblate (Indonesian)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/id/
2022-11-08 02:33:35 +00:00
waclaw66
1d3e61aa53 Translated using Weblate (Czech)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/cs/
2022-11-08 02:33:33 +00:00
Jeff Huang
9bb2157477 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/zh_Hant/
2022-11-08 02:33:30 +00:00
Priit Jõerüüt
54259f2f40 Translated using Weblate (Estonian)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/et/
2022-11-08 02:33:28 +00:00
Ihor Hordiichuk
cfbbfc6cb5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/uk/
2022-11-08 02:33:25 +00:00
Jozef Gaal
0d002dbd26 Translated using Weblate (Slovak)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/sk/
2022-11-08 02:33:23 +00:00
lvre
89554b7f9e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/pt_BR/
2022-11-08 02:33:20 +00:00
Glandos
ab1c720a19 Translated using Weblate (French)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/fr/
2022-11-08 02:33:17 +00:00
Vri
718545cd4d Translated using Weblate (German)
Currently translated at 100.0% (80 of 80 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/de/
2022-11-08 02:33:15 +00:00
Jeff Huang
191034a7d3 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hant/
2022-11-08 02:33:12 +00:00
PotLice
6161a9582e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-11-08 02:33:12 +00:00
Ihor Hordiichuk
0904f9c6e0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2022-11-08 02:33:10 +00:00
Besnik Bleta
5d5ea81db8 Translated using Weblate (Albanian)
Currently translated at 99.0% (2516 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2022-11-08 02:33:09 +00:00
Jozef Gaal
89bb2d1a9b Translated using Weblate (Slovak)
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-11-08 02:33:08 +00:00
lvre
fd70e648c1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/pt_BR/
2022-11-08 02:33:08 +00:00
Linerly
4a00be4e8a Translated using Weblate (Indonesian)
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/id/
2022-11-08 02:33:07 +00:00
Glandos
546f391c57 Translated using Weblate (French)
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fr/
2022-11-08 02:33:06 +00:00
Priit Jõerüüt
6e46cdded6 Translated using Weblate (Estonian)
Currently translated at 99.6% (2531 of 2539 strings)

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

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2022-11-08 02:33:04 +00:00
waclaw66
2652b7ce63 Translated using Weblate (Czech)
Currently translated at 100.0% (2539 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2022-11-08 02:33:03 +00:00
Auri B. P
001ab8cb49 Translated using Weblate (Catalan)
Currently translated at 99.7% (2532 of 2539 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ca/
2022-11-08 02:33:02 +00:00
dependabot[bot]
e84e2a10fd Bump libphonenumber from 8.12.57 to 8.13.0
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.57 to 8.13.0.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.57...v8.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 23:20:45 +00:00
dependabot[bot]
49bf0e18fc Bump sentry-android from 6.6.0 to 6.7.0
Bumps [sentry-android](https://github.com/getsentry/sentry-java) from 6.6.0 to 6.7.0.
- [Release notes](https://github.com/getsentry/sentry-java/releases)
- [Changelog](https://github.com/getsentry/sentry-java/blob/6.7.0/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-java/compare/6.6.0...6.7.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>
2022-11-07 23:20:06 +00:00
dependabot[bot]
3a5af934cc Bump play-services-location from 21.0.0 to 21.0.1
Bumps play-services-location from 21.0.0 to 21.0.1.

---
updated-dependencies:
- dependency-name: com.google.android.gms:play-services-location
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 23:15:05 +00:00
Benoit Marty
4b7f030dfc Merge branch 'hotfix/1.5.7' into main 2022-11-07 17:19:50 +01:00
Benoit Marty
dde09dd612 Merge branch 'hotfix/1.5.7' into develop 2022-11-07 17:19:49 +01:00
Benoit Marty
35d16ee26a Merge hotfix 1.5.7 to develop 2022-11-07 17:19:37 +01:00
Benoit Marty
203bd2abbd fastlane file 2022-11-07 17:18:26 +01:00
Benoit Marty
e450c06f7c Changelog 2022-11-07 17:16:55 +01:00
Benoit Marty
c323326a58 Version 1.5.7 2022-11-07 17:14:18 +01:00
NIkita Fedrunov
38651353aa temporary workaround for a failing sync due to unexpected enableUnreadThreadNotifications param 2022-11-07 17:09:20 +01:00
Benoit Marty
76d3050551 Merge pull request #7534 from vector-im/bugfix/nfe/unexpected_sync_param
temporary workaround for a failing sync due to unexpected `enableUnre…
2022-11-07 17:06:52 +01:00
Maxime NATUREL
6d2620815c Moving UI auth interceptor into use case 2022-11-07 16:52:41 +01:00
Onuray Sahin
456762a464 Add toggle ip address menu option. 2022-11-07 18:26:54 +03:00
NIkita Fedrunov
0c40acb186 temporary workaround for a failing sync due to unexpected enableUnreadThreadNotifications param 2022-11-07 16:16:51 +01:00
Florian Renaud
c1dd66003a improve end of voice broadcast check 2022-11-07 16:11:10 +01:00
Florian Renaud
4e53366727 Fix default visibility of fast backward/forward buttons 2022-11-07 16:11:10 +01:00
Florian Renaud
9e83d88f08 Fix seek position when listening another voice broadcast 2022-11-07 16:11:10 +01:00
Florian Renaud
be18f4ec78 remove unused imports 2022-11-07 16:11:10 +01:00
Florian Renaud
305a362e9e Fix play action on other voice broadcast than the current one 2022-11-07 16:11:09 +01:00
Florian Renaud
6b57b1190c Make AudioMessagePlaybackTracker.Listener interface funny 2022-11-07 16:11:09 +01:00
Florian Renaud
226e2026a1 Remove item listeners 2022-11-07 16:11:09 +01:00
Florian Renaud
1c40f9c5e8 Minor cleanup 2022-11-07 16:11:09 +01:00
Florian Renaud
aa8eec221a Enable fast backward/forward buttons 2022-11-07 16:11:09 +01:00
Florian Renaud
c5e6eb0d0e Remove some logs 2022-11-07 16:11:09 +01:00
Florian Renaud
baa9cb39b0 Fix broken live listening 2022-11-07 16:11:09 +01:00
Benoit Marty
dff210c6c9 Merge pull request #7498 from vector-im/dependabot/gradle/com.gabrielittner.threetenbp-lazythreetenbp-0.12.0
Bump lazythreetenbp from 0.11.0 to 0.12.0
2022-11-07 15:42:59 +01:00
Benoit Marty
cfd930f942 Merge pull request #7531 from vector-im/sync-analytics-plan
Sync analytics plan
2022-11-07 15:35:05 +01:00
Florian Renaud
7d51a26522 Decrease tick interval 2022-11-07 15:34:55 +01:00
Florian Renaud
436e76c756 Fix seek on paused state 2022-11-07 15:34:55 +01:00
Florian Renaud
b2f35fa135 Improve PlaybackTicker 2022-11-07 15:34:55 +01:00
Florian Renaud
a47e3c1233 Improve playing state updates 2022-11-07 15:34:55 +01:00
Florian Renaud
266236c1e5 set playlist.currentSequence null by default 2022-11-07 15:34:55 +01:00
Florian Renaud
43a112839f Fix seek when playlist is not loaded 2022-11-07 15:34:55 +01:00
Florian Renaud
a320155546 reset nextMediaPlayer when item has changed 2022-11-07 15:34:54 +01:00
Florian Renaud
a3cd861e15 Add isPreparingNextPlayer flag 2022-11-07 15:34:54 +01:00
Florian Renaud
b87b2cbb63 Remove useless method 2022-11-07 15:34:54 +01:00
Florian Renaud
37c75354be VoiceBroadcastPlayer - Reorganize some code 2022-11-07 15:34:54 +01:00
Florian Renaud
c85b159952 VoiceBroadcastPlayer - Extract some code to VoiceBroadcastPlaylist 2022-11-07 15:34:54 +01:00
Florian Renaud
dae4162e75 VoiceBroadcastPlayerImpl - use session coroutine scope 2022-11-07 15:34:54 +01:00
Florian Renaud
392fe6fa32 Transform TickListener to fun interface 2022-11-07 15:34:54 +01:00
Florian Renaud
d89ef6988b Improve player seek 2022-11-07 15:34:53 +01:00
Benoit Marty
7a24e16092 Merge pull request #7501 from SpiritCroc/duplicated-pill-fixes
Fix duplicated pills when pills contain other spans
2022-11-07 15:33:34 +01:00
Onuray Sahin
e30cbd5916 Add changelog. 2022-11-07 14:51:18 +03:00
Onuray Sahin
44c0378de8 Fix description of verified sessions. 2022-11-07 14:46:32 +03:00
Jorge Martin Espinosa
f0340d5ced When joining a room, the message composer should be visible once the room loads (#7510) 2022-11-07 11:58:34 +01:00
Maxime NATUREL
45050e8216 Removing error formatting from ViewModel 2022-11-07 11:45:31 +01:00
Maxime NATUREL
1d2b8e76a2 Adding min size annotation to task params 2022-11-07 11:13:23 +01:00
Maxime NATUREL
5515cd379f Use SHOW_AS_ACTION_IF_ROOM tag 2022-11-07 11:09:42 +01:00
Maxime NATUREL
3c7ba85c26 Removing unused string 2022-11-07 11:09:42 +01:00
Maxime NATUREL
d2d9da3ef7 Exclude the current session from other sessions and security recommendation screens 2022-11-07 11:09:42 +01:00
Maxime NATUREL
ef5aaf7525 Fix forbidden usage of AlertDialog 2022-11-07 11:09:42 +01:00
Maxime NATUREL
db42d1c01c Fix post rebase unit tests 2022-11-07 11:09:42 +01:00
Maxime NATUREL
76e2b6b39f Removing some TODOs 2022-11-07 11:09:42 +01:00
Maxime NATUREL
4b0b335a68 Fixing code quality issues 2022-11-07 11:09:42 +01:00
Maxime NATUREL
e0d511a488 Fixing a name of a mocked component 2022-11-07 11:09:42 +01:00
Maxime NATUREL
a3df90ae3e Adding unit tests about multi signout action for devices view model 2022-11-07 11:09:42 +01:00
Maxime NATUREL
880ee4058c Adding unit tests about reAuth actions for devices view model 2022-11-07 11:09:42 +01:00
Maxime NATUREL
5bcf2ac51e Adding unit tests for other sessions list view model 2022-11-07 11:09:41 +01:00
Maxime NATUREL
a968ac08c3 Adding unit tests for signout sessions use case 2022-11-07 11:09:41 +01:00
Maxime NATUREL
727c7462df Adding confirmation dialog before signout process 2022-11-07 11:09:41 +01:00
Maxime NATUREL
0f8e5919da Calling signout multi sessions use case in main screen for other sessions 2022-11-07 11:09:41 +01:00
Maxime NATUREL
1bda54323a Calling signout multi sessions use case in other sessions screen 2022-11-07 11:09:41 +01:00
Maxime NATUREL
bb262f0c41 Adding new "delete_devices" request API 2022-11-07 11:09:41 +01:00
Maxime NATUREL
7e836c0e97 Updating the action title to include sessions number 2022-11-07 11:09:41 +01:00
Maxime NATUREL
810c93cef9 Handling press on multi signout action from header menu in other sessions section 2022-11-07 11:09:41 +01:00
Maxime NATUREL
ae4a728358 Handling press on multi signout action in other sessions list screen 2022-11-07 11:09:41 +01:00
Maxime NATUREL
1ed92e5215 Adding overflow menu capability in sessions list header view 2022-11-07 11:09:41 +01:00
Maxime NATUREL
f45cc715d1 Adding new menu entry for multi signout 2022-11-07 11:09:41 +01:00
Maxime NATUREL
97cfc7dde4 Adding changelog entry 2022-11-07 11:09:41 +01:00
bmarty
46260b5768 Sync analytics plan 2022-11-07 00:04:35 +00:00
Weblate
d4eb64da58 Merge branch 'origin/develop' into Weblate. 2022-11-04 14:33:40 +00:00
Nizami
97841e117d Translated using Weblate (Azerbaijani)
Currently translated at 2.5% (2 of 79 strings)

Translation: Element Android/Element Android Store
Translate-URL: https://translate.element.io/projects/element-android/element-store/az/
2022-11-04 14:33:25 +00:00
PotLice
de56e08cd2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (2519 of 2519 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/zh_Hans/
2022-11-04 14:33:24 +00:00
Besnik Bleta
ec22278eed Translated using Weblate (Albanian)
Currently translated at 98.8% (2501 of 2531 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sq/
2022-11-04 14:33:23 +00:00
Peter Vágner
d6819dd8d7 Translated using Weblate (Slovak)
Currently translated at 100.0% (2531 of 2531 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/sk/
2022-11-04 14:33:02 +00:00
Nizami
7b82747108 Translated using Weblate (Azerbaijani)
Currently translated at 4.8% (123 of 2531 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/az/
2022-11-04 14:33:01 +00:00
Mubark
e2327eaf79 Translated using Weblate (Arabic)
Currently translated at 39.5% (1001 of 2531 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2022-11-04 14:33:01 +00:00
Florian Renaud
6d850b3030 Create VoiceBroadcast model with roomId and eventId 2022-11-04 11:36:15 +01:00
Florian Renaud
20d62b14de Changelog 2022-11-04 11:36:14 +01:00
Florian Renaud
b0a31304a1 Update seek bar tick progress while playing 2022-11-04 11:36:14 +01:00
Florian Renaud
ac0d823c88 Merge pull request #7519 from vector-im/bugfix/fre/unencrypted_media_event_json_type
Fix bad content types when sending unencrypted media event with additional content data
2022-11-04 10:40:18 +01:00
Maxime NATUREL
4621488f21 Merge pull request #7476 from vector-im/fix/mna/push-toggle-check-support
[Session manager] Hide push notification toggle when there is no server support (PSG-970)
2022-11-04 09:19:04 +01:00
Florian Renaud
c0ba2f2f48 Fix bad content types when sending unencrypted media 2022-11-03 11:28:45 +01:00
Maxime NATUREL
e9daef97b6 Fix order of check to get notification status 2022-11-03 11:27:02 +01:00
dependabot[bot]
bb02209537 Bump checker from 3.11.0 to 3.27.0
Bumps [checker](https://github.com/typetools/checker-framework) from 3.11.0 to 3.27.0.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.11.0...checker-framework-3.27.0)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-02 23:10:39 +00:00
Florian Renaud
f34758c67b Merge pull request #7494 from vector-im/feature/fre/voice_broadcast_seek_to
Voice Broadcast - Add seek bar with basic implementation
2022-11-02 23:30:59 +01:00
Florian Renaud
98e0397afd Merge pull request #7455 from vector-im/resilience-rc
Merge branch resilience-rc into develop
2022-11-02 18:19:34 +01:00
ganfra
404383e683 Update versions 2022-11-02 17:58:10 +01:00
ganfra
2444218b5d Merge branch 'main' into develop 2022-11-02 17:54:23 +01:00
Florian Renaud
481388ed32 Fix line length 2022-11-02 17:06:24 +01:00
Florian Renaud
b41346cdce Improve player transitions 2022-11-02 17:06:24 +01:00
Florian Renaud
eb61a23bf6 Temporary disable seekBar if playing state is paused or idle 2022-11-02 17:06:24 +01:00
Florian Renaud
7d3f6365e2 Use sum() instead of reduce operator 2022-11-02 17:06:24 +01:00
Florian Renaud
bc3fe4e5f6 Minor cleanup 2022-11-02 17:06:24 +01:00
Florian Renaud
9219043579 VoiceBroadcastPlayer - seek implementation 2022-11-02 17:06:24 +01:00
Florian Renaud
a851e5aa85 VoiceBroadcastPlayer - Add seek control views 2022-11-02 17:06:23 +01:00
Jorge Martín
5c55a3261f Merge remote-tracking branch 'origin/develop' into resilience-rc 2022-11-02 16:00:34 +01:00
Florian Renaud
dac89add67 Merge pull request #7502 from vector-im/bugfix/fre/voice_broadcast_duplicated_chunks
Voice Broadcast - Fix duplicated chunks in the internal playlist during live broadcasts
2022-11-02 10:53:09 +01:00
Maxime NATUREL
ac05e757be Small improvement to avoid tou many viewState updates 2022-11-02 09:37:10 +01:00
Maxime NATUREL
52a77e074f Renaming const for feature value 2022-11-02 09:37:10 +01:00
Maxime NATUREL
e67cc2b2db Adding unit tests on GetNotificationsStatusUseCase 2022-11-02 09:37:10 +01:00
Maxime NATUREL
62912f891c Introducing a NotificationsStatus to render the push notification toggle in session overview screen 2022-11-02 09:37:10 +01:00
Maxime NATUREL
1acb42f61d Adding use case to check support for new enabled field support 2022-11-02 09:37:10 +01:00
Maxime NATUREL
38fe556978 Adding changelog entry 2022-11-02 09:37:10 +01:00
Florian Renaud
68062911a9 Changelog 2022-11-01 18:17:23 +01:00
Florian Renaud
20abef26b0 Filter duplicated events in live voice broadcasts 2022-11-01 17:59:59 +01:00
SpiritCroc
99d5107732 Changelog 7501 2022-11-01 15:49:46 +01:00
SpiritCroc
411c8c9096 Fix duplicated pills when pills contain other spans
Fixes following issues:
- Duplicated pills if the mention contains an image: https://github.com/SchildiChat/SchildiChat-android/issues/148
- Duplicated pills if these contain underscores: https://github.com/SchildiChat/SchildiChat-android/issues/156
2022-11-01 11:21:27 +01:00
dependabot[bot]
d2012ae022 Bump lazythreetenbp from 0.11.0 to 0.12.0
Bumps [lazythreetenbp](https://github.com/gabrielittner/lazythreetenbp) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/gabrielittner/lazythreetenbp/releases)
- [Changelog](https://github.com/gabrielittner/lazythreetenbp/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gabrielittner/lazythreetenbp/compare/0.11.0...0.12.0)

---
updated-dependencies:
- dependency-name: com.gabrielittner.threetenbp:lazythreetenbp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 23:10:15 +00:00
dependabot[bot]
d4234ae3bd Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-31 23:08:36 +00:00
Jorge Martin Espinosa
7ba1052bcf Fix rich text editor EditText not resizing properly in full screen (#7491)
* Fix rich text editor full screen mode

* Add changelog

* Address review comments.
2022-10-31 16:43:01 +01:00
Florian Renaud
48cca9973b Merge pull request #7485 from vector-im/feature/fre/start_voice_broadcast_error
Voice Broadcast - Show start voice broadcast errors in a dialog
2022-10-31 16:23:23 +01:00
Florian Renaud
d7791402b7 Fix unit tests 2022-10-31 15:18:24 +01:00
Florian Renaud
a06efb7abd Fix lint issues 2022-10-31 10:58:09 +01:00
Florian Renaud
01ab39ec5f Merge pull request #7478 from vector-im/feature/fre/voice_broadcast_player_interface
Voice Broadcast - Some internal improvements related to the player
2022-10-31 10:55:19 +01:00
dependabot[bot]
d1f5fa5b59 Bump flipper from 0.171.1 to 0.173.0
Bumps `flipper` from 0.171.1 to 0.173.0.

Updates `flipper` from 0.171.1 to 0.173.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.171.1...v0.173.0)

Updates `flipper-network-plugin` from 0.171.1 to 0.173.0
- [Release notes](https://github.com/facebook/flipper/releases)
- [Commits](https://github.com/facebook/flipper/compare/v0.171.1...v0.173.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-10-28 23:06:32 +00:00
Florian Renaud
b510919d59 Add changelog 2022-10-28 10:53:35 +02:00
Florian Renaud
362696cfc8 VoiceBroadcast - Show error dialog if user is not able to record a voice broadcast 2022-10-28 10:43:34 +02:00
Florian Renaud
838e11c167 rename observeIncomingEvents method and reorder some methods 2022-10-28 10:43:05 +02:00
Florian Renaud
62c574b966 Add changelog 2022-10-28 10:29:48 +02:00
dependabot[bot]
14f1925cd3 Bump sonarqube-gradle-plugin from 3.4.0.2513 to 3.5.0.2730
Bumps sonarqube-gradle-plugin from 3.4.0.2513 to 3.5.0.2730.

---
updated-dependencies:
- dependency-name: org.sonarsource.scanner.gradle:sonarqube-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-27 23:17:24 +00:00
Florian Renaud
3fcac097d3 VoiceBroadcastPlayer - Fetch playlist in dedicated use case and improve player 2022-10-27 23:50:21 +02:00
Florian Renaud
174ba4f4cc VoiceBroadcastPlayer - Create player interface and move implementation to dedicated class 2022-10-27 16:54:32 +02:00
Benoit Marty
40ea00f865 Empty commit to trigger CI 2022-10-27 15:54:24 +02:00
jonnyandrew
c776aae9d0 [Rich text editor] Add plain text mode and new attachment UI (#7459)
* Add new attachments selection dialog

* Add rounded corners to bottom sheet dialog.

Note these are currently only visible in the collapsed state.
- [Google issue](https://issuetracker.google.com/issues/144859239)
- [Rejected PR](https://github.com/material-components/material-components-android/pull/437)
- [Github issue](https://github.com/material-components/material-components-android/issues/1278)

* Add changelog entry

* Remove redundant call to superclass click listener

* Refactor to use view visibility helper

* Change redundant sealed class to interface

* Remove unused string

* Revert "Add rounded corners to bottom sheet dialog."

This reverts commit 17c43c9188.

* Remove redundant view group

* Remove redundant `this`

* Update rich text editor to latest

* Update rich text editor version

* Allow toggling rich text in the new editor

* Persist the text formatting setting

* Add changelog entry
2022-10-26 18:37:40 +02:00
Florian Renaud
bdfc96ff66 Fix merge conflicts 2022-10-26 16:36:51 +02:00
Florian Renaud
751afbdd7b Merge pull request #7458 from vector-im/feature/fre/voice_broadcast_remove_useless_logs
[Voice Broadcast] Minor cleanup in GetOngoingVoiceBroadcastsUseCase
2022-10-26 16:16:25 +02:00
Florian Renaud
cb5fc75c5d GetOngoingVoiceBroadcastsUseCase: Return empty list if there is no session 2022-10-26 16:08:03 +02:00
Florian Renaud
c20f6fe326 GetOngoingVoiceBroadcastsUseCase: Remove debug logs 2022-10-26 16:07:38 +02:00
Florian Renaud
6ee77ad101 Merge pull request #7450 from vector-im/feature/fre/voice_broadcast_stop_on_app_restart
Voice Broadcast - Stop recording on app restart
2022-10-26 15:49:32 +02:00
Jorge Martin Espinosa
d242ab049b [Rich text editor] Implement full screen editor mode (simple approach) (#7436)
* Rich text editor: implement full screen editor mode using ConstraintSets

* Add back press handler

* Change ToggleFullScreen to SetFullScreen, fix rebase issues

* Add warning to fragment_timeline* files
2022-10-26 15:15:48 +02:00
Florian Renaud
0cc2a477b4 Mockk GetOngoingVoiceBroadcastsUseCase and adapt tests 2022-10-26 14:54:55 +02:00
Florian Renaud
23b4f6d42f Inject ActiveSessionHolder in GetOngoingVoiceBroadcastsUseCase 2022-10-26 12:49:51 +02:00
Florian Renaud
443d573205 Remove getOngoingVoiceBroadcasts from VoiceBroadcastHelper 2022-10-26 12:48:32 +02:00
Florian Renaud
5855fe1242 Add StopOngoingVoiceBroadcastUseCase 2022-10-26 12:44:38 +02:00
Florian Renaud
2f14d19130 Fix failing test 2022-10-26 12:44:37 +02:00
Florian Renaud
65a5ae9d3d Merge pull request #7449 from vector-im/feature/fre/voice_broadcast_device_id
Voice Broadcast - Do not display the recording tile on the other sessions
2022-10-26 11:54:02 +02:00
Florian Renaud
6f1e0b5bbd Merge pull request #7448 from vector-im/feature/fre/voice_broadcast_timeline_improvements
Voice Broadcast - Improve timeline rendering code
2022-10-26 11:53:44 +02:00
Florian Renaud
1554d79f1a Change listeners Map variable to immutable 2022-10-26 10:48:11 +02:00
Florian Renaud
8fe3b5e750 Rename method renderPlayingState to renderRecordingState 2022-10-26 10:46:33 +02:00
Florian Renaud
6091ec4ce3 Fix wrong content description 2022-10-26 10:45:25 +02:00
Florian Renaud
ec80adc8aa Rename usecase file 2022-10-26 10:10:56 +02:00
Florian Renaud
47047b2034 move map operator in a new line 2022-10-26 10:00:56 +02:00
Florian Renaud
85bc78bd72 Do not pause already paused voice broadcast 2022-10-26 09:50:58 +02:00
Florian Renaud
53db04c8cf Add changelog 2022-10-26 09:46:24 +02:00
Florian Renaud
6eeb54ae40 Stop ongoing voice broadcast on app restart 2022-10-26 09:46:23 +02:00
Florian Renaud
a4eff0cc78 Add changelog 2022-10-25 17:56:27 +02:00
Florian Renaud
c7c05d1fe6 Add check on deviceId before showing recording tile 2022-10-25 17:54:26 +02:00
Florian Renaud
0f21f404e6 Add changelog 2022-10-25 17:41:36 +02:00
Florian Renaud
513097585a Fix kdoc issue 2022-10-25 17:38:05 +02:00
Florian Renaud
649747bbb8 Move voice broadcast item attributes to dedicated class 2022-10-25 16:32:44 +02:00
Florian Renaud
f31429cf25 Rename renderLiveIcon method 2022-10-25 16:32:44 +02:00
Florian Renaud
2c144614ca Improve recording state rendering if app has been relaunched 2022-10-25 16:32:44 +02:00
Florian Renaud
a7c24b23a0 Improve VoiceBroadcastItemFactory 2022-10-25 16:31:25 +02:00
Florian Renaud
4defc3dded Voice Broadcast - Add style for the "live" indicator 2022-10-25 16:31:25 +02:00
Florian Renaud
1566adb669 Timeline - Add abstraction on voice broadcast items 2022-10-25 16:31:24 +02:00
Florian Renaud
6a88c61d12 Group voice broadcast controller buttons in a Flow 2022-10-25 16:31:24 +02:00
320 changed files with 9611 additions and 3349 deletions

View File

@@ -24,8 +24,7 @@ body:
### Do the release
- [ ] Make sure `develop` and `main` are up to date (git pull)
- [ ] Checkout develop and create a release with gitflow, branch name `release/1.2.3`
- [ ] 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()`
@@ -34,12 +33,12 @@ body:
- [ ] 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)
- [ ] Push `main` and the new tag `v1.2.3` to origin
- [ ] Checkout `develop`
- [ ] 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`
- [ ] 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.)

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build docs
run: ./gradlew dokkaHtml

View File

@@ -79,8 +79,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
}
}
@@ -103,8 +103,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
}
}
@@ -129,8 +129,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
}
}
@@ -154,8 +154,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
}
}
@@ -178,8 +178,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
}
}
@@ -203,8 +203,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
}
}
@@ -228,8 +228,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
}
}
@@ -258,8 +258,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
}
}

View File

@@ -60,8 +60,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
}
}
@@ -129,8 +129,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
}
}

View File

@@ -1,3 +1,50 @@
Changes in Element v1.5.8 (2022-11-17)
======================================
Features ✨
----------
- [Session manager] Multi-session signout ([#7418](https://github.com/vector-im/element-android/issues/7418))
- Rich text editor: add full screen mode. ([#7436](https://github.com/vector-im/element-android/issues/7436))
- [Rich text editor] Add plain text mode ([#7452](https://github.com/vector-im/element-android/issues/7452))
- Move TypingView inside the timeline items. ([#7496](https://github.com/vector-im/element-android/issues/7496))
- Push notifications toggle: align implementation for current session ([#7512](https://github.com/vector-im/element-android/issues/7512))
- Voice messages - Persist the playback position across different screens ([#7582](https://github.com/vector-im/element-android/issues/7582))
Bugfixes 🐛
----------
- [Voice Broadcast] Do not display the recorder view for a live broadcast started from another session ([#7431](https://github.com/vector-im/element-android/issues/7431))
- [Session manager] Hide push notification toggle when there is no server support ([#7457](https://github.com/vector-im/element-android/issues/7457))
- Fix rich text editor textfield not growing to fill parent on full screen. ([#7491](https://github.com/vector-im/element-android/issues/7491))
- Fix duplicated mention pills in some cases ([#7501](https://github.com/vector-im/element-android/issues/7501))
- Voice Broadcast - Fix duplicated voice messages in the internal playlist ([#7502](https://github.com/vector-im/element-android/issues/7502))
- When joining a room, the message composer is displayed once the room is loaded. ([#7509](https://github.com/vector-im/element-android/issues/7509))
- Voice Broadcast - Fix error on voice messages in unencrypted rooms ([#7519](https://github.com/vector-im/element-android/issues/7519))
- Fix description of verified sessions ([#7533](https://github.com/vector-im/element-android/issues/7533))
In development 🚧
----------------
- [Voice Broadcast] Improve timeline items factory and handle bad recording state display ([#7448](https://github.com/vector-im/element-android/issues/7448))
- [Voice Broadcast] Stop recording when opening the room after an app restart ([#7450](https://github.com/vector-im/element-android/issues/7450))
- [Voice Broadcast] Improve playlist fetching and player codebase ([#7478](https://github.com/vector-im/element-android/issues/7478))
- [Voice Broadcast] Display an error dialog if the user fails to start a voice broadcast ([#7485](https://github.com/vector-im/element-android/issues/7485))
- [Voice Broadcast] Add seekbar in listening tile ([#7496](https://github.com/vector-im/element-android/issues/7496))
- [Voice Broadcast] Improve the live indicator icon rendering in the timeline ([#7579](https://github.com/vector-im/element-android/issues/7579))
- Voice Broadcast - Add maximum length ([#7588](https://github.com/vector-im/element-android/issues/7588))
SDK API changes ⚠️
------------------
- [Metrics] Add `SpannableMetricPlugin` to support spans within transactions. ([#7514](https://github.com/vector-im/element-android/issues/7514))
- Fix a bug that caused messages with no formatted text to be quoted as "null". ([#7530](https://github.com/vector-im/element-android/issues/7530))
- If message content has no `formattedBody`, default to `body` when editing. ([#7574](https://github.com/vector-im/element-android/issues/7574))
Changes in Element v1.5.7 (2022-11-07)
======================================
Bugfixes 🐛
----------
- Fix regression when syncing with homeserver < 1.4. ([#7534](https://github.com/vector-im/element-android/issues/7534))
Changes in Element v1.5.6 (2022-11-02)
======================================

View File

@@ -24,9 +24,9 @@ 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.4.0.2513'
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'
@@ -45,10 +45,10 @@ plugins {
// Detekt
id "io.gitlab.arturbosch.detekt" version "1.21.0"
// Ksp
id "com.google.devtools.ksp" version "1.7.20-1.0.7"
id "com.google.devtools.ksp" version "1.7.21-1.0.8"
// Dependency Analysis
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
id 'com.autonomousapps.dependency-analysis' version "1.16.0"
// Gradle doctor
id "com.osacky.doctor" version "0.8.1"
}

1
changelog.d/5679.bugfix Normal file
View File

@@ -0,0 +1 @@
Fix italic text is truncated when bubble mode and markdown is enabled

1
changelog.d/7546.feature Normal file
View File

@@ -0,0 +1 @@
[Device Manager] Toggle IP address visibility

1
changelog.d/7555.bugfix Normal file
View File

@@ -0,0 +1 @@
Missing translations on "replyTo" messages

1
changelog.d/7577.feature Normal file
View File

@@ -0,0 +1 @@
New implementation of the full screen mode for the Rich Text Editor.

1
changelog.d/7604.bugfix Normal file
View File

@@ -0,0 +1 @@
ANR on session start when sending client info is enabled

1
changelog.d/7620.bugfix Normal file
View File

@@ -0,0 +1 @@
Make the plain text mode layout of the RTE more compact.

View File

@@ -8,16 +8,16 @@ ext.versions = [
def gradle = "7.3.1"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.7.20"
def kotlin = "1.7.21"
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.171.1"
def flipper = "0.174.0"
def epoxy = "5.0.0"
def mavericks = "3.0.1"
def glide = "4.14.2"
@@ -26,13 +26,13 @@ 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.6.0"
def sentry = "6.7.0"
def fragment = "1.5.4"
// 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"
def androidxTest = "1.4.0"
def androidxOrchestrator = "1.4.1"
def androidxOrchestrator = "1.4.2"
def paparazzi = "1.1.0"
ext.libs = [
@@ -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.12.57"
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.0"
],
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.2.1"
'wysiwyg' : "io.element.android:wysiwyg:0.7.0.1"
],
squareup : [
'moshi' : "com.squareup.moshi:moshi:$moshi",

View File

@@ -0,0 +1 @@
Qrup mesajlaşma - şifrəli mesajlaşma, qrup söhbəti və video zənglər

View File

@@ -0,0 +1 @@
Element - Təhlükəsiz Mesajlaşma

View File

@@ -0,0 +1,2 @@
Hlavní změny v této verzi: nové uživatelské rozhraní pro výběr přílohy.
Ú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é uživatelské rozhraní pro výběr přílohy.
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Neues Anhangauswahl-UI.
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Die wichtigste Änderung in dieser Version: Neue Anhangauswahl-Oberfläche.
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Main changes in this version: new UI for selecting an attachment.
Full changelog: https://github.com/vector-im/element-android/releases

View File

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

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: uus liides manuste lisamiseks.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: uus liides manuste valimiseks.
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 @@
تغییرات عمده در این نگارش: رابط کاربری جدید برای گزینش پیوست.
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principaux changements pour cette version : nouvelle interface de sélection dune pièce jointe.
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principaux changements pour cette version : nouvelle interface de sélection dune pièce jointe.
Intégralité des changements : https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Antarmuka baru untuk memilih sebuah lampiran.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Antarmuka baru untuk memilih sebuah lampiran.
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principais mudanças nesta versão: novo UI para selecionar um anexo.
Changelog completo: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Principais mudanças nesta versão: novo UI para selecionar um anexo.
Changelog completo: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavné zmeny v tejto verzii: nové používateľské rozhranie na výber príloh.
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Hlavné zmeny v tejto verzii: nové používateľské rozhranie na výber príloh.
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: U lejon përdoruesve të shfaqen si jo në linjë dhe shton një lojtës audio për bashkëngjitje audio
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: U lejon përdoruesve të shfaqen si jo në linjë dhe shton një lojtës audio për bashkëngjitje audio
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Përmirësim i administrimit të përdoruesve të shpërfillur. Ndreqje të metash dhe përmirësime të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Administrim më i mirë i mesazheve të fshehtëzuar. Ndreqje të metash dhe përmirësime të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Përdorim i UnifiedPush dhe lejim i përdoruesve të kenë push pa FCM.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Bërje e mundur hapash të përmirësuar hyrje dhe dalje nga llogaria.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Bërje e mundur hapash të përmirësuar hyrje dhe dalje nga llogaria.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: 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 të ndryshme qëndrueshmërie.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,3 @@
Skema e re e Aplikacionit mund të aktivizohet që nga rregullimet Labs. Ju lutemi, provojeni!
Ndreqje problemesh me njoftim që mungon dhe njëkohësim i gjatë shtues.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Hedhje poshtë MD e aktivizuar, si parazgjedhje.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Skema e re e aplikacionit e aktivizuar, si parazgjedhje!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Veçori të reja nën rregullimet Labs: hartues teksti të pasur, administrim i ri pajisjesh, transmetim zanor. Ende nën zhvillim aktivt!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: ndërfaqe e re UI për përzgjedhjen e një bashkëngjitjeje!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë verson: ndërfaqe UI e re për përzgjedhje të një bashkëngjitjeje.
Regjistër i plotë ndryshimesh: 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

@@ -103,14 +103,12 @@ class VideoViewHolder constructor(itemView: View) :
views.videoView.setOnPreparedListener {
stopTimer()
countUpTimer = CountUpTimer(100).also {
it.tickListener = object : CountUpTimer.TickListener {
override fun onTick(milliseconds: Long) {
val duration = views.videoView.duration
val progress = views.videoView.currentPosition
val isPlaying = views.videoView.isPlaying
// Log.v("FOO", "isPlaying $isPlaying $progress/$duration")
eventListener?.get()?.onEvent(AttachmentEvents.VideoEvent(isPlaying, progress, duration))
}
it.tickListener = CountUpTimer.TickListener {
val duration = views.videoView.duration
val progress = views.videoView.currentPosition
val isPlaying = views.videoView.isPlaying
// Log.v("FOO", "isPlaying $isPlaying $progress/$duration")
eventListener?.get()?.onEvent(AttachmentEvents.VideoEvent(isPlaying, progress, duration))
}
it.resume()
}

View File

@@ -66,7 +66,7 @@ class CountUpTimer(private val intervalInMs: Long = 1_000) {
coroutineScope.cancel()
}
interface TickListener {
fun interface TickListener {
fun onTick(milliseconds: Long)
}
}

View File

@@ -1167,4 +1167,12 @@
<string name="login_reset_password_email_hint">البريد الإلكتروني</string>
<string name="login_reset_password_password_hint">كلمة السر الجديدة</string>
<string name="login_reset_password_submit">التالي</string>
</resources>
<plurals name="x_selected">
<item quantity="zero">صفر</item>
<item quantity="one">واحد</item>
<item quantity="two">اثنان</item>
<item quantity="few">قليلة</item>
<item quantity="many">كثيرة</item>
<item quantity="other">اخرى</item>
</plurals>
</resources>

View File

@@ -20,7 +20,7 @@
<string name="notice_placed_voice_call">%s səsli zəng etdi.</string>
<string name="notice_answered_call">%s zəngə cavab verdi.</string>
<string name="notice_ended_call">%s zəng başa çatdı.</string>
<string name="notice_made_future_room_visibility">"%1$s gələcək otaq tarixçəsini %2$s-ə görünən etdi"</string>
<string name="notice_made_future_room_visibility">%1$s gələcək otaq tarixçəsini %2$s-ə görünən etdi</string>
<string name="notice_room_visibility_invited">bütün otaq üzvləri, dəvət olunduğu andan.</string>
<string name="notice_room_visibility_joined">bütün otaq üzvləri, qoşulduğu andan.</string>
<string name="notice_room_visibility_shared">bütün otaq üzvləri.</string>
@@ -48,8 +48,9 @@
\nKriptografiyanın idxalı</string>
<string name="initial_sync_start_importing_account_rooms">İlkin sinxronizasiya:
\nOtaqlar idxalı</string>
<string name="initial_sync_start_importing_account_joined_rooms">İlkin sinxronizasiya:
\nOtaqlara daxil olmaq</string>
<string name="initial_sync_start_importing_account_joined_rooms">İlkin sinxronizasiya:
\nSöhbətləriniz yüklənilir
\nƏgər çoxlu otaqlara qoşulmusunuzsa, bu, bir az vaxt apara bilər</string>
<string name="initial_sync_start_importing_account_invited_rooms">İlkin sinxronizasiya:
\nDəvət olunmuş otaqların idxalı</string>
<string name="initial_sync_start_importing_account_left_rooms">İlkin sinxronizasiya:
@@ -133,4 +134,6 @@
<string name="notice_room_third_party_invite_by_you">Otağa qoşulmaq üçün %1$s-a dəvət göndərdiniz</string>
<string name="notice_room_server_acl_updated_title">%s, bu otaq üçün server ACL-lərini dəyişdi.</string>
<string name="notice_room_server_acl_set_allowed">• %s ilə uyğunlaşan serverlərə icazə verildi.</string>
<string name="notice_room_third_party_revoked_invite_by_you">Siz %1$s üçün otağa qoşulmaq dəvətin ləğv etdiniz</string>
<string name="notice_direct_room_third_party_invite_by_you">%1$s-ı dəvət etdiniz</string>
</resources>

View File

@@ -2836,4 +2836,5 @@
<string name="attachment_type_selector_file">Adjunts</string>
<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>
</resources>

View File

@@ -2891,4 +2891,12 @@
<item quantity="few">%1$d vybrané</item>
<item quantity="other">%1$d vybraných</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Přepnutí režimu celé obrazovky</string>
<string name="attachment_type_selector_text_formatting">Formátování textu</string>
<string name="error_voice_broadcast_already_in_progress_message">Již nahráváte hlasové vysílání. Ukončete prosím aktuální hlasové vysílání a zahajte nové.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Hlasové vysílání už nahrává někdo jiný. Počkejte, až jeho hlasové vysílání skončí, a zahajte nové.</string>
<string name="error_voice_broadcast_permission_denied_message">Nemáte potřebná oprávnění k zahájení hlasového vysílání v této místnosti. Obraťte se na správce místnosti, aby vám zvýšil oprávnění.</string>
<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>
</resources>

View File

@@ -2835,4 +2835,12 @@
<item quantity="one">%1$d ausgewählt</item>
<item quantity="other">%1$d ausgewählt</item>
</plurals>
<string name="error_voice_broadcast_permission_denied_message">Du hast nicht die nötigen Berechtigungen, um eine Sprachübertragung in diesem Raum zu starten. Kontaktiere einen Raumadministrator, um deine Berechtigungen anzupassen.</string>
<string name="error_voice_broadcast_unauthorized_title">Sprachübertragung kann nicht gestartet werden</string>
<string name="rich_text_editor_full_screen_toggle">Vollbildmodus umschalten</string>
<string name="attachment_type_selector_text_formatting">Textformatierung</string>
<string name="error_voice_broadcast_already_in_progress_message">Du zeichnest bereits eine Sprachübertragung auf. Bitte beende die laufende Übertragung, um eine neue zu beginnen.</string>
<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>
</resources>

View File

@@ -2827,4 +2827,12 @@
<item quantity="one">%1$d valitud</item>
<item quantity="other">%1$d valitud</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Lülita täisekraanivaade sisse/välja</string>
<string name="attachment_type_selector_text_formatting">Tekstivorming</string>
<string name="error_voice_broadcast_already_in_progress_message">Sa juba salvestad ringhäälingukõnet. Uue alustamiseks palun lõpeta eelmine salvestus.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Keegi juba salvestab ringhäälingukõnet. Uue ringhäälingukõne salvestamiseks palun oota, kuni see teine ringhäälingukõne on lõppenud.</string>
<string name="error_voice_broadcast_permission_denied_message">Sul pole piisavalt õigusi selles jututoas ringhäälingukõne algatamiseks. Õiguste lisamiseks palun võta ühendust jututoa haldajaga.</string>
<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>
</resources>

View File

@@ -2802,4 +2802,27 @@
<item quantity="one">۱ گزیده</item>
<item quantity="other">%1$d گزیده</item>
</plurals>
<string name="error_voice_broadcast_permission_denied_message">اجازه‌های لازم برای آغاز پخش صوتی در این اتاق را ندارید. برای ارتقای اجازه‌هایتان با یک مدیر اتاق تماس بگیرید.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">فرد دیگری در حال ضبط یک پخش صوتی است. برای آغاز یک پخش جدید، منتظر پایان پخشش بمانید.</string>
<string name="qr_code_login_header_connected_description">با بررسی افزاره‌های وارد شده‌تان باید کد زیر را ببینید. تأیید کنید که این کد با آن افزاره مطابق است:</string>
<string name="error_voice_broadcast_already_in_progress_message">دارید یک پخش صوتی ضبط می‌کنید. لطفاً برای آغاز یک پخش جدید، به پخش کنونی پایان دهید.</string>
<string name="some_devices_will_not_be_able_to_decrypt">⚠ افزاره‌های تأییدنشده‌ای در این اتاق وجود دارند. آن‌ها قادر به رمزگشایی پیام‌هایی که فرستاده‌اید نیستند.</string>
<string name="qr_code_login_header_scan_qr_code_description">استفاده از دوربین روی این افزاره برای پویش کد QR نشان داده شده روی افزارهٔ دیگرتان:</string>
<string name="labs_enable_client_info_recording_summary">ضبط نام کارخواه، نگارش و نشانی برای بازشناسی آسان‌تر نشست‌ها در مدیر نشست.</string>
<string name="room_settings_global_block_unverified_info_text">🔒 رمزگذاری به نشست‌های تأیید شده را فقط برای تمامی اتاق‌ها در تنظیمات امنیت به کار انداخته‌اید.</string>
<plurals name="device_manager_other_sessions_recommendation_description_inactive">
<item quantity="one">خارج شدن از نشست‌های قدیمی (۱ روز یا بیش‌تر) که دیگر استفاده نمی‌کنید را در نظر داشته باشید.</item>
<item quantity="other">خارج شدن از نشست‌های قدیمی (%1$d روز یا بیش‌تر) که دیگر استفاده نمی‌کنید را در نظر داشته باشید.</item>
</plurals>
<string name="labs_enable_voice_broadcast_summary">توانایی ضبط و فرستادن پخش صدا در خط زمانی اتاق.</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="error_check_network">چیزی اشتباه پیش رفت. لطفاً اتّصال شبکه‌تان را بررسی و دوباره تلاش کنید.</string>
<string name="settings_troubleshoot_test_system_settings_permission_failed">${app_name} برای نمایش آگاهی‌ها نیازمند اجازه است.
\nلطفاً اجازه را اعطا کنید.</string>
<string name="error_voice_broadcast_unauthorized_title">نمی‌توان پخش صدایی جدید را آغاز کرد</string>
<string name="rich_text_editor_full_screen_toggle">تغییر حالت تمام‌صفحه</string>
<string name="a11y_voice_broadcast_fast_forward">۳۰ ثانیه پیش‌روی</string>
<string name="a11y_voice_broadcast_fast_backward">۳۰ ثانیه پس‌روی</string>
<string name="attachment_type_selector_text_formatting">قالب‌بندی متن</string>
</resources>

View File

@@ -2836,4 +2836,12 @@
<item quantity="one">%1$d sélectionné</item>
<item quantity="other">%1$d sélectionnés</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Basculer en mode plein écran</string>
<string name="attachment_type_selector_text_formatting">Formatage de texte</string>
<string name="error_voice_broadcast_already_in_progress_message">Vous êtes déjà en train de réaliser une diffusion audio. Veuillez terminer votre diffusion audio actuelle pour en démarrer une nouvelle.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Une autre personne est déjà en train de réaliser une diffusion audio. Attendez que sa diffusion audio soit terminée pour en démarrer une nouvelle.</string>
<string name="error_voice_broadcast_permission_denied_message">Vous navez pas les permissions requises pour démarrer une nouvelle diffusion audio dans ce salon. Contactez un administrateur du salon pour mettre-à-jour vos permissions.</string>
<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>
</resources>

View File

@@ -2783,4 +2783,12 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<plurals name="x_selected">
<item quantity="other">%1$d dipilih</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Ubah mode layar penuh</string>
<string name="attachment_type_selector_text_formatting">Format teks</string>
<string name="error_voice_broadcast_already_in_progress_message">Anda sedang merekam sebuah siaran suara. Mohon akhiri siaran suara Anda saat ini untuk memulai yang baru.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Orang lain sedang merekam sebuah siaran suara. Tunggu untuk siaran suara berakhir untuk memulai yang baru.</string>
<string name="error_voice_broadcast_permission_denied_message">Anda tidak memiliki izin yang dibutuhkan untuk memulai sebuah siaran suara di ruangan ini. Hubungi sebuah administrator ruangan untuk meningkatkan izin Anda.</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>
</resources>

View File

@@ -2459,4 +2459,18 @@
<string name="create_room">ルームを作成</string>
<string name="start_chat">チャットを開始</string>
<string name="all_chats">全ての会話</string>
<string name="home_empty_no_rooms_title">${app_name}にようこそ、
\n%s。</string>
<string name="device_manager_learn_more_sessions_verified_title">認証済のセッション</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">QRコードでサインイン</string>
<string name="labs_enable_session_manager_title">新しいセッションマネージャーを有効にする</string>
<string name="qr_code_login_header_show_qr_code_title">QRコードでサインイン</string>
<string name="three">3</string>
<string name="two">2</string>
<string name="one">1</string>
<string name="qr_code_login_header_failed_other_description">リクエストが失敗しました。</string>
<string name="qr_code_login_scan_qr_code_button">QRコードをスキャン</string>
<string name="login_scan_qr_code">QRコードをスキャン</string>
<string name="qr_code_login_header_scan_qr_code_title">QRコードをスキャン</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">QRコードが不正です。</string>
</resources>

View File

@@ -2836,4 +2836,12 @@
<item quantity="one">%1$d selecionada(o)</item>
<item quantity="other">%1$d selecionadas(os)</item>
</plurals>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Alguma outra pessoa já está gravando um broadcast de voz. Espere que o broadcast de voz dela termine para começar um novo.</string>
<string name="rich_text_editor_full_screen_toggle">Alternar modo de tela cheia</string>
<string name="attachment_type_selector_text_formatting">Formatação de texto</string>
<string name="error_voice_broadcast_already_in_progress_message">Você já está gravando um broadcast de voz. Por favor termine seu broadcast de voz atual para começar um novo.</string>
<string name="error_voice_broadcast_permission_denied_message">Você não tem as permissões requeridas para começar um broadcast de voz nesta sala. Contacte um/uma administrador(a) para fazer upgrade de suas permissões.</string>
<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>
</resources>

View File

@@ -2653,7 +2653,7 @@
<string name="device_manager_sessions_other_description">V záujme čo najlepšieho zabezpečenia, overte svoje relácie a odhláste sa z každej relácie, ktorú už nepoznáte alebo nepoužívate.</string>
<string name="device_manager_sessions_other_title">Iné relácie</string>
<string name="settings_sessions_list">Relácie</string>
<string name="a11y_open_spaces">Otvoriť zoznam priestorov</string>
<string name="a11y_open_spaces">Zoznam priestorov</string>
<string name="a11y_create_message">Vytvoriť novú konverzáciu alebo miestnosť</string>
<string name="room_list_filter_people">Ľudia</string>
<string name="room_list_filter_favourites">Obľúbené</string>
@@ -2891,4 +2891,12 @@
<item quantity="few">%1$d vybraté</item>
<item quantity="other">%1$d vybraných</item>
</plurals>
<string name="rich_text_editor_full_screen_toggle">Prepnutie režimu na celú obrazovku</string>
<string name="attachment_type_selector_text_formatting">Formátovanie textu</string>
<string name="error_voice_broadcast_already_in_progress_message">Už nahrávate hlasové vysielanie. Ukončite aktuálne hlasové vysielanie a spustite nové.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Niekto iný už nahráva hlasové vysielanie. Počkajte, kým sa skončí jeho hlasové vysielanie, a potom spustite nové.</string>
<string name="error_voice_broadcast_permission_denied_message">Nemáte požadované oprávnenia na spustenie hlasového vysielania v tejto miestnosti. Obráťte sa na správcu miestnosti, aby vám rozšíril oprávnenia.</string>
<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>
</resources>

View File

@@ -601,9 +601,7 @@
<string name="settings_send_markdown_summary">Formatojini mesazhet duke përdorur sintaksën Markdown përpara se të dërgohen. Kjo lejon formatim të thelluar, f.v., përdorimi i yllthit për ta shfaqur tekstin me të pjerrëta.</string>
<string name="settings_show_join_leave_messages_summary">Nuk prek ftesat, heqjet dhe dëbimet.</string>
<string name="settings_opt_in_of_analytics_summary">${app_name}-i grumbullon të dhëna analitike anonime që të na lejojë ta përmirësojmë aplikacionin.</string>
<string name="settings_unignore_user">Të shfaqen krejt mesazhet prej %s\?
\n
\nKini parasysh që ky veprim do të sjellë rinisjen e aplikacionit dhe mund të hajë ca kohë.</string>
<string name="settings_unignore_user">Të shfaqen krejt mesazhet prej %s\?</string>
<string name="settings_labs_native_camera_summary">Nis kamerën e sistemit, në vend se skenën e kamerës vetjake.</string>
<string name="command_description_emote">Shfaq veprimin</string>
<string name="command_description_markdown">On/Off sintakse Markdown</string>
@@ -897,10 +895,10 @@
<string name="send_suggestion_failed">Su arrit të dërgohej sugjerimi (%s)</string>
<string name="settings_labs_show_hidden_events_in_timeline">Shfaq te rrjedha kohore akte të fshehura</string>
<string name="settings_integration_manager">Përgjegjës integrimesh</string>
<string name="push_gateway_item_app_id">app_id:</string>
<string name="push_gateway_item_push_key">push_key:</string>
<string name="push_gateway_item_app_display_name">app_display_name:</string>
<string name="push_gateway_item_device_name">emër_sesioni:</string>
<string name="push_gateway_item_app_id">ID Aplikacioni:</string>
<string name="push_gateway_item_push_key"/>
<string name="push_gateway_item_app_display_name">Emër Aplikacioni Në Ekran:</string>
<string name="push_gateway_item_device_name">Emër Sesioni Në Ekran:</string>
<string name="bottom_action_people_x">Mesazhe të Drejtpërdrejtë</string>
<string name="send_file_step_idle">Po pritet…</string>
<string name="send_file_step_encrypting_thumbnail">Po fshehtëzohet miniatura…</string>
@@ -949,11 +947,11 @@
<string name="settings_discovery_identity_server_info">Po përdorni %1$s për të zbuluar dhe për të qenë i zbulueshëm nga kontakte ekzistues që njihni.</string>
<string name="settings_discovery_identity_server_info_none">Spo përdorni ndonjë shërbyes identitetesh. Që të zbuloni dhe të jini i zbulueshëm nga kontakte ekzistuese që njihni, formësoni një të tillë më poshtë.</string>
<string name="settings_discovery_emails_title">Adresa email të zbulueshme</string>
<string name="settings_discovery_no_mails">Mundësitë rreth zbulimesh do të shfaqen sapo të keni shtuar një email.</string>
<string name="settings_discovery_no_mails">Mundësitë e zbulimit do të shfaqen sapo të keni shtuar një adresë email.</string>
<string name="settings_discovery_no_msisdn">Mundësi zbulimesh do të shfaqen sapo të keni shtuar një numër telefoni.</string>
<string name="settings_discovery_disconnect_identity_server_info">Shkëputja prej shërbyesit tuaj të identiteteve do të thotë se sdo të jeni i zbulueshëm prej përdoruesish të tjerë dhe sdo të jeni në gjendje të ftoni të tjerë me email ose telefon.</string>
<string name="settings_discovery_msisdn_title">Numra telefoni të zbulueshëm</string>
<string name="settings_discovery_confirm_mail">Ju dërguam një email ripohimi te %s, hapeni dhe klikoni mbi lidhjen e ripohimit</string>
<string name="settings_discovery_confirm_mail">Ju dërguam një email te %s, hapeni dhe klikoni mbi lidhjen e ripohimit</string>
<string name="settings_discovery_enter_identity_server">Jepni një URL shërbyesi identitetesh</string>
<string name="settings_discovery_bad_identity_server">Su lidh dot te shërbyes identitetesh</string>
<string name="settings_discovery_please_enter_server">Ju lutemi, jepni URL-në e shërbyesit të identiteteve</string>
@@ -1080,7 +1078,7 @@
<string name="login_registration_not_supported">Aplikacioni sështë në gjendje të krijojë llogari në këtë shërbyes Home.
\n
\nDoni të regjistroheni duke përdorur një klient web\?</string>
<string name="login_login_with_email_error">Ky emai sështë përshoqëruar me ndonjë llogari.</string>
<string name="login_login_with_email_error">Kjo adresë email sështë e përshoqëruar me ndonjë llogari.</string>
<string name="login_reset_password_on">Ricaktoni fjalëkalimin në %1$s</string>
<string name="login_reset_password_notice">Te mesazhet tuaj do të dërgohet një email verifikimi, për të ripohuar caktimin e fjalëkalimit tuaj të ri.</string>
<string name="login_reset_password_submit">Pasuesi</string>
@@ -1089,7 +1087,7 @@
<string name="login_reset_password_warning_title">Kujdes!</string>
<string name="login_reset_password_warning_content">Ndryshimi i fjalëkalimit tuaj do të sjellë zerim të çfarëdo kyçesh fshehtëzimi skaj-më-skaj në krejt sesionet tuaj, duke e bërë të palexueshëm historikun e bisedave të fshehtëzuara. Ujdisni një Kopjeruajtje Kyçesh ose eksportoni kyçet e dhomës tuaj prej një tjetër sesioni, përpara se të ricaktoni fjalëkalimin tuaj.</string>
<string name="login_reset_password_warning_submit">Vazhdo</string>
<string name="login_reset_password_error_not_found">Ky email sështë i lidhur me ndonjë llogari</string>
<string name="login_reset_password_error_not_found">Kjo adresë email sështë e lidhur me ndonjë llogari</string>
<string name="login_reset_password_mail_confirmation_title">Kontrolloni te mesazhet tuaj të marrë</string>
<string name="login_reset_password_mail_confirmation_notice">Një email verifikimi u dërgua te %1$s.</string>
<string name="login_reset_password_mail_confirmation_notice_2">Prekni mbi lidhjen që të ripohohet fjalëkalimi juaj i ri. Pasi të keni ndjekur lidhjen që përmban, klikoni më poshtë.</string>
@@ -1103,7 +1101,7 @@
\n
\nTë ndalet procesi i ndryshimit të fjalëkalimit\?</string>
<string name="login_set_email_title">Caktoni adresë email</string>
<string name="login_set_email_notice">Caktoni një email për rimarrje të llogarisë tuaj. Më vonë, mundeni të lejoni persona që njihni tju zbulojnë përmes email-it tuaj.</string>
<string name="login_set_email_notice">Caktoni një adresë email për rimarrje të llogarisë tuaj. Më vonë, mundeni të lejoni persona që njihni tju zbulojnë përmes kësaj adrese.</string>
<string name="login_set_email_mandatory_hint">Email</string>
<string name="login_set_email_optional_hint">Email (në daçi)</string>
<string name="login_set_email_submit">Pasuesi</string>
@@ -1445,7 +1443,7 @@
<string name="event_redacted">Mesazhi u fshi</string>
<string name="settings_show_redacted">Shfaq mesazhe të hequr</string>
<string name="settings_show_redacted_summary">Shfaq një vendmbajtëse për mesazhe të hequr</string>
<string name="settings_discovery_confirm_mail_not_clicked">Ju dërguam një email ripohimi te %s, ju lutemi, së pari, shihni email-in tuaj dhe klikoni mbi lidhjen e ripohimit</string>
<string name="settings_discovery_confirm_mail_not_clicked">Ju dërguam një email te %s, ju lutemi, së pari, shihni email-in tuaj dhe klikoni mbi lidhjen e ripohimit</string>
<string name="settings_text_message_sent_wrong_code">Kodi i verifikimit sështë i saktë.</string>
<string name="uploads_media_title">MEDIA</string>
<string name="uploads_media_no_result">Ska media në këtë dhomë</string>
@@ -1518,9 +1516,7 @@
\n
\nKëtë veprim mund ta zhbëni në çfarëdo kohe, te rregullimet e përgjithshme.</string>
<string name="room_participants_action_unignore_title">Hiqe shpërfilljen e përdoruesit</string>
<string name="room_participants_action_unignore_prompt_msg">Heqja e shpërfilljes së këtij përdoruesi do të shfaqë sërish krejt mesazhet prej tij.
\n
\nKini parasysh se ky veprim do të sjellë rinisjen e aplikacionit dhe do të hajë ca kohë.</string>
<string name="room_participants_action_unignore_prompt_msg">Heqja e shpërfilljes së këtij përdoruesi do të shfaqë sërish krejt mesazhet prej tij.</string>
<string name="room_participants_action_cancel_invite_title">Anuloje ftesën</string>
<string name="room_participants_action_cancel_invite_prompt_msg">Jeni i sigurt se doni të anulohet ftesa për këtë përdorues\?</string>
<string name="room_participants_remove_title">Përzëre përdoruesin</string>
@@ -1534,7 +1530,7 @@
<string name="room_participants_unban_prompt_msg">Heqja e dëbimit përdoruesit do ti lejojë të marrë pjesë sërish në dhomë.</string>
<string name="settings_phone_number_empty">Te llogaria juaj sështë shtuar ndonjë numër telefoni</string>
<string name="settings_emails">Adresa email</string>
<string name="settings_emails_empty">Te llogaria juaj sështë shtuar ndonjë email</string>
<string name="settings_emails_empty">Te llogaria juaj sështë shtuar ndonjë adresë email</string>
<string name="settings_phone_numbers">Numra telefoni</string>
<string name="settings_remove_three_pid_confirmation_content">Të hiqet %s\?</string>
<string name="error_threepid_auth_failed">Sigurohuni që keni klikuar te lidhja në email-in që ju kemi dërguar.</string>
@@ -1552,7 +1548,7 @@
<string name="disabled_integration_dialog_title">Integrimet janë të çaktivizuara</string>
<string name="disabled_integration_dialog_content">Që të bëhet kjo, aktivizoni “Lejo integrime”, te Rregullimet.</string>
<string name="settings_emails_and_phone_numbers_title">Email-e dhe numra telefonash</string>
<string name="settings_emails_and_phone_numbers_summary">Administroni email-e dhe numra telefonash të lidhur me llogarinë tuaj Matrix</string>
<string name="settings_emails_and_phone_numbers_summary">Administroni adresa email dhe numra telefonash të lidhur me llogarinë tuaj Matrix</string>
<plurals name="room_settings_banned_users_count">
<item quantity="one">%d përdorues i dëbuar</item>
<item quantity="other">%d përdorues të dëbuar</item>
@@ -1605,7 +1601,7 @@
<string name="auth_invalid_login_deactivated_account">Kjo llogari është çaktivizuar.</string>
<string name="error_saving_media_file">Su ruajt dot kartelë media</string>
<string name="confirm_your_identity_quad_s">Ripohoni identitetin tuaj duke verifikuar këto kredenciale hyrjeje, duke i akorduar hyrje te mesazhe të fshehtëzuar.</string>
<string name="identity_server_error_bulk_sha256_not_supported">Për privatësinë tuaj, ${app_name}-i mbulon vetëm dërgim email-esh dhe numrash telefoni përdoruesi të koduar.</string>
<string name="identity_server_error_bulk_sha256_not_supported">Për privatësinë tuaj, ${app_name}-i mbulon vetëm dërgim adresash email dhe numrash telefoni përdoruesi të koduar.</string>
<string name="power_level_edit_title">Caktoni rol</string>
<string name="power_level_title">Rol</string>
<string name="a11y_open_chat">Hapni fjalosje</string>
@@ -1769,7 +1765,7 @@
<string name="attachment_viewer_item_x_of_y">%1$d nga %2$d</string>
<string name="settings_discovery_consent_action_give_consent">Jepe pranimin</string>
<string name="settings_discovery_consent_action_revoke">Shfuqizoje pranimin tim</string>
<string name="settings_discovery_consent_notice_on">Keni dhënë pranimin tuaj për të dërguar email-e dhe numra telefonash te ky shërbyes identitetesh që të zbulojë përdorues të tjerë prej kontakteve tuaj.</string>
<string name="settings_discovery_consent_notice_on">Keni dhënë pranimin tuaj për të dërguar adresa email-e dhe numra telefonash te ky shërbyes identitetesh që të zbulojë përdorues të tjerë prej kontakteve tuaj.</string>
<string name="settings_discovery_consent_title">Dërgo email-e dhe numra telefonash</string>
<string name="direct_room_user_list_suggestions_title">Sugjerime</string>
<string name="direct_room_user_list_known_title">Përdorues të Ditur</string>
@@ -2135,7 +2131,7 @@
<string name="settings_notification_mentions_and_keywords">Përmendje dhe Fjalëkyçe</string>
<string name="settings_notification_default">Njoftime Parazgjedhje</string>
<string name="link_this_email_with_your_account">%s te Rregullimet, që të merrni ftesa drejt e në ${app_name}.</string>
<string name="link_this_email_settings_link">Lidheni këtë email me llogarinë tuaj</string>
<string name="link_this_email_settings_link">Lidheni këtë adresë email me llogarinë tuaj</string>
<string name="this_invite_to_this_space_was_sent">Kjo ftesë për te kjo hapësirë u dërgua te %s që sështë i përshoqëruar me llogarinë tuaj</string>
<string name="this_invite_to_this_room_was_sent">Kjo ftesë për te kjo dhomë qe dërguar për %s që sështë i përshoqëruar me llogarinë tuaj</string>
<string name="all_rooms_youre_in_will_be_shown_in_home">Krejt dhomat ku gjendeni do të shfaqen te Home.</string>
@@ -2203,7 +2199,7 @@
<string name="room_settings_space_access_title">Hyrje në hapësirë</string>
<string name="room_settings_access_rules_pref_dialog_title">Kush mund të hyjë\?</string>
<string name="settings_notification_emails_enable_for_email">Aktivizo njoftime me email për %s</string>
<string name="settings_notification_emails_no_emails">Që të merrni email me njoftim, ju lutemi, përshoqërojini llogarisë tuaj Matrix një email</string>
<string name="settings_notification_emails_no_emails">Që të merrni email me njoftim, ju lutemi, përshoqërojini llogarisë tuaj Matrix një adresë email</string>
<string name="settings_notification_emails_category">Njoftim me email</string>
<string name="room_permissions_upgrade_the_space">Të përmirësojë hapësirën</string>
<string name="room_permissions_change_space_name">Të ndryshojë emrin e hapësirës</string>
@@ -2249,8 +2245,8 @@
<string name="create_poll_question_title">Pyetje ose temë pyetësori</string>
<string name="create_poll_title">Krijoni Pyetësor</string>
<string name="identity_server_consent_dialog_content_question">A pranoni të dërgohen këto hollësi\?</string>
<string name="identity_server_consent_dialog_content_3">Për të zbuluar kontakte ekzistuese, duhet të dërgoni hollësi kontakti (email-e dhe numra telefonash) te shërbyesi juaj i identiteteve. Para dërgimit, i fshehtëzojmë të dhënat tuaja, për privatësi.</string>
<string name="identity_server_consent_dialog_title_2">Dërgo email-e dhe numra telefonash te %s</string>
<string name="identity_server_consent_dialog_content_3">Për të zbuluar kontakte ekzistuese, duhet të dërgoni hollësi kontakti (adresa email dhe numra telefonash) te shërbyesi juaj i identiteteve. Para dërgimit, i fshehtëzojmë të dhënat tuaja, për privatësi.</string>
<string name="identity_server_consent_dialog_title_2">Dërgo adresa email dhe numra telefonash te %s</string>
<string name="settings_discovery_consent_notice_off_2">Kontaktet tuaja janë private. Për të zbuluar përdorues prej kontakteve tuaja, na duhet leja juaj për të dërguar hollësi kontakti te shërbyesi juaj i identiteteve.</string>
<string name="shortcut_disabled_reason_sign_out">Është bërë dalja nga sesioni!</string>
<string name="shortcut_disabled_reason_room_left">U dol nga dhoma!</string>
@@ -2355,7 +2351,7 @@
<string name="ftue_auth_use_case_option_three">Bashkësi</string>
<string name="ftue_auth_use_case_option_two">Ekipe</string>
<string name="ftue_auth_use_case_option_one">Shokë dhe familje</string>
<string name="ftue_auth_use_case_subtitle">Do tju ndihmojmë të lidheni.</string>
<string name="ftue_auth_use_case_subtitle">Do tju ndihmojmë të lidheni</string>
<string name="ftue_auth_use_case_title">Me kë do të bisedoni më shumë\?</string>
<string name="navigate_to_thread_when_already_in_the_thread">Po e shihni tashmë këtë rrjedhë!</string>
<string name="view_in_room">Shiheni në Dhomë</string>
@@ -2411,15 +2407,15 @@
<string name="error_forbidden_digits_only_username">Shërbyesi Home spranon emër përdorues vetëm me shifra.</string>
<string name="ftue_personalize_skip_this_step">Anashkalojeni këtë hap</string>
<string name="ftue_personalize_submit">Ruajeni dhe vazhdoni</string>
<string name="ftue_personalize_complete_subtitle">Parapëlqimet tuaja u ruajtën.</string>
<string name="ftue_personalize_complete_subtitle">Kaloni te rregullimet, kur të doni, që të përditësoni profilin tuaj</string>
<string name="ftue_personalize_complete_title">Kaq qe!</string>
<string name="ftue_personalize_lets_go">Shkojmë</string>
<string name="ftue_profile_picture_subtitle">Këtë mund ta ndryshoni kurdo.</string>
<string name="ftue_profile_picture_subtitle">Erdh koha ti jepet surrat emrit</string>
<string name="ftue_profile_picture_title">Shtoni një foto profili</string>
<string name="ftue_display_name_entry_footer">Këtë mund ta ndryshoni më vonë</string>
<string name="ftue_display_name_entry_title">Emër Në Ekran</string>
<string name="ftue_display_name_title">Zgjidhni një emër për në ekran</string>
<string name="ftue_account_created_subtitle">Llogaria juaj %s u krijua.</string>
<string name="ftue_account_created_subtitle">Llogaria juaj %s u krijua</string>
<string name="ftue_account_created_congratulations_title">Përgëzime!</string>
<string name="ftue_account_created_take_me_home">Shpjemëni në shtëpi</string>
<string name="ftue_account_created_personalize">Personalizoni profil</string>
@@ -2450,4 +2446,380 @@
<string name="settings_presence">Prani</string>
<string name="action_learn_more">Mësoni më tepër</string>
<string name="action_try_it_out">Provojeni</string>
</resources>
<string name="labs_enable_element_call_permission_shortcuts">Aktivizo shkurtore lejesh për Thirrje Element</string>
<string name="settings_troubleshoot_test_distributors_fdroid">Su gjet metodë tjetër veç njëkohësimit në prapaskenë.</string>
<string name="initial_sync_request_content">${app_name}-it i duhet një fshehtinë e pastër, për të qenë i përditësuar, për arsyen vijuese:
\n%s
\n
\nKini parasysh se ky veprim do të sjellë rinisjen e aplikacionit dhe mund të dojë ca kohë.</string>
<string name="labs_enable_client_info_recording_summary">Regjistro emrin, versionin dhe URL-në e klientit, për të dalluar më kollaj sesionet te përgjegjës sesionesh.</string>
<string name="device_manager_session_last_activity">Veprimtaria e fundit më %1$s</string>
<string name="rich_text_editor_format_underline">Apliko format me të nënvizuara</string>
<string name="rich_text_editor_format_strikethrough">Apliko format me të hequravije</string>
<string name="rich_text_editor_format_italic">Apliko format me të pjerrta</string>
<string name="rich_text_editor_format_bold">Apliko format me të trasha</string>
<string name="qr_code_login_confirm_security_code_description">Ju lutemi, sigurohuni se e dini origjinën e këtij kodi. Duke lidhur pajisje, do ti jepni dikujt hyrje të plotë në llogarinë tuaj.</string>
<string name="qr_code_login_confirm_security_code">Ripohojeni</string>
<string name="qr_code_login_try_again">Riprovoni</string>
<string name="qr_code_login_status_no_match">Pa përputhje\?</string>
<string name="qr_code_login_signing_in">Po bëhet hyrja juaj</string>
<string name="qr_code_login_connecting_to_device">Po lidhet me pajisjen</string>
<string name="qr_code_login_scan_qr_code_button">Skanoni kodin QR</string>
<string name="qr_code_login_signing_in_a_mobile_device">Po bëhet hyrja te një pajisje celulare\?</string>
<string name="qr_code_login_show_qr_code_button">Shfaq kod QR te kjo pajisje</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_2">Përzgjidhni “Skanoni kod QR”</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_1">Filloja në skenën e hyrjes</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_2">Përzgjidhni “Hyni me kod QR”</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_1">Filloja në skenën e hyrjes</string>
<string name="qr_code_login_new_device_instruction_3">Përzgjidhni “Shfaq kod QR”</string>
<string name="qr_code_login_new_device_instruction_2">Kaloni te Rregullime -&gt; Siguri &amp; Privatësi</string>
<string name="qr_code_login_new_device_instruction_1">Hapeni aplikacionin në pajisjen tuaj tjetër</string>
<string name="qr_code_login_header_failed_user_cancelled_description">Hyrja u anulua në pajisjen tuaj tjetër.</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">Ai kod QR është i pavlefshëm.</string>
<string name="qr_code_login_header_failed_other_device_not_signed_in_description">Duhet bërë hyrja te pajisja tjetër.</string>
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Nga pajisja tjetër është bërë tashmë hyrja.</string>
<string name="qr_code_login_header_failed_other_description">Kërkesa dështoi.</string>
<string name="qr_code_login_header_failed_denied_description">Kërkesa u hodh poshtë në pajisjen tjetër.</string>
<string name="qr_code_login_header_failed_device_is_not_supported_description">Lidhja me këtë pajisje nuk mbulohet.</string>
<string name="qr_code_login_header_failed_title">Lidhje e pasuksesshme</string>
<string name="qr_code_login_header_connected_title">U vendos lidhje e siguruar</string>
<string name="qr_code_login_header_show_qr_code_title">Hyni me kod QR</string>
<string name="qr_code_login_header_scan_qr_code_title">Skanoni kodin QR</string>
<string name="three">3</string>
<string name="two">2</string>
<string name="one">1</string>
<string name="onboarding_new_app_layout_button_try">Provojeni</string>
<string name="onboarding_new_app_layout_feedback_message">Prekeni djathtas në krye që të shihni mundësinë për dhënie përshtypjesh.</string>
<string name="onboarding_new_app_layout_feedback_title">Jepni Përshtypje</string>
<string name="onboarding_new_app_layout_spaces_message">Hyni në Hapësirat tuaja (poshtë djathtas) më shpejt dhe më kollaj se kurrë më parë.</string>
<string name="onboarding_new_app_layout_spaces_title">Hyni Në Hapësira</string>
<string name="onboarding_new_app_layout_welcome_message">Që të thjeshtohet ${app_name} juaj, skedat tanimë janë opsionale. Administrojini duke përdorur menunë djathtas në krye.</string>
<string name="onboarding_new_app_layout_welcome_title">Mirë se vini te një pamje e re!</string>
<string name="home_empty_no_unreads_message">Ky është vendi ku do të shfaqen mesazhet tuaj të palexuar, kur të ketë të tillë.</string>
<string name="home_empty_no_unreads_title">Ska gjë për ta raportuar.</string>
<string name="home_empty_no_rooms_message">Aplikacioni “all-in-one” i fjalosjeve të siguruara, për ekipe, shokë dhe ente. Që tia filloni, krijoni një fjalosje, ose hyni në një dhomë ekzistuese.</string>
<string name="home_empty_no_rooms_title">Mirë se vini te ${app_name},
\n%s.</string>
<string name="home_empty_space_no_rooms_message">Hapësirat janë një mënyrë e re për të grupuar dhoma dhe persona. Shtoni një dhomë ekzistuese, ose krijoni një të re, duke përdorur butonin poshtë djathtas.</string>
<string name="home_empty_space_no_rooms_title">%s
\nduket paksa si i zbrazët.</string>
<string name="labs_enable_voice_broadcast_summary">Jini në gjendje të incizoni dhe dërgoni transmetim zanor në rrjedhën kohore të dhomës.</string>
<string name="labs_enable_voice_broadcast_title">Aktivizoni transmetim zanor (nën zhvillim aktiv)</string>
<string name="labs_enable_client_info_recording_title">Aktivizo regjistrim hollësish klienti</string>
<string name="labs_enable_session_manager_summary">Shihini më qartë dhe kontrolloni më mirë krejt sesionet tuaj.</string>
<string name="labs_enable_session_manager_title">Aktivizo përgjegjës të ri sesionesh</string>
<string name="device_manager_learn_more_session_rename">Përdorues të tjerë në mesazhe të drejtpërdrejtë dhe dhoma ku hyni janë në gjendje të shohin një listë të plotë të sesioneve tuaj.
\n
\nKjo u jep atyre besim se po flasin vërtet me ju, por do të thotë gjithashtu që mund shohin emrin e sesionit që jepni këtu.</string>
<string name="device_manager_learn_more_session_rename_title">Riemërtim sesionesh</string>
<string name="device_manager_learn_more_sessions_verified">Sesionet e verifikuar përfaqësojnë sesione ku është bërë hyrja dhe janë verifikuar, ose duke përdorur togfjalëshin tuaj të sigurt, ose me verifikim.
\n
\nKjo do të thotë se zotërojnë kyçe fshehtëzimi për mesazhe tuajt të mëparshëm dhe u ripohojnë përdoruesve të tjerë, me të cilët po komunikoni, se këto sesione ju takojnë juve.</string>
<string name="device_manager_learn_more_sessions_verified_title">Sesione të verifikuar</string>
<string name="device_manager_learn_more_sessions_unverified">Sesionet e paverifikuar janë sesione në të cilët është bërë hyrja me kredencialet tuaja, por pa u bërë verifikim.
\n
\nDuhet të jeni posaçërisht të qartë se i njihni këto sesione, ngaqë mund të përbëjnë përdorim të paautorizuar të llogarisë tuaj.</string>
<string name="device_manager_learn_more_sessions_unverified_title">Sesione të paverifikuar</string>
<string name="device_manager_learn_more_sessions_inactive">Sesioni joaktive janë sesione që keni ca kohë që si përdorni, por që vazhdojnë të marrin kyçe fshehtëzimi.
\n
\nHeqja e sesioneve joaktive përmirëson sigurinë dhe punimin dhe e bën më të lehtë për ju të pikasni nëse një sesion i ri është i dyshimtë.</string>
<string name="device_manager_learn_more_sessions_inactive_title">Sesione joaktive</string>
<string name="device_manager_sessions_sign_in_with_qr_code_description">Mund të përdorni këtë pajisje për të bërë hyrjen në një pajisje celulare apo web me një kod QR. Për ta bërë këtë ka dy mënyra:</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Hyni me Kod QR</string>
<string name="device_manager_session_rename_warning">Ju lutemi, kini parasysh se emrat e sesioneve janë të dukshëm edhe për personat me të cilët komunikoni.</string>
<string name="device_manager_session_rename_description">Emra vetjakë sesionesh mund tju ndihmojnë të njihni më kollaj pajisjet tuaja.</string>
<string name="device_manager_session_rename_edit_hint">Emër sesioni</string>
<string name="device_manager_session_rename">Riemërtoni sesionin</string>
<string name="device_manager_session_details_device_ip_address">Adresë IP</string>
<string name="device_manager_session_details_device_operating_system">Sistem operativ</string>
<string name="device_manager_session_details_device_model">Model</string>
<string name="device_manager_session_details_device_browser">Shfletues</string>
<string name="device_manager_session_details_application_url">URL</string>
<string name="device_manager_session_details_application_version">Version</string>
<string name="device_manager_session_details_application_name">Ëmër</string>
<string name="device_manager_session_details_application">Aplikacion</string>
<string name="device_manager_session_details_session_last_activity">Veprimtaria e fundit</string>
<string name="device_manager_session_details_session_name">Emër sesioni</string>
<string name="device_manager_push_notifications_description">Merrni njoftime push për këtë sesion.</string>
<string name="device_manager_push_notifications_title">Njoftime Push</string>
<string name="device_manager_session_details_description">Hollësi aplikacioni, pajisjeje dhe veprimtarie.</string>
<string name="device_manager_session_details_title">Hollësi sesioni</string>
<string name="device_manager_session_overview_signout">Dilni nga ky sesion</string>
<string name="device_manager_other_sessions_select">Përzgjidhni sesione</string>
<string name="device_manager_other_sessions_clear_filter">Spastroje Filtrin</string>
<string name="device_manager_other_sessions_no_inactive_sessions_found">Su gjetën sesione joaktive.</string>
<string name="device_manager_other_sessions_no_unverified_sessions_found">Su gjetën seanca të paverifikuara.</string>
<string name="device_manager_other_sessions_no_verified_sessions_found">Su gjetën sesione të verifikuara.</string>
<plurals name="device_manager_other_sessions_recommendation_description_inactive">
<item quantity="one">Shihni mundësinë e daljes nga sesione të vjetër (%1$d ditë ose më tepër) të cilët si përdorni më.</item>
<item quantity="other">Shihni mundësinë e daljes nga sesione të vjetër (%1$d ditë ose më tepër) të cilët si përdorni më.</item>
</plurals>
<string name="device_manager_other_sessions_recommendation_title_inactive">Joaktive</string>
<string name="device_manager_other_sessions_recommendation_description_unverified">Verifikoni sesionet tuaj, për shkëmbim më të sigurt mesazhesh, ose dilni prej atyre që nuk i njihni, apo përdorni më.</string>
<string name="device_manager_other_sessions_recommendation_title_unverified">Të paverifikuar</string>
<string name="device_manager_other_sessions_recommendation_description_verified">Për sigurinë më të mirë, dilni nga çfarëdo sesioni që nuk e njihni apo përdorni më.</string>
<string name="device_manager_other_sessions_recommendation_title_verified">Të verifikuar</string>
<string name="a11y_device_manager_filter">Filtroji</string>
<plurals name="device_manager_filter_option_inactive_description">
<item quantity="one">Joaktiv për %1$d ditë, ose më gjatë</item>
<item quantity="other">Joaktiv për %1$d ditë, ose më gjatë</item>
</plurals>
<string name="device_manager_filter_option_inactive">Jo aktiv</string>
<string name="device_manager_filter_option_unverified_description">Jo gati për shkëmbim të sigurt mesazhesh</string>
<string name="device_manager_filter_option_unverified">E paverifikuar</string>
<string name="device_manager_filter_option_verified_description">Gati për shkëmbim të sigurt mesazhesh</string>
<string name="device_manager_filter_option_verified">E verifikuar</string>
<string name="device_manager_filter_option_all_sessions">Krejt sesionet</string>
<string name="device_manager_filter_bottom_sheet_title">Filtroji</string>
<string name="device_manager_device_title">Pajisje</string>
<string name="device_manager_session_title">Sesion</string>
<string name="device_manager_current_session_title">Sesioni i Tanishëm</string>
<plurals name="device_manager_inactive_sessions_description">
<item quantity="one">Shihni mundësinë e daljes nga sesione të vjetër (%1$d ditë ose më tepër) të cilët si përdorni më.</item>
<item quantity="other">Shihni mundësinë e daljes nga sesione të vjetër (%1$d ditë ose më tepër) të cilët si përdorni më.</item>
</plurals>
<string name="device_manager_inactive_sessions_title">Sesione joaktive</string>
<string name="device_manager_unverified_sessions_description">Verifikojini, ose dilni nga sesione të paverifikuar.</string>
<string name="device_manager_unverified_sessions_title">Sesione të paverifikuar</string>
<string name="device_manager_header_section_security_recommendations_description">Përmirësoni sigurinë e llogarisë tuaj duke ndjekur këto rekomandime.</string>
<string name="device_manager_header_section_security_recommendations_title">Rekomandime sigurie</string>
<plurals name="device_manager_other_sessions_description_inactive">
<item quantity="one">Joaktiv për %1$d+ ditë (%2$s)</item>
<item quantity="other">Joaktiv për %1$d+ ditë (%2$s)</item>
</plurals>
<string name="device_manager_other_sessions_description_unverified_current_session">I paverifikuar · Sesioni juaj i tanishëm</string>
<string name="device_manager_other_sessions_description_unverified">I paverifikuar · Veprimtari së fundi më %1$s</string>
<string name="device_manager_other_sessions_description_verified">I verifikuar · Veprimtaria e fundit më %1$s</string>
<string name="device_manager_other_sessions_view_all">Shihni Krejt (%1$d)</string>
<string name="device_manager_view_details">Shihni Hollësitë</string>
<string name="device_manager_verify_session">Verifiko Sesion</string>
<string name="device_manager_verification_status_detail_other_session_unknown">Verifikoni sesionin tuaj të tanishëm, që të shfaqni gjendjen e verifikimit të këtij sesioni.</string>
<string name="device_manager_verification_status_detail_other_session_unverified">Për sigurinë dhe besueshmërinë më të mirë, verifikojeni, ose dilni nga ky sesion.</string>
<string name="device_manager_verification_status_detail_current_session_unverified">Verifikoni sesionin tuaj të tanishëm, për shkëmbim më të sigurt të mesazheve.</string>
<string name="device_manager_verification_status_detail_other_session_verified">Ky sesion është gati për shkëmbim të sigurt mesazhesh.</string>
<string name="device_manager_verification_status_detail_current_session_verified">Sesioni juaj i tanishëm është gati për shkëmbim të sigurt mesazhesh.</string>
<string name="device_manager_verification_status_unknown">Gjendje e panjohur verifikimi</string>
<string name="device_manager_verification_status_unverified">Sesion i paverifikuar</string>
<string name="device_manager_verification_status_verified">Sesion i verifikuar</string>
<string name="a11y_device_manager_device_type_unknown">Lloj i panjohur pajisjeje</string>
<string name="a11y_device_manager_device_type_desktop">Desktop</string>
<string name="a11y_device_manager_device_type_web">Web</string>
<string name="a11y_device_manager_device_type_mobile">Celular</string>
<string name="device_manager_sessions_other_description">Për sigurinë më të mirë, verifikoni sesionet tuaja dhe dilni nga çfarëdo sesioni që se njihni, ose se përdorni më.</string>
<string name="device_manager_sessions_other_title">Sesione të tjera</string>
<plurals name="room_removed_messages">
<item quantity="one">U hoq %d mesazh</item>
<item quantity="other">U hoqë %d mesazhe</item>
</plurals>
<string name="live_location_labs_promotion_switch_title">Aktivizoni tregim vendndodhjeje</string>
<string name="live_location_labs_promotion_description">Ju lutemi, kini parasysh: kjo është një veçori në zhvillim, që përdor një sendërtim të përkohshëm. Kjo do të thotë se sdo të jeni në gjendje të fshini historikun e vendndodhjeve tuaja dhe përdoruesit e përparuar do të jenë në gjendje të shohin historikun e vendndodhjeve tuaja, edhe pasi të keni ndalur dhënien “live” për këtë dhomë të vendndodhjes tuaj.</string>
<string name="live_location_labs_promotion_title">Tregim “live” vendndodhjeje</string>
<string name="settings_troubleshoot_test_current_gateway">Kanal i tanishëm: %s</string>
<string name="settings_troubleshoot_test_current_gateway_title">Kanal</string>
<string name="settings_troubleshoot_test_current_endpoint_failed">Sgjendet pikëmbarimi.</string>
<string name="settings_troubleshoot_test_current_endpoint_success">Pikëmbarim i tanishëm: %s</string>
<string name="settings_troubleshoot_test_current_endpoint_title">Pikëmbarim</string>
<string name="settings_troubleshoot_test_current_distributor">Hëpërhë po përdoret %s.</string>
<string name="settings_troubleshoot_test_current_distributor_title">Metodë</string>
<plurals name="settings_troubleshoot_test_distributors_many">
<item quantity="one">U gjet %d metodë.</item>
<item quantity="other">U gjetën %d metoda.</item>
</plurals>
<string name="settings_troubleshoot_test_distributors_gplay">Su gjet metodë tjetër veç Google Play Service.</string>
<string name="settings_troubleshoot_test_distributors_title">Metoda të gatshme</string>
<string name="settings_notification_method">Metodë njoftimi</string>
<string name="unifiedpush_distributor_background_sync">Njëkohësim në prapaskenë</string>
<string name="unifiedpush_distributor_fcm_fallback">Shërbime Google</string>
<string name="unifiedpush_getdistributors_dialog_title">Zgjidhni si të merren njoftime</string>
<string name="screen_sharing_notification_description">Tregimi i ekranit është në punë e sipër</string>
<string name="screen_sharing_notification_title">Tregim Ekrani ${app_name}</string>
<string name="attachment_type_selector_contact">Kontakt</string>
<string name="attachment_type_selector_camera">Kamerë</string>
<string name="attachment_type_selector_location">Vendndodhje</string>
<string name="attachment_type_selector_poll">Pyetësorë</string>
<string name="attachment_type_selector_voice_broadcast">Transmetim zanor</string>
<string name="attachment_type_selector_file">Bashkëngjitje</string>
<string name="attachment_type_selector_sticker">Ngjitës</string>
<string name="attachment_type_selector_gallery">Fototekë</string>
<string name="tooltip_attachment_voice_broadcast">Nisni një transmetim zanor</string>
<string name="live_location_description">Vendndodhje drejtpërsëdrejti</string>
<string name="live_location_share_location_item_share">Jepe vendndodhjen</string>
<string name="live_location_not_enough_permission_dialog_description">Që të mund të ndani drejtpërsëdrejti vendndodhje me të tjerë në këtë dhomë, lypset të keni lejet e duhura.</string>
<string name="live_location_not_enough_permission_dialog_title">Skeni leje të tregoni vendndodhje drejtpërsëdrejti</string>
<string name="live_location_bottom_sheet_last_updated_at">Përditësuar %1$s më parë</string>
<string name="labs_enable_live_location_summary">Sendërtim i përkohshëm: vendndodhjet mbeten në historikun e dhomës</string>
<string name="labs_enable_live_location">Aktivizo Tregim Vendndodhjeje “Live”</string>
<string name="live_location_sharing_notification_title">Vendndodhje Drejtpërsëdrejti ${app_name}</string>
<string name="location_share_live_remaining_time">Edhe %1$s</string>
<string name="location_share_live_until">“Live” deri më %1$s</string>
<string name="location_share_live_view">Shihni vendndodhje “live”</string>
<string name="location_share_live_ended">Tregimi “live” i vendndodhjes përfundoi</string>
<string name="location_share_live_started">Po ngarkohet vendndodhje “live”…</string>
<string name="location_share_loading_map_error">Sarrihet të ngarkohet hartë
\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_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>
<string name="a11y_pause_voice_broadcast_record">Ndal incizim transmetimi zanor</string>
<string name="a11y_resume_voice_broadcast_record">Vazhdo incizim transmetimi zanor</string>
<string name="voice_broadcast_live">Drejtpërdrejt</string>
<string name="settings_show_latest_profile">Shfaq hollësitë më të reja të përdoruesit</string>
<string name="space_explore_filter_no_result_description">Disa përfundime mund të jenë të fshehura, ngaqë janë private dhe ju duhet një ftesë për to.</string>
<string name="space_explore_filter_no_result_title">Su gjetën përfundime</string>
<string name="space_leave_radio_button_none">Mos braktis ndonjë</string>
<string name="space_leave_radio_button_all">Braktisi krejt</string>
<string name="space_leave_radio_buttons_title">Gjëra në këtë hapësirë</string>
<string name="a11y_presence_busy">I zënë</string>
<string name="a11y_open_settings">Hap rregullimet</string>
<string name="settings_security_pin_code_use_biometrics_error">Su aktivizua dot mirëfilltësim biometrik.</string>
<string name="auth_biometric_key_invalidated_message">Mirëfilltësimi biometrik qe çaktivizuar ngaqë tani së fundi është shtuar një metodë e re mirëfilltësimi biometrik. Mund ta riaktivizoni që nga Rregullimet.</string>
<string name="key_authenticity_not_guaranteed">Smund të garantohet mirëfilltësia e këtij mesazhi të fshehtëzuar në këtë pajisje.</string>
<string name="settings_security_incognito_keyboard_title">Tastierë inkonjito</string>
<string name="send_your_first_msg_to_invite">Dërgoni mesazhin tuaj të parë për të ftuar në fjalosje %s</string>
<string name="direct_room_encryption_enabled_tile_description_future">Mesazhet në këtë fjalosje do të jenë të fshehtëzuar skaj-më-skaj.</string>
<string name="crosssigning_cannot_verify_this_session_desc">Sdo të jeni në gjendje të shihni historikun e mesazheve të fshehtëzuara. Që tia rifilloni nga e para, ricaktoni kyçet tuaja për Kopjeruajtje të Sigurt Mesazhesh dhe kyçe verifikimi.</string>
<string name="crosssigning_cannot_verify_this_session">Sarrihet të verifikohet kjo pajisje</string>
<string name="settings_sessions_list">Sesione</string>
<string name="sent_live_location">Tregoi vendndodhjen e vet drejtpërsëdrejti</string>
<string name="command_description_table_flip">E paraprin një mesazh tekst i thjeshtë me (╯°□°)╯︵ ┻━┻</string>
<string name="permalink_unsupported_groups">Shapet dot kjo lidhje: bashkësitë janë zëvendësuar nga hapësirat</string>
<string name="login_scan_qr_code">Skanoni kodin QR</string>
<string name="ftue_auth_login_username_entry">Emër përdoruesi / Email / Telefon</string>
<string name="ftue_auth_captcha_title">Jeni qenie njerëzore\?</string>
<string name="ftue_auth_password_reset_email_confirmation_subtitle">Ndiqni udhëzimet e dërguara te %s</string>
<string name="ftue_auth_password_reset_confirmation">Ricaktim fjalëkalimi</string>
<string name="ftue_auth_forgot_password">Harrova fjalëkalimin</string>
<string name="ftue_auth_email_resend_email">Ridërgo email</string>
<string name="ftue_auth_email_verification_footer">Smorët email\?</string>
<string name="ftue_auth_email_verification_subtitle">Ndiqni udhëzimet e dërguara te %s</string>
<string name="ftue_auth_email_verification_title">Verifikoni email-in tuaj</string>
<string name="ftue_auth_phone_confirmation_resend_code">Ridërgomëni kodin</string>
<string name="ftue_auth_phone_confirmation_subtitle">Te %s u dërgua një kod</string>
<string name="ftue_auth_phone_confirmation_title">Ripohoni numrin e telefonit tuaj</string>
<string name="ftue_auth_sign_out_all_devices">Dil nga krejt pajisjet</string>
<string name="ftue_auth_reset_password">Ricaktoni fjalëkalimin</string>
<string name="ftue_auth_new_password_subtitle">Sigurohuni të jetë 8 ose më shumë shenja.</string>
<string name="ftue_auth_new_password_title">Zgjidhni një fjalëkalim të ri</string>
<string name="ftue_auth_new_password_entry_title">Fjalëkalim i Ri</string>
<string name="ftue_auth_reset_password_breaker_title">Kontrolloni email-in tuaj.</string>
<string name="ftue_auth_reset_password_email_subtitle">%s do tju dërgojë një lidhje verifikimi</string>
<string name="ftue_auth_phone_confirmation_entry_title">Kod ripohimi</string>
<string name="ftue_auth_phone_entry_title">Numër Telefoni</string>
<string name="ftue_auth_phone_subtitle">%s lyp verifikimin e llogarisë tuaj</string>
<string name="ftue_auth_phone_title">Jepni numrin e telefonit tuaj</string>
<string name="ftue_auth_email_entry_title">Email</string>
<string name="ftue_auth_email_subtitle">%s lyp verifikimin e llogarisë tuaj</string>
<string name="ftue_auth_email_title">Jepni email-in tuaj</string>
<string name="ftue_auth_terms_subtitle">Ju lutemi, lexoni kushte dhe rregulla të %s</string>
<string name="ftue_auth_terms_title">Rregulla shërbyesi</string>
<string name="ftue_auth_choose_server_ems_cta">Lidhuni</string>
<string name="ftue_auth_choose_server_ems_subtitle">Element Matrix Services (EMS) është një shërbim strehimi i fuqishëm dhe i besueshëm, për komunikim të shpejtë, të sigurt dhe të atypëratyshëm. Shihni më tepër se si, te<a href="${ftue_ems_url}">element.io/ems</a></string>
<string name="ftue_auth_choose_server_ems_title">Doni të strehoni shërbyesin tuaj\?</string>
<string name="ftue_auth_choose_server_entry_hint">URL Shërbyesi</string>
<string name="ftue_auth_choose_server_sign_in_subtitle">Cila është adresa e shërbyesit tuaj\?</string>
<string name="ftue_auth_choose_server_subtitle">Cila është adresa e shërbyesit tuaj\? Kjo është si një shtëpi për krejt të dhënat tuaja</string>
<string name="ftue_auth_choose_server_title">Përzgjidhni shërbyesin tuaj</string>
<string name="ftue_auth_welcome_back_title">Mirë se u kthyet!</string>
<string name="ftue_auth_create_account_edit_server_selection">Përpunojeni</string>
<string name="ftue_auth_create_account_sso_section_header">Ose</string>
<string name="ftue_auth_sign_in_choose_server_header">Ku gjenden bisedat tuaja</string>
<string name="ftue_auth_create_account_choose_server_header">Ku do të gjenden bisedat tuaja</string>
<string name="ftue_auth_create_account_password_entry_footer">Duhet të jetë 8 ose më shumë shenja</string>
<string name="ftue_auth_create_account_username_entry_footer">Të tjerët mund tju zbulojnë %s</string>
<string name="ftue_auth_create_account_title">Krijoni llogarinë tuaj</string>
<string name="attachment_type_voice_broadcast">Transmetim Zanor</string>
<string name="a11y_open_spaces">Hap listë hapësirash</string>
<string name="a11y_create_message">Krijoni një bisedë ose dhomë të re</string>
<string name="settings_troubleshoot_test_endpoint_registration_quick_fix">Ricaktoni metodë njoftimesh</string>
<string name="push_gateway_item_enabled">Të aktivizuara:</string>
<string name="push_gateway_item_profile_tag">Etiketë profili:</string>
<string name="push_gateway_item_device_id">ID sesioni:</string>
<string name="create_room_action_go">Jepi</string>
<string name="updating_your_data">Po përditësohen të dhënat tuaja…</string>
<string name="error_check_network">Diç shkoi ters. Ju lutemi, kontrolloni lidhjen tuaj në rrjet dhe riprovoni.</string>
<string name="room_list_filter_people">Persona</string>
<string name="room_list_filter_favourites">Të parapëlqyera</string>
<string name="room_list_filter_unreads">Të palexuara</string>
<string name="room_list_filter_all">Krejt</string>
<string name="keys_backup_settings_signature_from_this_user">Kopjeruajtja ka një nënshkrim të vlefshëm prej këtij përdoruesi.</string>
<string name="command_description_devtools">Hap skenën e mjeteve të zhvilluesit</string>
<string name="timeline_error_room_not_found">Na ndjeni, kjo dhomë su gjet.
\nJu lutemi, riprovoni më vonë.%s</string>
<string name="font_size_use_system">Përdor parazgjedhje sistemi</string>
<string name="font_size_section_manually">Zgjidheni dorazi</string>
<string name="font_size_section_auto">Caktoje vetvetiu</string>
<string name="font_size_title">Zgjidhni madhësi shkronjash</string>
<string name="some_devices_will_not_be_able_to_decrypt">⚠ Në këtë dhomë ka pajisje të paverifikuara, ato sdo të jenë në gjendje të shfshehtëzojnë mesazhet që dërgoni.</string>
<string name="encryption_never_send_to_unverified_devices_in_room">Mos dërgo kurrë prej këtij sesioni mesazhe të fshehtëzuar te sesione të paverifikuar në këtë dhomë.</string>
<string name="settings_autoplay_animated_images_title">Figurat e animuara vetëluaji</string>
<string name="settings_troubleshoot_test_endpoint_registration_failed">Su arrit të regjistrohej token pikëmbarimi te shërbyesi Home:
\n%1$s</string>
<string name="settings_troubleshoot_test_endpoint_registration_success">Pikëmbarim i regjistruar me sukses te shërbyesi Home.</string>
<string name="settings_troubleshoot_test_endpoint_registration_title">Regjistrim Pikëmbarimi</string>
<string name="grant_permission">Akordojini Leje</string>
<string name="settings_troubleshoot_test_system_settings_permission_failed">${app_name} lyp lejen për shfaqje njoftimesh.
\nJu lutemi, akordoni lejen.</string>
<plurals name="search_space_multiple_parents">
<item quantity="one">%1$s dhe %2$d tjetër</item>
<item quantity="other">%1$s dhe %2$d të tjerë</item>
</plurals>
<string name="search_space_two_parents">%1$s dhe %2$s</string>
<string name="permissions_rationale_msg_notification">${app_name} lyp leje të shfaqë njoftime. Njoftimet mund të shfaqin mesazhet tuaja, ftesa tuajat, etj.
\n
\nJu lutemi, lejoni përdorimin e tyre te flluska pasuese, që të jeni në gjendje të shihni njoftime.</string>
<string name="auth_reset_password_error_unverified">Email jo i verifikuar, kontrolloni te Të marrët tuaj</string>
<string name="call_stop_screen_sharing">Reshtni tregimin e ekranit tuaj</string>
<string name="call_start_screen_sharing">Tregojuani ekranin të tjerëve</string>
<string name="invites_empty_message">Ky është vendi ku do të gjenden kërkesat dhe ftesat tuaja të reja.</string>
<string name="invites_empty_title">Ska gjë të re.</string>
<string name="invites_title">Ftesa</string>
<string name="space_list_empty_message">Hapësirat janë një mënyrë e re për të grupuar dhoma dhe njerëz. Që tia filloni, krijoni një hapësirë.</string>
<string name="space_list_empty_title">Ende pa hapësira.</string>
<string name="labs_enable_rich_text_editor_summary">Provoni përpunuesin e teksteve të pasur (për tekst të thjeshtë vjen së shpejti)</string>
<string name="labs_enable_rich_text_editor_title">Aktivizo përpunues teksti të pasur</string>
<string name="labs_enable_deferred_dm_summary">Krijo MD vetëm për mesazhin e parë</string>
<string name="labs_enable_new_app_layout_summary">Një Element i thjeshtuar, me skeda opsionale</string>
<string name="labs_enable_new_app_layout_title">Aktivizo skemë të re</string>
<string name="home_layout_preferences_sort_name">A - Z</string>
<string name="home_layout_preferences_sort_activity">Veprimtari</string>
<string name="home_layout_preferences_sort_by">Renditi sipas</string>
<string name="home_layout_preferences_recents">Shfaq të freskëta</string>
<string name="home_layout_preferences_filters">Shfaq filtra</string>
<string name="home_layout_preferences">Parapëlqime skeme grafike</string>
<string name="action_deselect_all">Shpërzgjidhi krejt</string>
<string name="action_select_all">Përzgjidhi krejt</string>
<string name="action_got_it">E mora</string>
<string name="action_next">Më pas</string>
<string name="action_reset">Rifillo</string>
<string name="time_unit_second_short">sek</string>
<string name="time_unit_minute_short">min</string>
<string name="time_unit_hour_short">h</string>
<string name="initial_sync_request_reason_unignored_users">- Për disa përdorues u hoq shpërfillja</string>
<string name="initial_sync_request_title">Kërkesë njëkohësimi fillestar</string>
<string name="explore_rooms">Eksploroni Dhoma</string>
<string name="change_space">Ndërroni Hapësire</string>
<string name="create_room">Krijo Dhomë</string>
<string name="start_chat">Filloni Fjalosje</string>
<string name="all_chats">Krejt Fjalosjet</string>
<plurals name="x_selected">
<item quantity="one">%1$d i përzgjedhura</item>
<item quantity="other">%1$d të përzgjedhura</item>
</plurals>
<string name="qr_code_login_header_failed_homeserver_is_not_supported_description">Shërbyesi Home nuk mbulon hyrje me kod QR.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">U has një problem sigurie, kur ujdisej shkëmbim i siguruar mesazhesh. Mund të jetë komprometuar një nga sa vijon: shërbyesi juaj Home; lidhja(et) tuaja internet; pajisja(et) tuaja;</string>
<string name="qr_code_login_header_failed_timeout_description">Lidhja su plotësua në kohën e duhur.</string>
<string name="qr_code_login_header_connected_description">Kontrolloni pajisjen ku jeni i futur, duhet të shfaqet kodi më poshtë. Sigurohuni se kodi më poshtë përputhet me atë pajisje:</string>
<string name="qr_code_login_header_show_qr_code_link_a_device_description">Skanoni kodin QR më poshtë me pajisjen tuaj prej nga është dalë nga llogaria.</string>
<string name="qr_code_login_header_show_qr_code_new_device_description">Përdorni pajisjen tuaj ku jeni brenda llogarisë që të skanoni kodin QR më poshtë:</string>
<string name="qr_code_login_header_scan_qr_code_description">Përdorni kamerën në këtë pajisje që të skanoni kodin QR të shfaqur në pajisjen tuaj tjetër:</string>
<string name="labs_enable_element_call_permission_shortcuts_summary">Mirato vetvetiu widget-e Thirrjesh Element Call dhe akordo përdorim kamere / mikfrofoni</string>
<string name="labs_enable_msc3061_share_history">MSC3061: Po jepen kyçe dhome për mesazhe të dikurshëm</string>
<string name="settings_show_latest_profile_description">Shfaq hollësitë më të reja të profileve (avatar dhe emër në ekran) për krejt mesazhet.</string>
<string name="settings_security_incognito_keyboard_summary">Kërko doemos që tastiera të mos përditësojë ndonjë të dhënë të personalizuar, bie fjala, historik shtypjeje në të dhe fjalor bazuar në çkeni shtypur në biseda. Kini parasysh se disa tastiera mund të mos e respektojnë këtë rregullim.</string>
<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>
</resources>

View File

@@ -2946,4 +2946,12 @@
<item quantity="other">Вибрано %1$d</item>
</plurals>
<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="a11y_voice_broadcast_fast_forward">Перемотати вперед на 30 секунд</string>
<string name="a11y_voice_broadcast_fast_backward">Перемотати назад на 30 секунд</string>
</resources>

View File

@@ -30,7 +30,7 @@
<string name="notice_crypto_error_unknown_inbound_session_id">发送者的设备没有向我们发送此消息的密钥。</string>
<string name="unable_to_send_message">无法发送消息</string>
<string name="matrix_error">Matrix 错误</string>
<string name="medium_email">电子邮地址</string>
<string name="medium_email">电子邮地址</string>
<string name="medium_phone_number">手机号码</string>
<string name="notice_room_withdraw">%1$s 撤回了对 %2$s 的邀请</string>
<string name="notice_made_future_room_visibility">%1$s 让未来的房间历史记录对 %2$s 可见</string>
@@ -214,8 +214,8 @@
<string name="auth_login">登录</string>
<string name="auth_submit">提交</string>
<string name="auth_invalid_login_param">错误的用户名和/或密码</string>
<string name="auth_invalid_email">此电子邮地址似乎无效</string>
<string name="auth_email_already_defined">此电子邮地址已被使用。</string>
<string name="auth_invalid_email">此电子邮地址似乎无效</string>
<string name="auth_email_already_defined">此电子邮地址已被使用。</string>
<string name="auth_forgot_password">忘记密码?</string>
<string name="login_error_invalid_home_server">请输入有效的 URL</string>
<string name="login_error_not_json">没有包含有效的 JSON</string>
@@ -228,7 +228,7 @@
<string name="search_hint">搜索</string>
<string name="search_members_hint">过滤房间成员</string>
<string name="search_no_results">没有结果</string>
<string name="settings_add_email_address">添加电子邮地址</string>
<string name="settings_add_email_address">添加电子邮地址</string>
<string name="settings_add_phone_number">添加手机号码</string>
<string name="settings_version">版本</string>
<string name="settings_olm_version">olm 版本</string>
@@ -257,7 +257,7 @@
<string name="start_video_call">开始视频通话</string>
<string name="option_take_photo_video">拍摄照片或视频</string>
<string name="auth_recaptcha_message">此主服务器想确认你不是机器人</string>
<string name="auth_reset_password_error_unauthorized">电子邮地址验证失败:请确保你已点击邮件中的链接</string>
<string name="auth_reset_password_error_unauthorized">电子邮地址验证失败:请确保你已点击邮件中的链接</string>
<string name="compression_opt_list_original">原始</string>
<string name="call_connecting">通话正在连接……</string>
<string name="permissions_rationale_msg_record_audio">${app_name} 需要权限以访问你的麦克风来进行语音通话。</string>
@@ -348,11 +348,11 @@
<string name="settings_app_info_link_summary">显示系统设置中的应用程序信息。</string>
<string name="settings_call_invitations">通话请求</string>
<string name="settings_app_term_conditions">使用条款</string>
<string name="settings_other"></string>
<string name="settings_other"></string>
<string name="settings_notifications_targets">通知目标</string>
<string name="settings_logged_in">登录为</string>
<string name="account_email_validation_message">请检查你的电子邮并点击里面包含的链接。完成时请点击继续。</string>
<string name="account_email_already_used_error">此电子邮地址已被使用。</string>
<string name="account_email_validation_message">请检查你的电子邮并点击里面包含的链接。完成时请点击继续。</string>
<string name="account_email_already_used_error">此电子邮地址已被使用。</string>
<string name="account_phone_number_already_used_error">此手机号码已被使用。</string>
<string name="room_settings_set_main_address">设置为主要地址</string>
<string name="room_settings_unset_main_address">取消设置为主要地址</string>
@@ -434,7 +434,7 @@
<string name="you_added_a_new_device">你添加了一个新会话“%s”它正在请求加密密钥。</string>
<string name="your_unverified_device_requesting">你的未验证会话“%s”正在请求加密密钥。</string>
<string name="start_verification">开始验证</string>
<string name="title_activity_bug_report">bug报告</string>
<string name="title_activity_bug_report">错误报告</string>
<string name="option_take_photo">拍摄照片</string>
<string name="option_take_video">拍摄视频</string>
<string name="settings_labs_native_camera">使用原生相机</string>
@@ -828,7 +828,7 @@
<string name="action_revoke">撤消</string>
<string name="action_disconnect">断开连接</string>
<string name="action_decline">拒绝</string>
<string name="login_error_no_homeserver_found">这不是有效的Matrix服务器地址</string>
<string name="login_error_no_homeserver_found">这不是有效的 Matrix 服务器地址</string>
<string name="login_error_homeserver_not_found">无法在此 URL 找到主服务器,请检查</string>
<string name="action_play">播放</string>
<string name="action_dismiss">忽略</string>
@@ -990,13 +990,13 @@
<string name="change_identity_server">更改身份服务器</string>
<string name="settings_discovery_identity_server_info">你正在使用 %1$s 与你知道的现有联系人相互发现。</string>
<string name="settings_discovery_identity_server_info_none">你当前未使用身份服务器。若要与你知道的现有联系人相互发现,请在下方配置。</string>
<string name="settings_discovery_emails_title">可发现电子邮件地址</string>
<string name="settings_discovery_emails_title">可发现电子邮件地址</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_disconnect_identity_server_info">的身份服务器断开连接意味着您将不会被其用户发现并且您将无法通过电子邮件电话邀请他人。</string>
<string name="settings_discovery_msisdn_title">可发现电话号码</string>
<string name="settings_discovery_confirm_mail">我们向%s发送了一封电子邮件请检查你的电子邮件并点击确认链接</string>
<string name="settings_discovery_confirm_mail_not_clicked">我们向%s发送了电子邮件请先检查的电子邮件并点击确认链接</string>
<string name="settings_discovery_confirm_mail_not_clicked">我们向 %s 发送了一封电子邮件,请先检查的电子邮件并点击确认链接</string>
<string name="settings_discovery_enter_identity_server">输入身份服务器 URL</string>
<string name="settings_discovery_bad_identity_server">无法连接到身份服务器</string>
<string name="settings_discovery_please_enter_server">请输入身份服务器 url</string>
@@ -1143,14 +1143,14 @@
<string name="login_msisdn_confirm_hint">输入验证码</string>
<string name="login_msisdn_confirm_send_again">重新发送</string>
<string name="login_msisdn_confirm_submit">下一个</string>
<string name="login_msisdn_error_not_international">国际电话号码必须以 + 开头</string>
<string name="login_msisdn_error_not_international">国际电话号码必须以“+”开头</string>
<string name="login_msisdn_error_other">电话号码似乎无效。请检查</string>
<string name="login_signup_to">在 %1$s 上注册</string>
<string name="login_signin_username_hint">用户名或电子邮件</string>
<string name="login_signup_username_hint">用户名</string>
<string name="login_signup_password_hint">密码</string>
<string name="login_signup_submit">下一个</string>
<string name="login_signup_error_user_in_use">用户名已</string>
<string name="login_signup_error_user_in_use">用户名已被使</string>
<string name="login_signup_cancel_confirmation_title">警告</string>
<string name="login_signup_cancel_confirmation_content">你的账户尚未创建。是否中止注册过程?</string>
<string name="login_a11y_choose_matrix_org">选择 matrix.org</string>
@@ -1171,7 +1171,7 @@
<string name="login_signin_matrix_id_notice">如果你在主服务器上设置了账户,在下方使用你的 Matrix ID例 @user:domain.com和密码。</string>
<string name="login_signin_matrix_id_hint">Matrix ID</string>
<string name="login_signin_matrix_id_password_notice">如果你不知道你的密码,返回并重置。</string>
<string name="login_signin_matrix_id_error_invalid_matrix_id">这不是一个有效的用户标识符。期望的格式:\'@user:homeserver.org\'</string>
<string name="login_signin_matrix_id_error_invalid_matrix_id">这不是有效的用户标识符。期格式:\'@user:homeserver.org\'</string>
<string name="autodiscover_well_known_error">无法找到有效的主服务器。请检查你的标识符</string>
<string name="signed_out_title">你已登出</string>
<string name="signed_out_notice">这可能由于多种原因:
@@ -1199,7 +1199,7 @@
<string name="soft_logout_clear_data_dialog_e2e_warning_content">除非你登录以恢复加密密钥,否则你将无法访问安全消息。</string>
<string name="soft_logout_sso_not_same_user_error">当前会话用于用户 %1$s 而你提供了用户 %2$s 的凭证。${app_name} 不支持此功能。
\n请先清除数据然后重新登录另一个账户。</string>
<string name="permalink_malformed">的 matrix.to 链接更是不正确</string>
<string name="permalink_malformed">的 matrix.to 链接格式错误</string>
<string name="bug_report_error_too_short">描述太短</string>
<string name="notification_initial_sync">初始同步…</string>
<string name="settings_advanced_settings">高级设置</string>
@@ -1531,7 +1531,7 @@
<string name="crypto_error_withheld_generic">你无法访问此消息因为发送者有意不发送密钥</string>
<string name="notice_crypto_unable_to_decrypt_merged">正在等待加密历史</string>
<string name="disclaimer_title">Riot 现已成为 Element</string>
<string name="disclaimer_content">我们很高兴地宣布我们名了!的应用已经更新到最新版本,并且已登录你的账户。</string>
<string name="disclaimer_content">我们很高兴地宣布我们已经更名了!的应用程序是最新的,并且已登录到您的帐户。</string>
<string name="disclaimer_negative_button">明白了</string>
<string name="disclaimer_positive_button">了解更多</string>
<string name="save_recovery_key_chooser_hint">将恢复密钥保存到</string>
@@ -1588,9 +1588,9 @@
<string name="settings_remove_three_pid_confirmation_content">移除 %s</string>
<string name="error_threepid_auth_failed">请确认你已点击我们向你发送的电子邮件中的链接。</string>
<string name="settings_emails_and_phone_numbers_title">电子邮件和电话号码</string>
<string name="settings_emails_and_phone_numbers_summary">管理链接到你的Matrix账户的电子邮件地址和电话号码</string>
<string name="settings_emails_and_phone_numbers_summary">管理与您的 Matrix 帐户链接的电子邮件地址和电话号码</string>
<string name="settings_text_message_sent_hint">代码</string>
<string name="login_msisdn_notice">请使用国际格式(电话号码必须以“+”开</string>
<string name="login_msisdn_notice">请使用国际格式(电话号码必须以“+”开</string>
<string name="confirm_your_identity_quad_s">验证此登录来确认你的身份,授权其访问加密消息。</string>
<string name="error_opening_banned_room">无法打开你被封禁的房间。</string>
<string name="room_error_not_found">无法找到此房间。请确认它存在。</string>
@@ -1714,7 +1714,7 @@
<string name="direct_room_user_list_suggestions_title">建议</string>
<string name="direct_room_user_list_known_title">已知用户</string>
<string name="qr_code">二维码</string>
<string name="add_by_qr_code">通过QR码添加</string>
<string name="add_by_qr_code">通过二维码添加</string>
<string name="create_room_settings_section">房间设置</string>
<string name="create_room_topic_hint">话题</string>
<string name="create_room_topic_section">房间话题(可选)</string>
@@ -1804,7 +1804,7 @@
<plurals name="entries">
<item quantity="other">%d 个条目</item>
</plurals>
<string name="not_a_valid_qr_code">不是有效的 Matrix 二维码</string>
<string name="not_a_valid_qr_code">不是有效的 Matrix 二维码</string>
<string name="user_code_scan">扫描二维码</string>
<string name="add_people">添加人员</string>
<string name="invite_friends">邀请朋友</string>
@@ -2099,15 +2099,15 @@
<string name="settings_messages_containing_username">我的用户名</string>
<string name="settings_messages_containing_display_name">我的显示名称</string>
<string name="settings_notification_notify_me_for">通知事项</string>
<string name="settings_notification_other"></string>
<string name="settings_notification_other"></string>
<string name="settings_notification_mentions_and_keywords">提及和关键词</string>
<string name="settings_notification_default">默认通知</string>
<string name="call_tile_video_active">可用视频通话</string>
<string name="call_tile_voice_active">可用语音通话</string>
<string name="link_this_email_with_your_account">在 ${app_name} 中直接接收邀请的设置 %s。</string>
<string name="link_this_email_settings_link">将此电子邮件地址与您的帐户相关联</string>
<string name="this_invite_to_this_space_was_sent">加入这个空间的邀请发送至 %s此邮箱未与您的账户相关联</string>
<string name="this_invite_to_this_room_was_sent">加入这个房间的邀请发送至 %s此邮箱未与您的账户相关联</string>
<string name="link_this_email_settings_link">将此电子邮件地址与您的帐户链接</string>
<string name="this_invite_to_this_space_was_sent">空间的邀请发送至与您的帐户无关的 %s</string>
<string name="this_invite_to_this_room_was_sent">房间的邀请发送至与您的帐户无关的 %s</string>
<string name="all_rooms_youre_in_will_be_shown_in_home">你所在的全部房间将显示在主页上。</string>
<string name="preference_show_all_rooms_in_home">在主页上显示所有房间</string>
<string name="call_slide_to_end_conference">滑动结束通话</string>
@@ -2171,7 +2171,7 @@
<string name="room_settings_space_access_title">空间访问</string>
<string name="room_settings_access_rules_pref_dialog_title">谁可以访问?</string>
<string name="settings_notification_emails_enable_for_email">为 %s 启用电子邮件通知</string>
<string name="settings_notification_emails_no_emails">要接收通知邮件,请将一个电子邮件地址关联到你的Matrix</string>
<string name="settings_notification_emails_no_emails">要接收带有通知的电子邮件,请将电子邮件地址链接到您的 Matrix</string>
<string name="settings_notification_emails_category">电子邮件通知</string>
<string name="room_permissions_upgrade_the_space">升级空间</string>
<string name="room_permissions_change_space_name">更改空间名称</string>
@@ -2303,7 +2303,7 @@
<string name="beta">BETA</string>
<string name="location_share_live_select_duration_title">共享你的实时位置</string>
<string name="a11y_location_share_locate_button">缩放到当前位置</string>
<string name="a11y_location_share_pin_on_map">地图上选定位置的图钉</string>
<string name="a11y_location_share_pin_on_map">地图上选定位置的固定标记</string>
<string name="poll_no_votes_cast">无投票</string>
<string name="ftue_auth_email_verification_title">验证你的电子邮件</string>
<plurals name="room_removed_messages">
@@ -2336,12 +2336,12 @@
<string name="live_location_share_location_item_share">共享位置</string>
<string name="live_location_not_enough_permission_dialog_description">您需要拥有正确的权限才能在此房间中共享实时位置。</string>
<string name="live_location_not_enough_permission_dialog_title">你没有权限共享实时位置</string>
<string name="live_location_bottom_sheet_last_updated_at">%1$s前已更新</string>
<string name="live_location_bottom_sheet_last_updated_at">%1$s 前已更新</string>
<string name="labs_enable_live_location_summary">临时执行:地点在房间历史中持续存在</string>
<string name="labs_enable_live_location">启用实时位置共享</string>
<string name="live_location_sharing_notification_description">位置共享正在进行中</string>
<string name="live_location_sharing_notification_title">${app_name}实时位置</string>
<string name="location_share_live_remaining_time">剩余%1$s</string>
<string name="live_location_sharing_notification_title">${app_name} 实时位置</string>
<string name="location_share_live_remaining_time">剩余 %1$s</string>
<string name="location_share_live_stop">停止</string>
<string name="location_share_live_until">实时共享直到 %1$s</string>
<string name="location_share_live_view">查看实时位置</string>
@@ -2350,14 +2350,14 @@
<string name="location_share_live_enabled">启用实时位置</string>
<string name="location_timeline_failed_to_load_map">加载地图失败</string>
<string name="location_share_external">打开,用</string>
<string name="location_not_available_dialog_content">${app_name}无法访问你的位置。请稍后再试。</string>
<string name="location_not_available_dialog_title">${app_name}无法访问你的位置</string>
<string name="location_not_available_dialog_content">${app_name} 无法访问你的位置。请稍后再试。</string>
<string name="location_not_available_dialog_title">${app_name} 无法访问你的位置</string>
<string name="view_in_room">在房间中查看</string>
<string name="labs_enable_msc3061_share_history">MSC3061为过去的消息共享房间密钥</string>
<string name="labs_enable_msc3061_share_history_desc">在共享历史的加密房间中邀请时,加密历史将可见。</string>
<string name="location_share_live_select_duration_option_3">8小时</string>
<string name="location_share_live_select_duration_option_2">1小时</string>
<string name="location_share_live_select_duration_option_1">15分钟</string>
<string name="location_share_live_select_duration_option_3">8 小时</string>
<string name="location_share_live_select_duration_option_2">1 小时</string>
<string name="location_share_live_select_duration_option_1">15 分钟</string>
<string name="a11y_location_share_option_pinned_icon">共享此位置</string>
<string name="location_share_option_pinned">共享此位置</string>
<string name="a11y_location_share_option_user_live_icon">共享实时位置</string>
@@ -2409,7 +2409,7 @@
<string name="tooltip_attachment_gallery">发送图片和视频</string>
<string name="tooltip_attachment_photo">打开相机</string>
<string name="ftue_auth_terms_title">服务器政策</string>
<string name="ftue_auth_choose_server_ems_subtitle">Element Matrix ServicesEMS)是一个健壮且可靠的主机托管服务,可实现快速、安全和实时的通信。&lt;a href=\"${ftue_ems_url}\"&gt;element.io/ems&lt;/a&gt;上了解如何使用</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="ftue_auth_choose_server_ems_title">想架设自己的服务器?</string>
<string name="ftue_auth_choose_server_entry_hint">服务器URL</string>
<string name="ftue_auth_choose_server_title">选择你的服务器</string>
@@ -2539,13 +2539,13 @@
<string name="labs_enable_element_call_permission_shortcuts_summary">自动允许 Element 通话小部件并授予相机/麦克风访问权限</string>
<string name="labs_enable_element_call_permission_shortcuts">启用 Element 通话权限快捷方式</string>
<string name="live_location_description">实时位置</string>
<string name="verify_invalid_qr_notice">这个QR码看起来不正。请尝试用另一个方法验证。</string>
<string name="verify_invalid_qr_notice">此二维码看起来格式不正。请尝试使用其它方法进行验证。</string>
<string name="crosssigning_cannot_verify_this_session_desc">你无法访问加密消息历史。重置你的安全消息备份和验证密钥以重新开始。</string>
<string name="crosssigning_cannot_verify_this_session">无法验证此设备</string>
<string name="ftue_auth_choose_server_sign_in_subtitle">你的服务器地址是什么?</string>
<string name="ftue_auth_sign_in_choose_server_header">你的对话发生的地方</string>
<string name="search_space_two_parents">%1$s 和 %2$s</string>
<string name="auth_reset_password_error_unverified">电子邮件未确认,检查的收件箱</string>
<string name="auth_reset_password_error_unverified">电子邮件未验证,请检查的收件箱</string>
<string name="location_share_loading_map_error">无法加载地图
\n此主服务器可能没有设置好显示地图。</string>
<string name="a11y_open_settings">打开设置</string>
@@ -2562,7 +2562,7 @@
<string name="home_layout_preferences_sort_name">A—Z</string>
<string name="home_layout_preferences_sort_activity">活动</string>
<string name="home_layout_preferences_sort_by">排序方式</string>
<string name="home_layout_preferences_recents">显示最近</string>
<string name="home_layout_preferences_recents">显示最近</string>
<string name="home_layout_preferences_filters">显示过滤条件</string>
<string name="home_layout_preferences">布局偏好</string>
<string name="explore_rooms">探索房间</string>
@@ -2622,7 +2622,7 @@
<string name="device_manager_verification_status_detail_current_session_verified">你当前的会话已准备好安全地收发消息。</string>
<string name="labs_enable_deferred_dm_summary">仅在首条消息创建私聊消息</string>
<string name="labs_enable_deferred_dm_title">启用延迟的私聊消息</string>
<string name="labs_enable_new_app_layout_summary">简化的Element带有可选的标签</string>
<string name="labs_enable_new_app_layout_summary">简化的 Element带有可选的标签</string>
<string name="settings_security_incognito_keyboard_title">无痕键盘</string>
<string name="settings_security_incognito_keyboard_summary">请求键盘不要根据您在对话中输入的内容更新任何个性化数据,例如输入历史记录和字典。 请注意,某些键盘可能不遵守此设置。</string>
<string name="permissions_rationale_msg_notification">${app_name}需要权限来显示通知。通知可以显示消息、邀请等。
@@ -2762,9 +2762,31 @@
<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="login_scan_qr_code">扫描QR</string>
<string name="login_scan_qr_code">扫描二维</string>
<string name="attachment_type_voice_broadcast">语音广播</string>
<string name="push_gateway_item_enabled">已启用:</string>
<string name="push_gateway_item_device_id">会话ID</string>
<string name="error_check_network">出了点差错。请检查您的网络连接并重试。</string>
<string name="attachment_type_selector_contact">联系人</string>
<string name="rich_text_editor_full_screen_toggle">切换全屏模式</string>
<string name="device_manager_other_sessions_select">选择会话</string>
<string name="attachment_type_selector_text_formatting">文本格式</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_file">附件</string>
<string name="attachment_type_selector_sticker">贴纸</string>
<string name="attachment_type_selector_gallery">照片库</string>
<string name="error_voice_broadcast_permission_denied_message">您没有在此房间内开始语音广播所需的权限。联系房间管理员升级您的权限。</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">其他人已经在录制语音广播。等待他们的语音广播结束以开始新的广播。</string>
<string name="error_voice_broadcast_already_in_progress_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="action_deselect_all">取消全选</string>
<string name="action_select_all">全选</string>
<plurals name="x_selected">
<item quantity="other">已选择 %1$d</item>
</plurals>
</resources>

View File

@@ -2781,4 +2781,12 @@
<plurals name="x_selected">
<item quantity="other">已選取 %1$d</item>
</plurals>
<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="a11y_voice_broadcast_fast_forward">快轉30秒</string>
<string name="a11y_voice_broadcast_fast_backward">快退30秒</string>
</resources>

View File

@@ -2,6 +2,7 @@
<resources>
<string name="ellipsis" translatable="false"></string>
<string name="no_value_placeholder" translatable="false"></string>
<!-- Temporary string -->
<string name="not_implemented" translatable="false">Not implemented yet in ${app_name}</string>

View File

@@ -1642,7 +1642,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>
@@ -1679,7 +1682,8 @@
<string name="create_new_room">Create New Room</string>
<string name="create_new_space">Create New Space</string>
<string name="error_no_network">No network. Please check your Internet connection.</string>
<string name="error_check_network">Something went wrong. Please check your network connection and try again.</string>
<!-- TODO delete -->
<string name="error_check_network" tools:ignore="UnusedResources">Something went wrong. Please check your network connection and try again.</string>
<string name="change_room_directory_network">"Change network"</string>
<string name="please_wait">"Please wait…"</string>
<string name="updating_your_data">Updating your data…</string>
@@ -3094,6 +3098,14 @@
<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>
<string name="error_voice_broadcast_permission_denied_message">You dont have the required permissions to start a voice broadcast in this room. Contact a room administrator to upgrade your permissions.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Someone else is already recording a voice broadcast. Wait for their voice broadcast to end to start a new one.</string>
<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="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>
@@ -3222,6 +3234,7 @@
<string name="attachment_type_selector_location">Location</string>
<string name="attachment_type_selector_camera">Camera</string>
<string name="attachment_type_selector_contact">Contact</string>
<string name="attachment_type_selector_text_formatting">Text formatting</string>
<string name="message_reaction_show_less">Show less</string>
<plurals name="message_reaction_show_more">
@@ -3338,6 +3351,13 @@
<string name="device_manager_other_sessions_no_inactive_sessions_found">No inactive sessions found.</string>
<string name="device_manager_other_sessions_clear_filter">Clear Filter</string>
<string name="device_manager_other_sessions_select">Select sessions</string>
<string name="device_manager_other_sessions_multi_signout_selection">Sign out</string>
<plurals name="device_manager_other_sessions_multi_signout_all">
<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_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>
@@ -3366,7 +3386,9 @@
<string name="device_manager_learn_more_sessions_unverified_title">Unverified sessions</string>
<string name="device_manager_learn_more_sessions_unverified">Unverified sessions are sessions that have logged in with your credentials but not been cross-verified.\n\nYou should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.</string>
<string name="device_manager_learn_more_sessions_verified_title">Verified sessions</string>
<string name="device_manager_learn_more_sessions_verified">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>
<!-- 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_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>
@@ -3442,5 +3464,15 @@
<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_full_screen_toggle">Toggle full screen mode</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>
@@ -74,7 +75,8 @@
<dimen name="location_sharing_live_duration_choice_margin_vertical">22dp</dimen>
<!-- Voice Broadcast -->
<dimen name="voice_broadcast_controller_button_size">48dp</dimen>
<dimen name="voice_broadcast_recorder_button_size">48dp</dimen>
<dimen name="voice_broadcast_player_button_size">36dp</dimen>
<!-- Material 3 -->
<dimen name="collapsing_toolbar_layout_medium_size">112dp</dimen>

View File

@@ -5,6 +5,7 @@
<attr name="sessionsListHeaderTitle" format="string" />
<attr name="sessionsListHeaderDescription" format="string" />
<attr name="sessionsListHeaderHasLearnMoreLink" format="boolean" />
<attr name="sessionsListHeaderMenu" format="reference" />
</declare-styleable>
</resources>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="VoiceBroadcastMetadataView">
<attr name="metadataIcon" format="reference" />
<attr name="metadataValue" format="string" />
</declare-styleable>
</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

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="VoiceBroadcastLiveIndicator" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">20dp</item>
<item name="android:backgroundTint">?colorError</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:ellipsize">end</item>
<item name="android:gravity">center_vertical</item>
<item name="android:maxWidth">100dp</item>
<item name="android:paddingEnd">4dp</item>
<item name="android:paddingStart">4dp</item>
<item name="android:singleLine">true</item>
<item name="android:textColor">?colorOnError</item>
<item name="drawableTint">?colorOnError</item>
</style>
</resources>

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.6\""
buildConfigField "String", "SDK_VERSION", "\"1.5.10\""
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""

View File

@@ -16,6 +16,7 @@
package org.matrix.android.sdk.session.search
import org.amshove.kluent.shouldBeEqualTo
import org.junit.Assert.assertTrue
import org.junit.FixMethodOrder
import org.junit.Test
@@ -43,7 +44,7 @@ class SearchMessagesTest : InstrumentedTest {
cryptoTestData.firstSession
.searchService()
.search(
searchTerm = "lore",
searchTerm = "lorem",
limit = 10,
includeProfile = true,
afterLimit = 0,
@@ -61,7 +62,7 @@ class SearchMessagesTest : InstrumentedTest {
cryptoTestData.firstSession
.searchService()
.search(
searchTerm = "lore",
searchTerm = "lorem",
roomId = cryptoTestData.roomId,
limit = 10,
includeProfile = true,
@@ -73,7 +74,28 @@ class SearchMessagesTest : InstrumentedTest {
}
}
private fun doTest(block: suspend (CryptoTestData) -> SearchResult) = runCryptoTest(context()) { cryptoTestHelper, commonTestHelper ->
@Test
fun sendTextMessageAndSearchPartOfItIncompleteWord() {
doTest(expectedNumberOfResult = 0) { cryptoTestData ->
cryptoTestData.firstSession
.searchService()
.search(
searchTerm = "lore", /* incomplete word */
roomId = cryptoTestData.roomId,
limit = 10,
includeProfile = true,
afterLimit = 0,
beforeLimit = 10,
orderByRecent = true,
nextBatch = null
)
}
}
private fun doTest(
expectedNumberOfResult: Int = 2,
block: suspend (CryptoTestData) -> SearchResult,
) = runCryptoTest(context()) { cryptoTestHelper, commonTestHelper ->
val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceInARoom(false)
val aliceSession = cryptoTestData.firstSession
val aliceRoomId = cryptoTestData.roomId
@@ -87,7 +109,7 @@ class SearchMessagesTest : InstrumentedTest {
val data = block.invoke(cryptoTestData)
assertTrue(data.results?.size == 2)
data.results?.size shouldBeEqualTo expectedNumberOfResult
assertTrue(
data.results
?.all {

View File

@@ -17,25 +17,51 @@
package org.matrix.android.sdk.api.extensions
import org.matrix.android.sdk.api.metrics.MetricPlugin
import org.matrix.android.sdk.api.metrics.SpannableMetricPlugin
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.InvocationKind
import kotlin.contracts.contract
/**
* Executes the given [block] while measuring the transaction.
*
* @param block Action/Task to be executed within this span.
*/
@OptIn(ExperimentalContracts::class)
inline fun measureMetric(metricMeasurementPlugins: List<MetricPlugin>, block: () -> Unit) {
inline fun List<MetricPlugin>.measureMetric(block: () -> Unit) {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
try {
metricMeasurementPlugins.forEach { plugin -> plugin.startTransaction() } // Start the transaction.
this.forEach { plugin -> plugin.startTransaction() } // Start the transaction.
block()
} catch (throwable: Throwable) {
metricMeasurementPlugins.forEach { plugin -> plugin.onError(throwable) } // Capture if there is any exception thrown.
this.forEach { plugin -> plugin.onError(throwable) } // Capture if there is any exception thrown.
throw throwable
} finally {
metricMeasurementPlugins.forEach { plugin -> plugin.finishTransaction() } // Finally, finish this transaction.
this.forEach { plugin -> plugin.finishTransaction() } // Finally, finish this transaction.
}
}
/**
* Executes the given [block] while measuring a span.
*
* @param operation Name of the new span.
* @param description Description of the new span.
* @param block Action/Task to be executed within this span.
*/
@OptIn(ExperimentalContracts::class)
inline fun List<SpannableMetricPlugin>.measureSpan(operation: String, description: String, block: () -> Unit) {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
try {
this.forEach { plugin -> plugin.startSpan(operation, description) } // Start the transaction.
block()
} catch (throwable: Throwable) {
this.forEach { plugin -> plugin.onError(throwable) } // Capture if there is any exception thrown.
throw throwable
} finally {
this.forEach { plugin -> plugin.finishSpan() } // Finally, finish this transaction.
}
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright (c) 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.metrics
/**
* A plugin that tracks span along with transactions.
*/
interface SpannableMetricPlugin : MetricPlugin {
/**
* Starts the span for a sub-task.
*
* @param operation Name of the new span.
* @param description Description of the new span.
*/
fun startSpan(operation: String, description: String)
/**
* Finish the span when sub-task is completed.
*/
fun finishSpan()
}

View File

@@ -0,0 +1,32 @@
/*
* 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.metrics
import org.matrix.android.sdk.api.logger.LoggerTag
import timber.log.Timber
private val loggerTag = LoggerTag("SyncDurationMetricPlugin", LoggerTag.CRYPTO)
/**
* An spannable metric plugin for sync response handling task.
*/
interface SyncDurationMetricPlugin : SpannableMetricPlugin {
override fun logTransaction(message: String?) {
Timber.tag(loggerTag.value).v("## syncResponseHandler() : $message")
}
}

View File

@@ -17,6 +17,7 @@
package org.matrix.android.sdk.api.session.crypto
import android.content.Context
import androidx.annotation.Size
import androidx.lifecycle.LiveData
import androidx.paging.PagedList
import org.matrix.android.sdk.api.MatrixCallback
@@ -55,6 +56,8 @@ interface CryptoService {
fun deleteDevice(deviceId: String, userInteractiveAuthInterceptor: UserInteractiveAuthInterceptor, callback: MatrixCallback<Unit>)
fun deleteDevices(@Size(min = 1) deviceIds: List<String>, userInteractiveAuthInterceptor: UserInteractiveAuthInterceptor, callback: MatrixCallback<Unit>)
fun getCryptoVersion(context: Context, longFormat: Boolean): String
fun isCryptoEnabled(): Boolean

View File

@@ -33,6 +33,7 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageStickerConte
import org.matrix.android.sdk.api.session.room.model.message.MessageType
import org.matrix.android.sdk.api.session.room.model.message.asMessageAudioEvent
import org.matrix.android.sdk.api.session.room.model.relation.RelationDefaultContent
import org.matrix.android.sdk.api.session.room.model.relation.isReply
import org.matrix.android.sdk.api.session.room.model.relation.shouldRenderInThread
import org.matrix.android.sdk.api.session.room.send.SendState
import org.matrix.android.sdk.api.session.threads.ThreadDetails
@@ -53,7 +54,7 @@ inline fun <reified T> Content?.toModel(catchError: Boolean = true): T? {
val moshiAdapter = moshi.adapter(T::class.java)
return try {
moshiAdapter.fromJsonValue(this)
} catch (e: Exception) {
} catch (e: Throwable) {
if (catchError) {
Timber.e(e, "To model failed : $e")
null
@@ -228,11 +229,14 @@ data class Event(
return when {
isReplyRenderedInThread() || isQuote() -> ContentUtils.extractUsefulTextFromReply(text)
isFileMessage() -> "sent a file."
isVoiceMessage() -> "sent a voice message."
isAudioMessage() -> "sent an audio file."
isImageMessage() -> "sent an image."
isVideoMessage() -> "sent a video."
isSticker() -> "sent a sticker"
isSticker() -> "sent a sticker."
isPoll() -> getPollQuestion() ?: "created a poll."
isLiveLocation() -> "Live location."
isLocationMessage() -> "has shared their location."
else -> text
}
}
@@ -420,7 +424,7 @@ fun Event.getRelationContentForType(type: String): RelationDefaultContent? =
getRelationContent()?.takeIf { it.type == type }
fun Event.isReply(): Boolean {
return getRelationContent()?.inReplyTo?.eventId != null
return getRelationContent().isReply()
}
fun Event.isReplyRenderedInThread(): Boolean {
@@ -443,7 +447,7 @@ fun Event.isInvitation(): Boolean = type == EventType.STATE_ROOM_MEMBER &&
content?.toModel<RoomMemberContent>()?.membership == Membership.INVITE
fun Event.getPollContent(): MessagePollContent? {
return content.toModel<MessagePollContent>()
return getClearContent().toModel<MessagePollContent>()
}
fun Event.supportsNotification() =

View File

@@ -70,6 +70,11 @@ data class HomeServerCapabilities(
* True if the home server supports threaded read receipts and unread notifications.
*/
val canUseThreadReadReceiptsAndNotifications: Boolean = false,
/**
* True if the home server supports remote toggle of Pusher for a given device.
*/
val canRemotelyTogglePushNotificationsOfDevices: Boolean = false,
) {
enum class RoomCapabilitySupport {

View File

@@ -16,6 +16,9 @@
package org.matrix.android.sdk.api.session.homeserver
import androidx.lifecycle.LiveData
import org.matrix.android.sdk.api.util.Optional
/**
* This interface defines a method to retrieve the homeserver capabilities.
*/
@@ -30,4 +33,9 @@ interface HomeServerCapabilitiesService {
* Get the HomeServer capabilities.
*/
fun getHomeServerCapabilities(): HomeServerCapabilities
/**
* Get a LiveData on the HomeServer capabilities.
*/
fun getHomeServerCapabilitiesLive(): LiveData<Optional<HomeServerCapabilities>>
}

View File

@@ -47,10 +47,9 @@ interface LocationSharingService {
/**
* Starts sharing live location in the room.
* @param timeoutMillis timeout of the live in milliseconds
* @param description description of the live for text fallback
* @return the result of the update of the live
*/
suspend fun startLiveLocationShare(timeoutMillis: Long, description: String): UpdateLiveLocationShareResult
suspend fun startLiveLocationShare(timeoutMillis: Long): UpdateLiveLocationShareResult
/**
* Stops sharing live location in the room.

View File

@@ -28,3 +28,5 @@ data class RelationDefaultContent(
) : RelationContent
fun RelationDefaultContent.shouldRenderInThread(): Boolean = isFallingBack == false
fun RelationDefaultContent?.isReply(): Boolean = this?.inReplyTo?.eventId != null

View File

@@ -180,11 +180,13 @@ fun TimelineEvent.isRootThread(): Boolean {
/**
* Get the latest message body, after a possible edition, stripping the reply prefix if necessary.
* @param formatted Indicates whether the formatted HTML body of the message should be retrieved of the plain text one.
* @return If [formatted] is `true`, the HTML body of the message will be retrieved if available. Otherwise, the plain text/markdown version will be returned.
*/
fun TimelineEvent.getTextEditableContent(formatted: Boolean): String {
val lastMessageContent = getLastMessageContent()
val lastContentBody = if (formatted && lastMessageContent is MessageContentWithFormattedBody) {
lastMessageContent.formattedBody
lastMessageContent.formattedBody ?: lastMessageContent.body
} else {
lastMessageContent?.body
} ?: return ""

View File

@@ -18,6 +18,7 @@ package org.matrix.android.sdk.internal.auth.version
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import org.matrix.android.sdk.api.extensions.orFalse
/**
* Model for https://matrix.org/docs/spec/client_server/latest#get-matrix-client-versions.
@@ -56,6 +57,7 @@ private const val FEATURE_THREADS_MSC3440_STABLE = "org.matrix.msc3440.stable"
private const val FEATURE_QR_CODE_LOGIN = "org.matrix.msc3882"
private const val FEATURE_THREADS_MSC3771 = "org.matrix.msc3771"
private const val FEATURE_THREADS_MSC3773 = "org.matrix.msc3773"
private const val FEATURE_REMOTE_TOGGLE_PUSH_NOTIFICATIONS_MSC3881 = "org.matrix.msc3881"
/**
* Return true if the SDK supports this homeserver version.
@@ -142,3 +144,12 @@ private fun Versions.getMaxVersion(): HomeServerVersion {
?.maxOrNull()
?: HomeServerVersion.r0_0_0
}
/**
* Indicate if the server supports MSC3881: https://github.com/matrix-org/matrix-spec-proposals/pull/3881.
*
* @return true if remote toggle of push notifications is supported
*/
internal fun Versions.doesServerSupportRemoteToggleOfPushNotifications(): Boolean {
return unstableFeatures?.get(FEATURE_REMOTE_TOGGLE_PUSH_NOTIFICATIONS_MSC3881).orFalse()
}

View File

@@ -242,8 +242,12 @@ internal class DefaultCryptoService @Inject constructor(
}
override fun deleteDevice(deviceId: String, userInteractiveAuthInterceptor: UserInteractiveAuthInterceptor, callback: MatrixCallback<Unit>) {
deleteDevices(listOf(deviceId), userInteractiveAuthInterceptor, callback)
}
override fun deleteDevices(deviceIds: List<String>, userInteractiveAuthInterceptor: UserInteractiveAuthInterceptor, callback: MatrixCallback<Unit>) {
deleteDeviceTask
.configureWith(DeleteDeviceTask.Params(deviceId, userInteractiveAuthInterceptor, null)) {
.configureWith(DeleteDeviceTask.Params(deviceIds, userInteractiveAuthInterceptor, null)) {
this.executionThread = TaskThread.CRYPTO
this.callback = callback
}

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