Merge branch 'develop' into feature/ons/poll_refactoring
* develop: (251 commits) Space explore rooms screen alignment with design in figma (#5834) leaving space aligned with ios (#5942) Fix usage of System.currentTimeMillis(). This a bit mocky but anyway it's better to use SystemClock.elapsedRealtime() for this case. Update TimelinePreviousLastForwardTest.kt Changelog.d Rename 'getDomain' to 'getServerName'. Well-known lookups should not include the port of a server. Ah it was used in Gplay variant. Anyway I think we can still remove this now. Fix parsing of location data in non encrypted room Additionally increment for TimelinePreviousLastForwardTest Notify other devices of acceptance of verification request Instead of using a magic number, explicitly test for the events we expect. Adding comments on some strings and removing non necessary plural Remove ShortcutBadger lib and usage (it was dead code) Version++ Fastlane file Towncrier Add `.login` to get the username of the PR merger. Rename folder for the PlayStore Remove empty translations ... # Conflicts: # matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/SessionModule.kt
This commit is contained in:
commit
1605ae1607
|
@ -67,4 +67,4 @@ jobs:
|
|||
path: |
|
||||
vector/build/outputs/apk/*/release/*.apk
|
||||
|
||||
# TODO: add exodus checks
|
||||
# TODO add exodus checks
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
name: Documentation
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop ]
|
||||
|
||||
jobs:
|
||||
docs:
|
||||
name: Generate and publish Android Matrix SDK documentation
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Build docs
|
||||
run: ./gradlew dokkaHtml
|
||||
|
||||
- name: Deploy docs
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./matrix-sdk-android/build/dokka/html
|
|
@ -285,7 +285,7 @@ jobs:
|
|||
codecov-units:
|
||||
name: Unit tests with code coverage
|
||||
needs: should-i-run
|
||||
runs-on: macos-latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-java@v3
|
||||
|
@ -318,12 +318,12 @@ jobs:
|
|||
- integration-tests
|
||||
- ui-tests
|
||||
- codecov-units
|
||||
if: always() && (needs.should-i-run.status == 'success' ) && ((needs.codecov-units.status != 'success' ) || (needs.ui-tests.status != 'success') || (needs.integration-tests.status != 'success'))
|
||||
if: always() && (needs.should-i-run.result == 'success' ) && ((needs.codecov-units.result != 'success' ) || (needs.ui-tests.result != 'success') || (needs.integration-tests.result != 'success'))
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: michaelkaye/matrix-hookshot-action@v1.0.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
hookshot_url: ${{ secrets.ELEMENT_ANDROID_HOOKSHOT_URL }}
|
||||
text_template: "Post-merge validation of ${{ github.head_ref }} into ${{ github.base_ref }} by ${{ github.event.merged_by }} failed: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||
html_template: "Post-merge validation of ${{ github.head_ref }} into ${{ github.base_ref }} by ${{ github.event.merged_by }} failed: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion}} {{name}} <font color='{{color conclusion}}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
||||
text_template: "Post-merge validation of ${{ github.head_ref }} into ${{ github.base_ref }} by ${{ github.event.pull_request.merged_by.login }} failed: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||
html_template: "Post-merge validation of ${{ github.head_ref }} into ${{ github.base_ref }} by ${{ github.event.pull_request.merged_by.login }} failed: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion}} {{name}} <font color='{{color conclusion}}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
||||
|
|
|
@ -14,6 +14,16 @@ jobs:
|
|||
- name: Run code quality check suite
|
||||
run: ./tools/check/check_code_quality.sh
|
||||
|
||||
# Knit for all the modules (https://github.com/Kotlin/kotlinx-knit)
|
||||
knit:
|
||||
name: Knit
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run knit
|
||||
run: |
|
||||
./gradlew knit
|
||||
|
||||
# ktlint for all the modules
|
||||
ktlint:
|
||||
name: Kotlin Linter
|
||||
|
@ -147,3 +157,23 @@ jobs:
|
|||
name: release-lint-report-${{ matrix.target }}
|
||||
path: |
|
||||
vector/build/reports/*.*
|
||||
|
||||
detekt:
|
||||
name: Detekt Analysis
|
||||
runs-on: ubuntu-latest
|
||||
# Allow all jobs on main and develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/main' && format('detekt-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('detekt-develop-{0}', github.sha) || format('detekt-{0}', github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run detekt
|
||||
run: |
|
||||
./gradlew detekt
|
||||
- name: Upload reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: detekt-report
|
||||
path: |
|
||||
*/build/reports/detekt/detekt.html
|
||||
|
|
|
@ -71,7 +71,7 @@ jobs:
|
|||
needs:
|
||||
- sonarqube
|
||||
- codecov-units
|
||||
if: always() && (needs.sonarqube.result != "success" || needs.codecov-units.result != "success")
|
||||
if: always() && (needs.sonarqube.result != 'success' || needs.codecov-units.result != 'success')
|
||||
steps:
|
||||
- uses: michaelkaye/matrix-hookshot-action@v1.0.0
|
||||
with:
|
||||
|
|
41
CHANGES.md
41
CHANGES.md
|
@ -1,3 +1,44 @@
|
|||
Changes in Element v1.4.16 (2022-05-17)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Use key backup before requesting keys + refactor & improvement of key request/forward ([#5494](https://github.com/vector-im/element-android/issues/5494))
|
||||
- Screen sharing over WebRTC ([#5911](https://github.com/vector-im/element-android/issues/5911))
|
||||
- Allow using the latest user Avatar and name for all messages in the timeline ([#5932](https://github.com/vector-im/element-android/issues/5932))
|
||||
- Added themed launch icons for Android 13 ([#5936](https://github.com/vector-im/element-android/issues/5936))
|
||||
- Add presence indicator busy and away. ([#6047](https://github.com/vector-im/element-android/issues/6047))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Changed copy and list order in member profile screen. ([#5825](https://github.com/vector-im/element-android/issues/5825))
|
||||
- Fix for audio only being received in one direction after an un-hold during a sip call. ([#5865](https://github.com/vector-im/element-android/issues/5865))
|
||||
- Desynchronized 4S | Megolm backup causing Unusable backup ([#5906](https://github.com/vector-im/element-android/issues/5906))
|
||||
- If animations are disable on the System, chat effects and confetti will be disabled too ([#5941](https://github.com/vector-im/element-android/issues/5941))
|
||||
- Multiple threads improvement (mainly UI) ([#5959](https://github.com/vector-im/element-android/issues/5959))
|
||||
|
||||
Improved Documentation 📚
|
||||
------------------------
|
||||
- Note public_baseurl requirement in integration tests documentation. ([#5973](https://github.com/vector-im/element-android/issues/5973))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- - New API to enable/disable key forwarding CryptoService#enableKeyGossiping()
|
||||
- New API to limit room key request only to own devices MXCryptoConfig#limitRoomKeyRequestsToMyDevices
|
||||
- Event Trail API has changed, now using AuditTrail events
|
||||
- New API to manually accept an incoming key request CryptoService#manuallyAcceptRoomKeyRequest() ([#5559](https://github.com/vector-im/element-android/issues/5559))
|
||||
- Small change in the Matrix class: deprecated methods have been removed and the constructor is now public. Also the fun `workerFactory()` has been renamed to `getWorkerFactory()` ([#5887](https://github.com/vector-im/element-android/issues/5887))
|
||||
- Including SSL/TLS error handing when doing WellKnown lookups without a custom HomeServerConnectionConfig ([#5965](https://github.com/vector-im/element-android/issues/5965))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Improve threads rendering in the main timeline ([#5151](https://github.com/vector-im/element-android/issues/5151))
|
||||
- Reformatted project code ([#5953](https://github.com/vector-im/element-android/issues/5953))
|
||||
- Update check for server-side threads support to match spec. ([#5997](https://github.com/vector-im/element-android/issues/5997))
|
||||
- Setup detekt ([#6038](https://github.com/vector-im/element-android/issues/6038))
|
||||
- Notify the user for each new message ([#46312](https://github.com/vector-im/element-android/issues/46312))
|
||||
|
||||
|
||||
Changes in Element v1.4.14 (2022-05-05)
|
||||
=======================================
|
||||
|
||||
|
|
17
build.gradle
17
build.gradle
|
@ -30,14 +30,17 @@ buildscript {
|
|||
classpath "com.likethesalad.android:stem-plugin:2.0.0"
|
||||
classpath 'org.owasp:dependency-check-gradle:7.1.0.1'
|
||||
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.6.21"
|
||||
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
// ktlint Plugin
|
||||
plugins {
|
||||
// ktlint Plugin
|
||||
id "org.jlleitschuh.gradle.ktlint" version "10.3.0"
|
||||
// Detekt
|
||||
id "io.gitlab.arturbosch.detekt" version "1.20.0"
|
||||
}
|
||||
|
||||
// https://github.com/jeremylong/DependencyCheck
|
||||
|
@ -52,6 +55,7 @@ dependencyCheck {
|
|||
|
||||
allprojects {
|
||||
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
||||
apply plugin: "io.gitlab.arturbosch.detekt"
|
||||
|
||||
repositories {
|
||||
// Do not use `mavenCentral()`, it prevents Dependabot from working properly
|
||||
|
@ -119,7 +123,7 @@ allprojects {
|
|||
// display the corresponding rule
|
||||
verbose = true
|
||||
disabledRules = [
|
||||
// TODO: Re-enable these 4 rules after reformatting project
|
||||
// TODO Re-enable these 4 rules after reformatting project
|
||||
"indent",
|
||||
"experimental:argument-list-wrapping",
|
||||
"max-line-length",
|
||||
|
@ -140,6 +144,15 @@ allprojects {
|
|||
"experimental:kdoc-wrapping",
|
||||
]
|
||||
}
|
||||
|
||||
detekt {
|
||||
// preconfigure defaults
|
||||
buildUponDefaultConfig = true
|
||||
// activate all available (even unstable) rules.
|
||||
allRules = true
|
||||
// point to your custom config defining rules to run, overwriting default behavior
|
||||
config = files("$rootDir/tools/detekt/detekt.yml")
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Notify the user for each new message
|
|
@ -1 +0,0 @@
|
|||
Improve threads rendering in the main timeline
|
|
@ -0,0 +1 @@
|
|||
Space explore screen changes: removed space card, added rooms filtering
|
|
@ -0,0 +1 @@
|
|||
[Live location sharing] Update message in timeline during the live
|
|
@ -0,0 +1 @@
|
|||
- Notifies other devices when a verification request sent from an Android device is accepted.`
|
|
@ -0,0 +1 @@
|
|||
leaving space experience changed to be aligned with iOS
|
|
@ -1 +0,0 @@
|
|||
Screen sharing over WebRTC
|
|
@ -1 +0,0 @@
|
|||
If animations are disable on the System, chat effects and confetti will be disabled too
|
|
@ -1 +0,0 @@
|
|||
Reformatted project code
|
|
@ -1 +0,0 @@
|
|||
Including SSL/TLS error handing when doing WellKnown lookups without a custom HomeServerConnectionConfig
|
|
@ -0,0 +1 @@
|
|||
@Ignore a number of tests that are currently failing in CI.
|
|
@ -0,0 +1 @@
|
|||
Remove ShortcutBadger lib and usage (it was dead code)
|
|
@ -0,0 +1 @@
|
|||
Correct .well-known/matrix/client handling for server_names which include ports.
|
|
@ -9,8 +9,8 @@ ext.versions = [
|
|||
|
||||
def gradle = "7.2.0"
|
||||
// Ref: https://kotlinlang.org/releases.html
|
||||
def kotlin = "1.6.0"
|
||||
def kotlinCoroutines = "1.6.0"
|
||||
def kotlin = "1.6.21"
|
||||
def kotlinCoroutines = "1.6.1"
|
||||
def dagger = "2.42"
|
||||
def retrofit = "2.9.0"
|
||||
def arrow = "0.8.2"
|
||||
|
@ -26,7 +26,7 @@ def jjwt = "0.11.5"
|
|||
def vanniktechEmoji = "0.9.0"
|
||||
|
||||
// Testing
|
||||
def mockk = "1.12.3"
|
||||
def mockk = "1.12.4"
|
||||
def espresso = "3.4.0"
|
||||
def androidxTest = "1.4.0"
|
||||
def androidxOrchestrator = "1.4.1"
|
||||
|
@ -53,7 +53,7 @@ ext.libs = [
|
|||
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.3",
|
||||
'work' : "androidx.work:work-runtime-ktx:2.7.1",
|
||||
'autoFill' : "androidx.autofill:autofill:1.1.0",
|
||||
'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1",
|
||||
'preferenceKtx' : "androidx.preference:preference-ktx:1.2.0",
|
||||
'junit' : "androidx.test.ext:junit:1.1.3",
|
||||
'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle",
|
||||
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle",
|
||||
|
|
|
@ -123,6 +123,7 @@ ext.groups = [
|
|||
'io.github.detekt.sarif4k',
|
||||
'io.github.microutils',
|
||||
'io.github.reactivecircus.flowbinding',
|
||||
'io.gitlab.arturbosch.detekt',
|
||||
'io.grpc',
|
||||
'io.jsonwebtoken',
|
||||
'io.kindedj',
|
||||
|
@ -140,7 +141,6 @@ ext.groups = [
|
|||
'jline',
|
||||
'jp.wasabeef',
|
||||
'junit',
|
||||
'me.leolin',
|
||||
'me.saket',
|
||||
'net.bytebuddy',
|
||||
'net.java',
|
||||
|
@ -195,6 +195,7 @@ ext.groups = [
|
|||
'org.testng',
|
||||
'org.threeten',
|
||||
'org.webjars',
|
||||
'org.yaml',
|
||||
'ru.noties',
|
||||
'xerces',
|
||||
'xml-apis',
|
||||
|
|
|
@ -37,9 +37,9 @@ Wording: "We've sent you an email to verify your address. Please follow the inst
|
|||
}
|
||||
```
|
||||
|
||||
## User receive an e-mail
|
||||
## User receives an e-mail
|
||||
|
||||
> [homeserver.org] Validate your email
|
||||
> `homeserver.org` Validate your email
|
||||
>
|
||||
> A request to add an email address to your Matrix account has been received. If this was you, please click the link below to confirm adding this email:
|
||||
https://homeserver.org/_matrix/client/unstable/add_threepid/email/submit_token?token=WUnEhQAmJrXupdEbXgdWvnVIKaGYZFsU&client_secret=TixzvOnw7nLEUdiQEmkHzkXKrY4HhiGh&sid=bxyDHuJKsdkjMlTJ
|
||||
|
|
|
@ -43,14 +43,17 @@ virtualenv -p python3 env
|
|||
source env/bin/activate
|
||||
pip install -e .
|
||||
demo/start.sh --no-rate-limit
|
||||
|
||||
```
|
||||
|
||||
Alternatively, to install the latest Synapse release package (and not a cloned branch) you can run the following instead of `pip install -e .`:
|
||||
Alternatively, to install the latest Synapse release package (and not a cloned branch) you can run the following instead of `git clone` and `pip install -e .`:
|
||||
|
||||
```bash
|
||||
pip install matrix-synapse
|
||||
```
|
||||
|
||||
On your first run, you will want to stop the demo and edit the config to correct the `public_baseurl` to http://10.0.2.2:8080 and restart the server.
|
||||
|
||||
You should now have 3 running federated Synapse instances 🎉, at http://127.0.0.1:8080/, http://127.0.0.1:8081/ and http://127.0.0.1:8082/, which should display a "It Works! Synapse is running" message.
|
||||
|
||||
## Run the test
|
||||
|
@ -87,6 +90,18 @@ You'll need python3 to be able to run synapse
|
|||
|
||||
Try on the Emulator browser to open "http://10.0.2.2:8080". You should see the "Synapse is running" message.
|
||||
|
||||
### Tests partially run but some fail with "Unable to contact localhost:8080"
|
||||
|
||||
This is because the `public_baseurl` of synapse is not consistent with the endpoint that the tests are connecting to.
|
||||
|
||||
Ensure you have the following configuration in `demo/etc/8080.config`.
|
||||
|
||||
```
|
||||
public_baseurl: http://10.0.2.2:8080/
|
||||
```
|
||||
|
||||
After changing this you will need to restart synapse using `demo/stop.sh` and `demo/start.sh` to load the new configuration.
|
||||
|
||||
### virtualenv command fails
|
||||
|
||||
You can try using
|
||||
|
|
|
@ -30,6 +30,19 @@ In any case, it is better to explicitly declare in the description why the PR is
|
|||
|
||||
Also, draft PR should not stay indefinitely in this state. It may be removed if it is the case and the submitter does not update it after a few days.
|
||||
|
||||
##### Base branch
|
||||
|
||||
The `develop` branch is generally the base branch for every PRs.
|
||||
|
||||
Exceptions can occur:
|
||||
|
||||
- if a feature implementation is split into multiple PRs. We can have a chain of PRs in this case. PR can be merged one by one on develop, and GitHub change the target branch to `develop` for the next PR automatically.
|
||||
- we want to merge a PR from the community, but there is still work to do, and the PR is not updated by the submitter. First, we can kindly ask the submitter if they will update their PR, by commenting it. If there is no answer after a few days (including a week-end), we can create a new branch, push it, and change the target branch of the PR to this new branch. The PR can then be merged, and we can add more commits to fix the issues. After that a new PR can be created with `develop` as a target branch.
|
||||
|
||||
**Important notice 1:** Releases are created from the `develop` branch. So `develop` branch should always contain a "releasable" source code. So when a feature is being implemented with several PRs, it has to be disabled by default (using a feature flag for instance), until the feature is fully implemented. A last PR to enable the feature can then be created.
|
||||
|
||||
**Important notice 2:** Database migration: some developers and some people from the community are using the nightly build from `develop`. Multiple database migrations should be properly handled for them. This is OK to have multiple migrations between 2 releases, this is not OK to add steps to the pending database migration on `develop`. So for instance `develop` users will migrate from version 11 to version 12, then 13, then 14, and `main` users will do all those steps after they get the app upgrade.
|
||||
|
||||
##### PR Review Assignment
|
||||
|
||||
We use automatic assignment for PR reviews. A PR is automatically routed by GitHub to 2 team members using the round robin algorithm. The process is the following:
|
||||
|
@ -103,7 +116,7 @@ Review such PR is the same recipe than for PR from Dependabot
|
|||
##### Sync analytics plan
|
||||
|
||||
This tools imports any update in the analytics plan. See instruction in the PR itself to handle it.
|
||||
More info can be found in the file [analytics.md]
|
||||
More info can be found in the file [analytics.md](./analytics.md)
|
||||
|
||||
## Reviewing PR
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Hlavní změny v této verzi: Umožňuje uživatelům zobrazovat se offline a přidává zvukový přehrávač pro zvukové přílohy
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Hlavní změny v této verzi: Umožňuje uživatelům zobrazovat se offline a přidává zvukový přehrávač pro zvukové přílohy
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Hauptänderungen: Threads sind jetzt schneller, Fehlerbehebungen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Änderungen: Fehlerbehebungen
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.4.7
|
|
@ -0,0 +1,2 @@
|
|||
Hauptänderungen: Schnellere Threads, Fehlerbehebungen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Hauptänderungen: Scrollen in Sprachnachrichten, Fehlerbehebungen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Änderungen: Fehlerbehebungen und Stabilitätsverbesserungen
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Hauptänderungen: Nutzer können ihren Status auf „Offline“ setzen, Gesendete Audiodateien können nun in der App abgespielt werden
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Hauptänderungen: Nutzer können ihren Status auf „Offline“ setzen, Gesendete Audiodateien können nun in der App abgespielt werden
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Main changes in this version: Better management of encrypted messages. Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Põhilised muutused selles versioonis: kasutajate võrguolekud ning helisõnumite esitaja.
|
||||
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Põhilised muutused selles versioonis: kasutajate võrguolekud ning helisõnumite esitaja.
|
||||
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
تغییرات عمده در این نگارش: اجازه به کاربران برای برونخط ظاهر شدن و افزودن یک پخشکنندهٔ صدا برای پیوستهای صوتی
|
||||
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
تغییرات عمده در این نگارش: اجازه به کاربران برای برونخط ظاهر شدن و افزودن یک پخشکنندهٔ صدا برای پیوستهای صوتی
|
||||
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Perubahan utama dalam versi ini: Diperbolehkan pengguna untuk terlihat luring dan ditambahkan sebuah pemain audio untuk lampiran audio
|
||||
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Perubahan utama dalam versi ini: Diperbolehkan pengguna untuk terlihat luring dan ditambahkan sebuah pemain audio untuk lampiran audio
|
||||
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Modifiche principali in questa versione: consente agli utenti di apparire offline e aggiunge un player audio per gli allegati audio
|
||||
Cronologia completa: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
Modifiche principali in questa versione: consente agli utenti di apparire offline e aggiunge un player audio per gli allegati audio
|
||||
Cronologia completa: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
ການປ່ຽນແປງຫຼັກໃນສະບັບນີ້: ໃຫ້ຜູ້ໃຊ້ສາມາດສະແດງຕົວເປັນ offline ແລະສາມາດຫຼິ້ນສຽງໄດ້ສຳລັບການແນບສຽງ
|
||||
ບັນທຶກການປ່ຽນແປງສະບັບເຕັມ: https://github.com/vector-im/element-android/releases
|
|
@ -0,0 +1,2 @@
|
|||
ການປ່ຽນແປງຫຼັກໃນສະບັບນີ້: ໃຫ້ຜູ້ໃຊ້ສາມາດສະແດງຕົວເປັນ offline ແລະສາມາດຫຼິ້ນສຽງໄດ້ສຳລັບການແນບສຽງ
|
||||
ບັນທຶກການປ່ຽນແປງສະບັບເຕັມ: https://github.com/vector-im/element-android/releases
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue