mirror of
https://github.com/vector-im/element-android.git
synced 2024-11-29 15:40:55 +08:00
Merge branch 'develop' into feature/bca/rust_flavor
This commit is contained in:
commit
a9b970832e
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@ -5,7 +5,7 @@ body:
|
|||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: |
|
value: |
|
||||||
Thank you for taking the time to propose a new feature or make a suggestion.
|
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: usecase
|
id: usecase
|
||||||
attributes:
|
attributes:
|
||||||
|
58
.github/ISSUE_TEMPLATE/release.yml
vendored
58
.github/ISSUE_TEMPLATE/release.yml
vendored
@ -20,34 +20,11 @@ body:
|
|||||||
- [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores.
|
- [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores.
|
||||||
- [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file
|
- [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file
|
||||||
- [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect.
|
- [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect.
|
||||||
|
|
||||||
- [ ] Ensure all [the required PRs](https://github.com/vector-im/element-android/pulls?q=is%3Aopen+is%3Apr+label%3AZ-NextRelease) have been merged
|
- [ ] Ensure all [the required PRs](https://github.com/vector-im/element-android/pulls?q=is%3Aopen+is%3Apr+label%3AZ-NextRelease) have been merged
|
||||||
|
|
||||||
### Do the release
|
### Do the release
|
||||||
|
|
||||||
- [ ] Make sure `develop` and `main` are up to date (git pull)
|
- [ ] Run the script ./tools/release/releaseScript.sh and follow the steps.
|
||||||
- [ ] Checkout develop and create a release with gitflow, branch name `release/1.2.3`
|
|
||||||
- [ ] Check the crashes from the PlayStore
|
|
||||||
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.2.3-dev
|
|
||||||
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
|
|
||||||
- [ ] Create an account on matrix.org and do some smoke tests that the sanity test does not cover like: 1-1 call, 1-1 video call, Jitsi call for instance
|
|
||||||
- [ ] Run towncrier: `towncrier build --version v1.2.3 --draft` (remove `--draft` do write the file CHANGES.md)
|
|
||||||
- [ ] Check that the folder `changelog.d` is empty. It can happen that some remaining files stay here
|
|
||||||
- [ ] 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`
|
|
||||||
- [ ] 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`
|
|
||||||
- [ ] Wait for [Buildkite](https://buildkite.com/matrix-dot-org/element-android/builds?branch=main) to build the `main` branch.
|
|
||||||
- [ ] Run the script `~/scripts/releaseElement.sh`. It will download the APKs from Buildkite check them and sign them.
|
|
||||||
- [ ] Install the APK on your phone to check that the upgrade went well (no init sync, etc.)
|
|
||||||
- [ ] Create the release on gitHub [from the tag](https://github.com/vector-im/element-android/tags), copy paste the block from the file CHANGES.md
|
|
||||||
- [ ] Add the 4 signed APKs to the GitHub release
|
|
||||||
- [ ] Ping the Android Internal room
|
|
||||||
|
|
||||||
### Once tested and validated internally
|
### Once tested and validated internally
|
||||||
|
|
||||||
@ -84,29 +61,9 @@ body:
|
|||||||
|
|
||||||
The SDK2 and the sample app are released only when Element has been pushed to production.
|
The SDK2 and the sample app are released only when Element has been pushed to production.
|
||||||
|
|
||||||
- [ ] Checkout the `main` branch on Element Android project
|
- [ ] On the [SDK2 project](https://github.com/matrix-org/matrix-android-sdk2), run the script ./tools/releaseScript.sh and follow the instructions.
|
||||||
|
|
||||||
#### On the SDK2 project
|
Note: if the step `./gradlew closeAndReleaseRepository` fails (for instance, several repositories are waiting to be handled), you have to close and release the repository manually. Do the following steps:
|
||||||
|
|
||||||
https://github.com/matrix-org/matrix-android-sdk2
|
|
||||||
|
|
||||||
- [ ] Create a release with GitFlow
|
|
||||||
- [ ] Update the value of VERSION_NAME in the file gradle.properties
|
|
||||||
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
|
|
||||||
- [ ] Run the script `./tools/import_from_element.sh`
|
|
||||||
- [ ] Check the diff in the file `./matrix-sdk-android/build.gradle` and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"` and the line about the version)
|
|
||||||
- [ ] Let the script finish to build the library
|
|
||||||
- [ ] Update the file `CHANGES.md`
|
|
||||||
- [ ] Finish the release using GitFlow
|
|
||||||
- [ ] Push the branch `main`, the new tag and the branch `develop` to origin
|
|
||||||
|
|
||||||
##### Release on MavenCentral
|
|
||||||
|
|
||||||
- [ ] Checkout the branch `main`
|
|
||||||
- [ ] Run the command `./gradlew publish --no-daemon --no-parallel`. You'll need some non-public element to do so
|
|
||||||
- [ ] Run the command `./gradlew closeAndReleaseRepository`. If it is working well, you can jump directly to the final step of this section.
|
|
||||||
|
|
||||||
If `./gradlew closeAndReleaseRepository` fails (for instance, several repositories are waiting to be handled), you have to close and release the repository manually. Do the following steps:
|
|
||||||
|
|
||||||
- [ ] Connect to https://s01.oss.sonatype.org
|
- [ ] Connect to https://s01.oss.sonatype.org
|
||||||
- [ ] Click on Staging Repositories and check the the files have been uploaded
|
- [ ] Click on Staging Repositories and check the the files have been uploaded
|
||||||
@ -114,15 +71,6 @@ body:
|
|||||||
- [ ] Wait (check Activity tab until step "Repository closed" is displayed)
|
- [ ] Wait (check Activity tab until step "Repository closed" is displayed)
|
||||||
- [ ] Click on release. The staging repository will disappear
|
- [ ] Click on release. The staging repository will disappear
|
||||||
|
|
||||||
Final step
|
|
||||||
|
|
||||||
- [ ] Check that the release is available in https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/ (it can take a few minutes)
|
|
||||||
|
|
||||||
##### Release on GitHub
|
|
||||||
|
|
||||||
- [ ] Create the release on GitHub from [the tag](https://github.com/matrix-org/matrix-android-sdk2/tags)
|
|
||||||
- [ ] Upload the AAR on the GitHub release
|
|
||||||
|
|
||||||
### Android SDK2 sample
|
### Android SDK2 sample
|
||||||
|
|
||||||
https://github.com/matrix-org/matrix-android-sdk2-sample
|
https://github.com/matrix-org/matrix-android-sdk2-sample
|
||||||
|
2
.github/workflows/danger.yml
vendored
2
.github/workflows/danger.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
|||||||
- run: |
|
- run: |
|
||||||
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
||||||
- name: Danger
|
- name: Danger
|
||||||
uses: danger/danger-js@11.1.3
|
uses: danger/danger-js@11.1.4
|
||||||
with:
|
with:
|
||||||
args: "--dangerfile tools/danger/dangerfile.js"
|
args: "--dangerfile tools/danger/dangerfile.js"
|
||||||
env:
|
env:
|
||||||
|
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@ -10,7 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Build docs
|
- name: Build docs
|
||||||
run: ./gradlew dokkaHtml
|
run: ./gradlew dokkaHtml
|
||||||
|
5
.github/workflows/post-pr.yml
vendored
5
.github/workflows/post-pr.yml
vendored
@ -32,6 +32,7 @@ jobs:
|
|||||||
name: UI Tests (Synapse)
|
name: UI Tests (Synapse)
|
||||||
needs: should-i-run
|
needs: should-i-run
|
||||||
runs-on: buildjet-4vcpu-ubuntu-2204
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
timeout-minutes: 90 # We might need to increase it if the time for tests grows
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@ -52,7 +53,7 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-gradle-
|
${{ runner.os }}-gradle-
|
||||||
- name: Start synapse server
|
- name: Start synapse server
|
||||||
uses: michaelkaye/setup-matrix-synapse@v1.0.3
|
uses: michaelkaye/setup-matrix-synapse@v1.0.4
|
||||||
with:
|
with:
|
||||||
uploadLogs: true
|
uploadLogs: true
|
||||||
httpPort: 8080
|
httpPort: 8080
|
||||||
@ -94,7 +95,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- should-i-run
|
- should-i-run
|
||||||
- ui-tests
|
- ui-tests
|
||||||
if: always() && (needs.should-i-run.result == 'success' ) && ((needs.codecov-units.result != 'success' ) || (needs.ui-tests.result != 'success') || (needs.integration-tests.result != 'success'))
|
if: always() && (needs.should-i-run.result == 'success' ) && (needs.ui-tests.result != 'success')
|
||||||
# No concurrency required, runs every time on a schedule.
|
# No concurrency required, runs every time on a schedule.
|
||||||
steps:
|
steps:
|
||||||
- uses: michaelkaye/matrix-hookshot-action@v1.0.0
|
- uses: michaelkaye/matrix-hookshot-action@v1.0.0
|
||||||
|
2
.github/workflows/quality.yml
vendored
2
.github/workflows/quality.yml
vendored
@ -66,7 +66,7 @@ jobs:
|
|||||||
yarn add danger-plugin-lint-report --dev
|
yarn add danger-plugin-lint-report --dev
|
||||||
- name: Danger lint
|
- name: Danger lint
|
||||||
if: always()
|
if: always()
|
||||||
uses: danger/danger-js@11.1.3
|
uses: danger/danger-js@11.1.4
|
||||||
with:
|
with:
|
||||||
args: "--dangerfile tools/danger/dangerfile-lint.js"
|
args: "--dangerfile tools/danger/dangerfile-lint.js"
|
||||||
env:
|
env:
|
||||||
|
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
@ -14,6 +14,7 @@ jobs:
|
|||||||
tests:
|
tests:
|
||||||
name: Runs all tests
|
name: Runs all tests
|
||||||
runs-on: buildjet-4vcpu-ubuntu-2204
|
runs-on: buildjet-4vcpu-ubuntu-2204
|
||||||
|
timeout-minutes: 90 # We might need to increase it if the time for tests grows
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
api-level: [28]
|
api-level: [28]
|
||||||
@ -50,7 +51,7 @@ jobs:
|
|||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.8
|
||||||
- uses: michaelkaye/setup-matrix-synapse@v1.0.3
|
- uses: michaelkaye/setup-matrix-synapse@v1.0.4
|
||||||
with:
|
with:
|
||||||
uploadLogs: true
|
uploadLogs: true
|
||||||
httpPort: 8080
|
httpPort: 8080
|
||||||
|
2
.github/workflows/triage-incoming.yml
vendored
2
.github/workflows/triage-incoming.yml
vendored
@ -10,7 +10,7 @@ jobs:
|
|||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: github.repository == 'vector-im/element-android'
|
if: github.repository == 'vector-im/element-android'
|
||||||
steps:
|
steps:
|
||||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||||
with:
|
with:
|
||||||
project: Issue triage
|
project: Issue triage
|
||||||
column: Incoming
|
column: Incoming
|
||||||
|
159
.github/workflows/triage-labelled.yml
vendored
159
.github/workflows/triage-labelled.yml
vendored
@ -29,6 +29,23 @@ jobs:
|
|||||||
labels: ['Z-Labs']
|
labels: ['Z-Labs']
|
||||||
})
|
})
|
||||||
|
|
||||||
|
apply_Help-Wanted_label:
|
||||||
|
name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
contains(github.event.issue.labels.*.name, 'good first issue') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'Hacktoberfest')
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@v5
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
github.rest.issues.addLabels({
|
||||||
|
issue_number: context.issue.number,
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
labels: ['Help Wanted']
|
||||||
|
})
|
||||||
|
|
||||||
move_needs_info_issues:
|
move_needs_info_issues:
|
||||||
name: X-Needs-Info issues to Need info column on triage board
|
name: X-Needs-Info issues to Need info column on triage board
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -48,7 +65,13 @@ jobs:
|
|||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: >
|
if: >
|
||||||
github.repository == 'vector-im/element-android' &&
|
github.repository == 'vector-im/element-android' &&
|
||||||
contains(github.event.issue.labels.*.name, 'X-Needs-Design')
|
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||||
|
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||||
|
(contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'O-Frequent')) ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A11y'))
|
||||||
steps:
|
steps:
|
||||||
- uses: octokit/graphql-action@v2.x
|
- uses: octokit/graphql-action@v2.x
|
||||||
id: add_to_project
|
id: add_to_project
|
||||||
@ -56,8 +79,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -80,8 +103,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -106,8 +129,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -131,8 +154,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -155,8 +178,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,8 +203,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,8 +228,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -235,8 +258,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -246,3 +269,105 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
PROJECT_ID: "PN_kwDOAM0swc4ABTXY"
|
PROJECT_ID: "PN_kwDOAM0swc4ABTXY"
|
||||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
ps_features1:
|
||||||
|
name: Add labelled issues to PS features team 1
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Polls') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||||
|
(contains(github.event.issue.labels.*.name, 'A-Voice-Messages') &&
|
||||||
|
!contains(github.event.issue.labels.*.name, 'A-Broadcast')) ||
|
||||||
|
(contains(github.event.issue.labels.*.name, 'A-Session-Mgmt') &&
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-User-Settings'))
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
id: add_to_project
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
|
item {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PVT_kwDOAM0swc4AHJKF"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
ps_features2:
|
||||||
|
name: Add labelled issues to PS features team 2
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-DM-Start') ||
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Broadcast')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
id: add_to_project
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
|
item {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PVT_kwDOAM0swc4AHJKd"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
ps_features3:
|
||||||
|
name: Add labelled issues to PS features team 3
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
id: add_to_project
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
|
item {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PVT_kwDOAM0swc4AHJKW"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
||||||
|
voip:
|
||||||
|
name: Add labelled issues to VoIP project board
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
contains(github.event.issue.labels.*.name, 'Team: VoIP')
|
||||||
|
steps:
|
||||||
|
- uses: octokit/graphql-action@v2.x
|
||||||
|
id: add_to_project
|
||||||
|
with:
|
||||||
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
|
query: |
|
||||||
|
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||||
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
|
item {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
projectid: ${{ env.PROJECT_ID }}
|
||||||
|
contentid: ${{ github.event.issue.node_id }}
|
||||||
|
env:
|
||||||
|
PROJECT_ID: "PVT_kwDOAM0swc4ABMIk"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
@ -60,8 +60,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,8 +129,8 @@ jobs:
|
|||||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||||
query: |
|
query: |
|
||||||
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
||||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||||
projectNextItem {
|
item {
|
||||||
id
|
id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
4
.github/workflows/triage-priority-bugs.yml
vendored
4
.github/workflows/triage-priority-bugs.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||||
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||||
steps:
|
steps:
|
||||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||||
with:
|
with:
|
||||||
project: Android App Team
|
project: Android App Team
|
||||||
column: Important Issues & Topics (P1)
|
column: Important Issues & Topics (P1)
|
||||||
@ -50,7 +50,7 @@ jobs:
|
|||||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||||
contains(github.event.issue.labels.*.name, 'O-Frequent')))
|
contains(github.event.issue.labels.*.name, 'O-Frequent')))
|
||||||
steps:
|
steps:
|
||||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
- uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||||
with:
|
with:
|
||||||
project: Crypto Team
|
project: Crypto Team
|
||||||
column: Ready
|
column: Ready
|
||||||
|
2
.github/workflows/triage-unlabelled.yml
vendored
2
.github/workflows/triage-unlabelled.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
|
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
- name: Move issue
|
- name: Move issue
|
||||||
uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
uses: alex-page/github-project-automation-plus@1f8873e97e3c8f58161a323b7c568c1f623a1c4d
|
||||||
if: ${{ env.ALREADY_IN_BOARD == 'true' }}
|
if: ${{ env.ALREADY_IN_BOARD == 'true' }}
|
||||||
with:
|
with:
|
||||||
project: Issue triage
|
project: Issue triage
|
||||||
|
139
CHANGES.md
139
CHANGES.md
@ -1,3 +1,142 @@
|
|||||||
|
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)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Add new UI for selecting an attachment ([#7429](https://github.com/vector-im/element-android/issues/7429))
|
||||||
|
- Multi selection in sessions list ([#7396](https://github.com/vector-im/element-android/issues/7396))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- New line and Enter hardware key presses deleting existing text in some keyboards. ([#7357](https://github.com/vector-im/element-android/issues/7357))
|
||||||
|
- Fix share actions using share dialog. ([#7400](https://github.com/vector-im/element-android/issues/7400))
|
||||||
|
- Fix crash by disabling Flipper on Android API 22 and below - only affects debug version of the application. ([#7428](https://github.com/vector-im/element-android/issues/7428))
|
||||||
|
|
||||||
|
In development 🚧
|
||||||
|
----------------
|
||||||
|
- [Voice Broadcast] Live listening support ([#7419](https://github.com/vector-im/element-android/issues/7419))
|
||||||
|
- [Voice Broadcast] Improve rendering in the timeline ([#7421](https://github.com/vector-im/element-android/issues/7421))
|
||||||
|
- Add logic for sign in with QR code ([#7369](https://github.com/vector-im/element-android/issues/7369))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Add MetricPlugin interface to implement metrics in SDK clients. ([#7438](https://github.com/vector-im/element-android/issues/7438))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Upgrade Jitsi SDK to 6.2.2 and WebRtc to 1.106.1-jitsi-12039821. ([#6195](https://github.com/vector-im/element-android/issues/6195))
|
||||||
|
- Gets thread notifications from sync response ([#7424](https://github.com/vector-im/element-android/issues/7424))
|
||||||
|
- Replace org.apache.sanselan:sanselan by org.apache.commons:commons-imaging ([#7454](https://github.com/vector-im/element-android/issues/7454))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.5.4 (2022-10-19)
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Add WYSIWYG editor, under a lab flag. ([#7288](https://github.com/vector-im/element-android/issues/7288))
|
||||||
|
- New Device management, can be enabled in the labs settings.
|
||||||
|
- Voice broadcast can be enabled in the labs settings (recording is possible only on Android 10 and up).
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fix wrong mic button direction to cancel on RTL languages ([#5968](https://github.com/vector-im/element-android/issues/5968))
|
||||||
|
- Handle properly when getUser returns null - prefer using getUserOrDefault ([#7372](https://github.com/vector-im/element-android/issues/7372))
|
||||||
|
- [Device Management] Long session names not handled well ([#7310](https://github.com/vector-im/element-android/issues/7310))
|
||||||
|
- Fix editing formatted messages with plain text editor ([#7359](https://github.com/vector-im/element-android/issues/7359))
|
||||||
|
|
||||||
|
In development 🚧
|
||||||
|
----------------
|
||||||
|
- [Device Management] Save "matrix_client_information" events on login/registration ([#7257](https://github.com/vector-im/element-android/issues/7257))
|
||||||
|
- [Device management] Add lab flag for the feature ([#7336](https://github.com/vector-im/element-android/issues/7336))
|
||||||
|
- [Device management] Add lab flag for matrix client info account data event ([#7344](https://github.com/vector-im/element-android/issues/7344))
|
||||||
|
- [Device Management] Redirect to the new screen everywhere when lab flag is on ([#7374](https://github.com/vector-im/element-android/issues/7374))
|
||||||
|
- [Device Management] Show correct device type icons ([#7277](https://github.com/vector-im/element-android/issues/7277))
|
||||||
|
- [Device Management] Render extended device info ([#7294](https://github.com/vector-im/element-android/issues/7294))
|
||||||
|
- [Device management] Improve the parsing for OS of Desktop/Web sessions ([#7321](https://github.com/vector-im/element-android/issues/7321))
|
||||||
|
- [Device management] Hide the IP address and last activity date on current session ([#7324](https://github.com/vector-im/element-android/issues/7324))
|
||||||
|
- [Device management] Update the unknown verification status icon ([#7327](https://github.com/vector-im/element-android/issues/7327))
|
||||||
|
- [Voice Broadcast] Add the "io.element.voice_broadcast_info" state event with a minimalist timeline widget ([#7273](https://github.com/vector-im/element-android/issues/7273))
|
||||||
|
- [Voice Broadcast] Aggregate state events in the timeline ([#7283](https://github.com/vector-im/element-android/issues/7283))
|
||||||
|
- [Voice Broadcast] Record and send non aggregated voice messages to the room ([#7363](https://github.com/vector-im/element-android/issues/7363))
|
||||||
|
- [Voice Broadcast] Start listening to a voice broadcast ([#7387](https://github.com/vector-im/element-android/issues/7387))
|
||||||
|
- [Voice Broadcast] Enable the feature (behind a lab flag and only for Android 10 and up) ([#7393](https://github.com/vector-im/element-android/issues/7393))
|
||||||
|
- [Voice Broadcast] Add additional data in events ([#7397](https://github.com/vector-im/element-android/issues/7397))
|
||||||
|
- Implements MSC3881: Parses `enabled` and `device_id` fields from updated Pusher API ([#7217](https://github.com/vector-im/element-android/issues/7217))
|
||||||
|
- Adds pusher toggle setting to device manager v2 ([#7261](https://github.com/vector-im/element-android/issues/7261))
|
||||||
|
- Implement QR Code Login UI ([#7338](https://github.com/vector-im/element-android/issues/7338))
|
||||||
|
- Implements client-side of local notification settings event ([#7300](https://github.com/vector-im/element-android/issues/7300))
|
||||||
|
- Links "Enable Notifications for this session" setting to enabled value in pusher ([#7281](https://github.com/vector-im/element-android/issues/7281))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Stop using `original_event` field from `/relations` endpoint ([#7282](https://github.com/vector-im/element-android/issues/7282))
|
||||||
|
- Add `formattedText` or similar optional parameters in several methods:
|
||||||
|
* RelationService:
|
||||||
|
* editTextMessage
|
||||||
|
* editReply
|
||||||
|
* replyToMessage
|
||||||
|
* SendService:
|
||||||
|
* sendQuotedTextMessage
|
||||||
|
This allows us to send any HTML formatted text message without needing to rely on automatic Markdown > HTML translation. All these new parameters have a `null` value by default, so previous calls to these API methods remain compatible. ([#7288](https://github.com/vector-im/element-android/issues/7288))
|
||||||
|
- Add support for `m.login.token` auth during QR code based sign in ([#7358](https://github.com/vector-im/element-android/issues/7358))
|
||||||
|
- Allow getting the formatted or plain text body of a message for the fun `TimelineEvent.getTextEditableContent()`. ([#7359](https://github.com/vector-im/element-android/issues/7359))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Refactor TimelineFragment, split it into MessageComposerFragment and VoiceRecorderFragment. ([#7285](https://github.com/vector-im/element-android/issues/7285))
|
||||||
|
- Dependency to arrow has been removed. Please use `org.matrix.android.sdk.api.util.Optional` instead. ([#7335](https://github.com/vector-im/element-android/issues/7335))
|
||||||
|
- Update WYSIWYG editor designs. ([#7354](https://github.com/vector-im/element-android/issues/7354))
|
||||||
|
- Update WYSIWYG library to v0.2.1. ([#7384](https://github.com/vector-im/element-android/issues/7384))
|
||||||
|
|
||||||
|
|
||||||
Changes in Element v1.5.2 (2022-10-05)
|
Changes in Element v1.5.2 (2022-10-05)
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
* [Code quality](#code-quality)
|
* [Code quality](#code-quality)
|
||||||
* [Internal tool](#internal-tool)
|
* [Internal tool](#internal-tool)
|
||||||
* [ktlint](#ktlint)
|
* [ktlint](#ktlint)
|
||||||
|
* [knit](#knit)
|
||||||
* [lint](#lint)
|
* [lint](#lint)
|
||||||
* [Unit tests](#unit-tests)
|
* [Unit tests](#unit-tests)
|
||||||
* [Tests](#tests)
|
* [Tests](#tests)
|
||||||
@ -126,6 +127,23 @@ Note that you can run
|
|||||||
|
|
||||||
For ktlint to fix some detected errors for you (you still have to check and commit the fix of course)
|
For ktlint to fix some detected errors for you (you still have to check and commit the fix of course)
|
||||||
|
|
||||||
|
#### knit
|
||||||
|
|
||||||
|
[knit](https://github.com/Kotlin/kotlinx-knit) is a tool which checks markdown files on the project. Also it generates/updates the table of content (toc) of the markdown files.
|
||||||
|
|
||||||
|
So everytime the toc should be updated, just run
|
||||||
|
<pre>
|
||||||
|
./gradlew knit
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
and commit the changes.
|
||||||
|
|
||||||
|
The CI will check that markdown files are up to date by running
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
./gradlew knitCheck
|
||||||
|
</pre>
|
||||||
|
|
||||||
#### lint
|
#### lint
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop)
|
[![Latest build](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop)
|
||||||
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget)
|
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget)
|
||||||
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
|
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
|
||||||
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
|
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=vector-im_element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=vector-im_element-android)
|
||||||
@ -14,7 +14,7 @@ It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-androi
|
|||||||
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
|
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
|
||||||
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
|
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
|
||||||
|
|
||||||
Nightly build: [![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop) Nightly test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
|
Build of develop branch: [![GitHub Action](https://github.com/vector-im/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/nightly.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
|
||||||
|
|
||||||
|
|
||||||
# New Android SDK
|
# New Android SDK
|
||||||
@ -40,7 +40,7 @@ If you would like to receive releases more quickly (bearing in mind that they ma
|
|||||||
|
|
||||||
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
|
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
|
||||||
2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
|
2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
|
||||||
3. If you're really brave, install the [very latest dev build](https://buildkite.com/matrix-dot-org/element-android/builds/latest?branch=develop&state=passed) - click on *Assemble (GPlay or FDroid) Debug version* then on *Artifacts*.
|
3. If you're really brave, install the [very latest dev build](https://github.com/vector-im/element-android/actions/workflows/build.yml?query=branch%3Adevelop) - pick a build, then click on `Summary` to download the APKs from there: `vector-Fdroid-debug` and `vector-Gplay-debug` contains the APK for the desired store. Each file contains 5 APKs. 4 APKs for every supported specific architecture of device. In doubt you can install the `universal` APK.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
43
build.gradle
43
build.gradle
@ -24,16 +24,16 @@ buildscript {
|
|||||||
classpath libs.gradle.gradlePlugin
|
classpath libs.gradle.gradlePlugin
|
||||||
classpath libs.gradle.kotlinPlugin
|
classpath libs.gradle.kotlinPlugin
|
||||||
classpath libs.gradle.hiltPlugin
|
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 '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.google.android.gms:oss-licenses-plugin:0.10.5'
|
||||||
classpath "com.likethesalad.android:stem-plugin:2.2.2"
|
classpath "com.likethesalad.android:stem-plugin:2.2.3"
|
||||||
classpath 'org.owasp:dependency-check-gradle:7.2.1'
|
classpath 'org.owasp:dependency-check-gradle:7.3.0'
|
||||||
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.10"
|
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20"
|
||||||
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
||||||
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
|
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
|
||||||
classpath 'app.cash.paparazzi:paparazzi-gradle-plugin:1.0.0'
|
classpath libs.squareup.paparazziPlugin
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
}
|
}
|
||||||
@ -43,12 +43,12 @@ plugins {
|
|||||||
// ktlint Plugin
|
// ktlint Plugin
|
||||||
id "org.jlleitschuh.gradle.ktlint" version "11.0.0"
|
id "org.jlleitschuh.gradle.ktlint" version "11.0.0"
|
||||||
// Detekt
|
// Detekt
|
||||||
id "io.gitlab.arturbosch.detekt" version "1.21.0"
|
id "io.gitlab.arturbosch.detekt" version "1.22.0"
|
||||||
// Ksp
|
// Ksp
|
||||||
id "com.google.devtools.ksp" version "1.7.20-1.0.6"
|
id "com.google.devtools.ksp" version "1.7.21-1.0.8"
|
||||||
|
|
||||||
// Dependency Analysis
|
// Dependency Analysis
|
||||||
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
|
id 'com.autonomousapps.dependency-analysis' version "1.16.0"
|
||||||
// Gradle doctor
|
// Gradle doctor
|
||||||
id "com.osacky.doctor" version "0.8.1"
|
id "com.osacky.doctor" version "0.8.1"
|
||||||
}
|
}
|
||||||
@ -96,9 +96,9 @@ allprojects {
|
|||||||
}
|
}
|
||||||
// Jitsi repo
|
// Jitsi repo
|
||||||
maven {
|
maven {
|
||||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-5.0.2"
|
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-6.2.2"
|
||||||
// Note: to test Jitsi release you can use a local file like this:
|
// Note: to test Jitsi release you can use a local file like this:
|
||||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0"
|
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-6.2.2"
|
||||||
content {
|
content {
|
||||||
groups.jitsi.regex.each { includeGroupByRegex it }
|
groups.jitsi.regex.each { includeGroupByRegex it }
|
||||||
groups.jitsi.group.each { includeGroup it }
|
groups.jitsi.group.each { includeGroup it }
|
||||||
@ -157,6 +157,9 @@ allprojects {
|
|||||||
// To have XML report for Danger
|
// To have XML report for Danger
|
||||||
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
|
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
|
||||||
}
|
}
|
||||||
|
filter {
|
||||||
|
exclude { element -> element.file.path.contains("$buildDir/generated/") }
|
||||||
|
}
|
||||||
disabledRules = [
|
disabledRules = [
|
||||||
// TODO Re-enable these 4 rules after reformatting project
|
// TODO Re-enable these 4 rules after reformatting project
|
||||||
"indent",
|
"indent",
|
||||||
@ -328,7 +331,7 @@ ext.initScreenshotTests = { project ->
|
|||||||
if (hasScreenshots) {
|
if (hasScreenshots) {
|
||||||
project.apply plugin: 'app.cash.paparazzi'
|
project.apply plugin: 'app.cash.paparazzi'
|
||||||
}
|
}
|
||||||
project.dependencies { testCompileOnly "app.cash.paparazzi:paparazzi:1.0.0" }
|
project.dependencies { testCompileOnly libs.squareup.paparazzi }
|
||||||
project.android.testOptions.unitTests.all {
|
project.android.testOptions.unitTests.all {
|
||||||
def screenshotTestCapture = "**/*ScreenshotTest*"
|
def screenshotTestCapture = "**/*ScreenshotTest*"
|
||||||
if (hasScreenshots) {
|
if (hasScreenshots) {
|
||||||
@ -348,17 +351,21 @@ subprojects { project ->
|
|||||||
if (it instanceof com.android.build.gradle.LibraryExtension) {
|
if (it instanceof com.android.build.gradle.LibraryExtension) {
|
||||||
libraryVariants.all { variant ->
|
libraryVariants.all { variant ->
|
||||||
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
|
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
|
||||||
variant.addJavaSourceFoldersToModel(outputFolder)
|
if (outputFolder.exists()) {
|
||||||
android.sourceSets.getAt(variant.name).java {
|
variant.addJavaSourceFoldersToModel(outputFolder)
|
||||||
srcDir(outputFolder)
|
android.sourceSets.getAt(variant.name).java {
|
||||||
|
srcDir(outputFolder)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (it instanceof com.android.build.gradle.AppExtension) {
|
} else if (it instanceof com.android.build.gradle.AppExtension) {
|
||||||
applicationVariants.all { variant ->
|
applicationVariants.all { variant ->
|
||||||
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
|
def outputFolder = new File("build/generated/ksp/${variant.name}/kotlin")
|
||||||
variant.addJavaSourceFoldersToModel(outputFolder)
|
if (outputFolder.exists()) {
|
||||||
android.sourceSets.getAt(variant.name).java {
|
variant.addJavaSourceFoldersToModel(outputFolder)
|
||||||
srcDir(outputFolder)
|
android.sourceSets.getAt(variant.name).java {
|
||||||
|
srcDir(outputFolder)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
changelog.d/2725.feature
Normal file
1
changelog.d/2725.feature
Normal file
@ -0,0 +1 @@
|
|||||||
|
Add setting to allow disabling direct share
|
1
changelog.d/5679.bugfix
Normal file
1
changelog.d/5679.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fix italic text is truncated when bubble mode and markdown is enabled
|
1
changelog.d/6996.sdk
Normal file
1
changelog.d/6996.sdk
Normal file
@ -0,0 +1 @@
|
|||||||
|
Added support for read receipts in threads. Now user in a room can have multiple read receipts (one per thread + one in main thread + one without threadId)
|
@ -1 +0,0 @@
|
|||||||
[Device Management] Show correct device type icons
|
|
@ -1 +0,0 @@
|
|||||||
Refactor TimelineFragment, split it into MessageComposerFragment and VoiceRecorderFragment.
|
|
1
changelog.d/7546.feature
Normal file
1
changelog.d/7546.feature
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Device Manager] Toggle IP address visibility
|
1
changelog.d/7555.bugfix
Normal file
1
changelog.d/7555.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Missing translations on "replyTo" messages
|
1
changelog.d/7577.feature
Normal file
1
changelog.d/7577.feature
Normal file
@ -0,0 +1 @@
|
|||||||
|
New implementation of the full screen mode for the Rich Text Editor.
|
1
changelog.d/7583.misc
Normal file
1
changelog.d/7583.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Remove usage of Buildkite.
|
1
changelog.d/7594.misc
Normal file
1
changelog.d/7594.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Better validation of edits
|
1
changelog.d/7604.bugfix
Normal file
1
changelog.d/7604.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
ANR on session start when sending client info is enabled
|
1
changelog.d/7620.bugfix
Normal file
1
changelog.d/7620.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Make the plain text mode layout of the RTE more compact.
|
2
changelog.d/7626.sdk
Normal file
2
changelog.d/7626.sdk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Sync Filter now taking in account homeserver capabilities to not pass unsupported parameters.
|
||||||
|
Sync Filter is now configured by providing SyncFilterBuilder class instance, instead of Filter to identify Filter changes related to homeserver capabilities
|
1
changelog.d/7629.wip
Normal file
1
changelog.d/7629.wip
Normal file
@ -0,0 +1 @@
|
|||||||
|
Voice Broadcast - Handle redaction of the state events on the listener and recorder sides
|
1
changelog.d/7634.bugfix
Normal file
1
changelog.d/7634.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Push notification for thread message is now shown correctly when user observes rooms main timeline
|
1
changelog.d/7646.bugfix
Normal file
1
changelog.d/7646.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Voice Broadcast - Fix playback stuck in buffering mode
|
1
changelog.d/7655.wip
Normal file
1
changelog.d/7655.wip
Normal file
@ -0,0 +1 @@
|
|||||||
|
Voice Broadcast - Update the buffering display in the timeline
|
1
changelog.d/7656.wip
Normal file
1
changelog.d/7656.wip
Normal file
@ -0,0 +1 @@
|
|||||||
|
Voice Broadcast - Remove voice messages related to a VB from the room attachments
|
@ -1,49 +1,45 @@
|
|||||||
ext.versions = [
|
ext.versions = [
|
||||||
|
|
||||||
'minSdk' : 21,
|
'minSdk' : 21,
|
||||||
'compileSdk' : 32,
|
'compileSdk' : 33,
|
||||||
'targetSdk' : 32,
|
'targetSdk' : 33,
|
||||||
'sourceCompat' : JavaVersion.VERSION_11,
|
'sourceCompat' : JavaVersion.VERSION_11,
|
||||||
'targetCompat' : JavaVersion.VERSION_11,
|
'targetCompat' : JavaVersion.VERSION_11,
|
||||||
]
|
]
|
||||||
|
|
||||||
def gradle = "7.2.2"
|
def gradle = "7.3.1"
|
||||||
// Ref: https://kotlinlang.org/releases.html
|
// Ref: https://kotlinlang.org/releases.html
|
||||||
def kotlin = "1.7.20"
|
def kotlin = "1.7.21"
|
||||||
def kotlinCoroutines = "1.6.4"
|
def kotlinCoroutines = "1.6.4"
|
||||||
def dagger = "2.44"
|
def dagger = "2.44.2"
|
||||||
def appDistribution = "16.0.0-beta04"
|
def appDistribution = "16.0.0-beta05"
|
||||||
def retrofit = "2.9.0"
|
def retrofit = "2.9.0"
|
||||||
def arrow = "0.8.2"
|
|
||||||
def markwon = "4.6.2"
|
def markwon = "4.6.2"
|
||||||
def moshi = "1.14.0"
|
def moshi = "1.14.0"
|
||||||
def lifecycle = "2.5.1"
|
def lifecycle = "2.5.1"
|
||||||
def flowBinding = "1.2.0"
|
def flowBinding = "1.2.0"
|
||||||
def flipper = "0.164.0"
|
def flipper = "0.174.0"
|
||||||
def epoxy = "5.0.0"
|
def epoxy = "5.0.0"
|
||||||
def mavericks = "3.0.1"
|
def mavericks = "3.0.1"
|
||||||
def glide = "4.14.1"
|
def glide = "4.14.2"
|
||||||
def bigImageViewer = "1.8.1"
|
def bigImageViewer = "1.8.1"
|
||||||
def jjwt = "0.11.5"
|
def jjwt = "0.11.5"
|
||||||
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
|
// 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
|
// the whole commit which set version 0.16.0-SNAPSHOT
|
||||||
def vanniktechEmoji = "0.16.0-SNAPSHOT"
|
def vanniktechEmoji = "0.16.0-SNAPSHOT"
|
||||||
|
def sentry = "6.7.0"
|
||||||
def sentry = "6.4.3"
|
def fragment = "1.5.4"
|
||||||
|
|
||||||
def fragment = "1.5.3"
|
|
||||||
|
|
||||||
// Testing
|
// 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 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 espresso = "3.4.0"
|
||||||
def androidxTest = "1.4.0"
|
def androidxTest = "1.4.0"
|
||||||
def androidxOrchestrator = "1.4.1"
|
def androidxOrchestrator = "1.4.2"
|
||||||
|
def paparazzi = "1.1.0"
|
||||||
|
|
||||||
ext.libs = [
|
ext.libs = [
|
||||||
gradle : [
|
gradle : [
|
||||||
'gradlePlugin' : "com.android.tools.build:gradle:$gradle",
|
'gradlePlugin' : "com.android.tools.build:gradle:$gradle",
|
||||||
'kotlinPlugin' : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin",
|
'kotlinPlugin' : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin",
|
||||||
'hiltPlugin' : "com.google.dagger:hilt-android-gradle-plugin:$dagger"
|
'hiltPlugin' : "com.google.dagger:hilt-android-gradle-plugin:$dagger"
|
||||||
|
|
||||||
],
|
],
|
||||||
jetbrains : [
|
jetbrains : [
|
||||||
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
||||||
@ -51,12 +47,12 @@ ext.libs = [
|
|||||||
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
|
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
|
||||||
],
|
],
|
||||||
androidx : [
|
androidx : [
|
||||||
'activity' : "androidx.activity:activity:1.5.1",
|
'activity' : "androidx.activity:activity-ktx:1.6.1",
|
||||||
'appCompat' : "androidx.appcompat:appcompat:1.5.1",
|
'appCompat' : "androidx.appcompat:appcompat:1.5.1",
|
||||||
'biometric' : "androidx.biometric:biometric:1.1.0",
|
'biometric' : "androidx.biometric:biometric:1.1.0",
|
||||||
'core' : "androidx.core:core-ktx:1.8.0",
|
'core' : "androidx.core:core-ktx:1.9.0",
|
||||||
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
|
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
|
||||||
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.4",
|
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.5",
|
||||||
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
|
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
|
||||||
'fragmentTesting' : "androidx.fragment:fragment-testing:$fragment",
|
'fragmentTesting' : "androidx.fragment:fragment-testing:$fragment",
|
||||||
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.4",
|
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.4",
|
||||||
@ -83,11 +79,11 @@ ext.libs = [
|
|||||||
'transition' : "androidx.transition:transition:1.2.0",
|
'transition' : "androidx.transition:transition:1.2.0",
|
||||||
],
|
],
|
||||||
google : [
|
google : [
|
||||||
'material' : "com.google.android.material:material:1.6.1",
|
'material' : "com.google.android.material:material:1.7.0",
|
||||||
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
|
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
|
||||||
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
|
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
|
||||||
// Phone number https://github.com/google/libphonenumber
|
// Phone number https://github.com/google/libphonenumber
|
||||||
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.12.56"
|
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.1"
|
||||||
],
|
],
|
||||||
dagger : [
|
dagger : [
|
||||||
'dagger' : "com.google.dagger:dagger:$dagger",
|
'dagger' : "com.google.dagger:dagger:$dagger",
|
||||||
@ -102,22 +98,21 @@ ext.libs = [
|
|||||||
],
|
],
|
||||||
element : [
|
element : [
|
||||||
'opusencoder' : "io.element.android:opusencoder:1.1.0",
|
'opusencoder' : "io.element.android:opusencoder:1.1.0",
|
||||||
|
'wysiwyg' : "io.element.android:wysiwyg:0.7.0.1"
|
||||||
],
|
],
|
||||||
squareup : [
|
squareup : [
|
||||||
'moshi' : "com.squareup.moshi:moshi:$moshi",
|
'moshi' : "com.squareup.moshi:moshi:$moshi",
|
||||||
'moshiKt' : "com.squareup.moshi:moshi-kotlin:$moshi",
|
'moshiKt' : "com.squareup.moshi:moshi-kotlin:$moshi",
|
||||||
'moshiKotlin' : "com.squareup.moshi:moshi-kotlin-codegen:$moshi",
|
'moshiKotlin' : "com.squareup.moshi:moshi-kotlin-codegen:$moshi",
|
||||||
'moshiAdapters' : "com.squareup.moshi:moshi-adapters:$moshi",
|
'moshiAdapters' : "com.squareup.moshi:moshi-adapters:$moshi",
|
||||||
|
'paparazzi' : "app.cash.paparazzi:paparazzi:$paparazzi",
|
||||||
|
'paparazziPlugin' : "app.cash.paparazzi:paparazzi-gradle-plugin:$paparazzi",
|
||||||
'retrofit' : "com.squareup.retrofit2:retrofit:$retrofit",
|
'retrofit' : "com.squareup.retrofit2:retrofit:$retrofit",
|
||||||
'retrofitMoshi' : "com.squareup.retrofit2:converter-moshi:$retrofit"
|
'retrofitMoshi' : "com.squareup.retrofit2:converter-moshi:$retrofit"
|
||||||
],
|
],
|
||||||
rx : [
|
rx : [
|
||||||
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
|
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
|
||||||
],
|
],
|
||||||
arrow : [
|
|
||||||
'core' : "io.arrow-kt:arrow-core:$arrow",
|
|
||||||
'instances' : "io.arrow-kt:arrow-instances-core:$arrow"
|
|
||||||
],
|
|
||||||
markwon : [
|
markwon : [
|
||||||
'core' : "io.noties.markwon:core:$markwon",
|
'core' : "io.noties.markwon:core:$markwon",
|
||||||
'extLatex' : "io.noties.markwon:ext-latex:$markwon",
|
'extLatex' : "io.noties.markwon:ext-latex:$markwon",
|
||||||
@ -165,13 +160,13 @@ ext.libs = [
|
|||||||
'emojiGoogle' : "com.vanniktech:emoji-google:$vanniktechEmoji"
|
'emojiGoogle' : "com.vanniktech:emoji-google:$vanniktechEmoji"
|
||||||
],
|
],
|
||||||
apache : [
|
apache : [
|
||||||
'commonsImaging' : "org.apache.sanselan:sanselan:0.97-incubator"
|
'commonsImaging' : "org.apache.commons:commons-imaging:1.0-alpha3"
|
||||||
],
|
],
|
||||||
sentry: [
|
sentry: [
|
||||||
'sentryAndroid' : "io.sentry:sentry-android:$sentry"
|
'sentryAndroid' : "io.sentry:sentry-android:$sentry"
|
||||||
],
|
],
|
||||||
tests : [
|
tests : [
|
||||||
'kluent' : "org.amshove.kluent:kluent-android:1.68",
|
'kluent' : "org.amshove.kluent:kluent-android:1.72",
|
||||||
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
|
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
|
||||||
'junit' : "junit:junit:4.13.2",
|
'junit' : "junit:junit:4.13.2",
|
||||||
]
|
]
|
||||||
|
@ -141,7 +141,6 @@ ext.groups = [
|
|||||||
'commons-io',
|
'commons-io',
|
||||||
'commons-logging',
|
'commons-logging',
|
||||||
'info.picocli',
|
'info.picocli',
|
||||||
'io.arrow-kt',
|
|
||||||
'io.element.android',
|
'io.element.android',
|
||||||
'io.github.davidburstrom.contester',
|
'io.github.davidburstrom.contester',
|
||||||
'io.github.detekt.sarif4k',
|
'io.github.detekt.sarif4k',
|
||||||
@ -155,6 +154,7 @@ ext.groups = [
|
|||||||
'io.netty',
|
'io.netty',
|
||||||
'io.noties.markwon',
|
'io.noties.markwon',
|
||||||
'io.opencensus',
|
'io.opencensus',
|
||||||
|
'io.perfmark',
|
||||||
'io.reactivex.rxjava2',
|
'io.reactivex.rxjava2',
|
||||||
'io.realm',
|
'io.realm',
|
||||||
'io.sentry',
|
'io.sentry',
|
||||||
@ -183,8 +183,8 @@ ext.groups = [
|
|||||||
'org.apache.ant',
|
'org.apache.ant',
|
||||||
'org.apache.commons',
|
'org.apache.commons',
|
||||||
'org.apache.httpcomponents',
|
'org.apache.httpcomponents',
|
||||||
'org.apache.sanselan',
|
|
||||||
'org.bouncycastle',
|
'org.bouncycastle',
|
||||||
|
'org.ccil.cowan.tagsoup',
|
||||||
'org.checkerframework',
|
'org.checkerframework',
|
||||||
'org.codehaus',
|
'org.codehaus',
|
||||||
'org.codehaus.groovy',
|
'org.codehaus.groovy',
|
||||||
|
52
docs/installing_from_ci.md
Normal file
52
docs/installing_from_ci.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
## Installing from CI
|
||||||
|
|
||||||
|
<!--- TOC -->
|
||||||
|
|
||||||
|
* [Installing from Buildkite](#installing-from-buildkite)
|
||||||
|
* [Installing from GitHub](#installing-from-github)
|
||||||
|
* [Create a GitHub token](#create-a-github-token)
|
||||||
|
* [Provide artifact URL](#provide-artifact-url)
|
||||||
|
* [Next steps](#next-steps)
|
||||||
|
* [Future improvement](#future-improvement)
|
||||||
|
|
||||||
|
<!--- END -->
|
||||||
|
|
||||||
|
Installing APK build by the CI is possible
|
||||||
|
|
||||||
|
### Installing from Buildkite
|
||||||
|
|
||||||
|
The script `./tools/install/installFromBuildkite.sh` can be used, but Builkite will be removed soon. See next section.
|
||||||
|
|
||||||
|
### Installing from GitHub
|
||||||
|
|
||||||
|
To install an APK built by a GitHub action, run the script `./tools/install/installFromGitHub.sh`. You will need to pass a GitHub token to do so.
|
||||||
|
|
||||||
|
#### Create a GitHub token
|
||||||
|
|
||||||
|
You can create a GitHub token going to your Github account, at this page: [https://github.com/settings/tokens](https://github.com/settings/tokens).
|
||||||
|
|
||||||
|
You need to create a token (classic) with the scope `repo/public_repo`. So just check the corresponding checkbox.
|
||||||
|
Validity can be long since the scope of this token is limited. You will still be able to delete the token and generate a new one.
|
||||||
|
Click on Generate token and save the token locally.
|
||||||
|
|
||||||
|
### Provide artifact URL
|
||||||
|
|
||||||
|
The script will ask for an artifact URL. You can get this artifact URL by following these steps:
|
||||||
|
|
||||||
|
- open the pull request
|
||||||
|
- in the check at the bottom, click on `APK Build / Build debug APKs`
|
||||||
|
- click on `Summary`
|
||||||
|
- scroll to the bottom of the page
|
||||||
|
- copy the link `vector-Fdroid-debug` if you want the F-Droid variant or `vector-Gplay-debug` if you want the Gplay variant.
|
||||||
|
|
||||||
|
The copied link can be provided to the script.
|
||||||
|
|
||||||
|
### Next steps
|
||||||
|
|
||||||
|
The script will download the artifact, unzip it and install the correct version (regarding arch) on your device.
|
||||||
|
|
||||||
|
Files will be added to the folder `./tmp/DebugApks`. Feel free to cleanup this folder from time to time, the script will not delete files.
|
||||||
|
|
||||||
|
### Future improvement
|
||||||
|
|
||||||
|
The script could ask the user for a Pull Request number and Gplay/Fdroid choice like it was done with Buildkite script. Using GitHub API may be possible to do that.
|
@ -93,4 +93,4 @@ url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.
|
|||||||
|
|
||||||
- Build the project and perform the sanity tests again.
|
- Build the project and perform the sanity tests again.
|
||||||
|
|
||||||
- Update the file `/CHANGES.md` to notify about the library upgrade, and create a regular PR for project Element Android.
|
- Create a PR for project Element Android and add a changelog file `<PR_NUMBER>.misc` to notify about the library upgrade.
|
||||||
|
1
fastlane/metadata/android/az/short_description.txt
Normal file
1
fastlane/metadata/android/az/short_description.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Qrup mesajlaşma - şifrəli mesajlaşma, qrup söhbəti və video zənglər
|
1
fastlane/metadata/android/az/title.txt
Normal file
1
fastlane/metadata/android/az/title.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Element - Təhlükəsiz Mesajlaşma
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Odložené přímé zprávy jsou ve výchozím nastavení povoleny.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Nové rozvržení aplikace je povoleno ve výchozím nastavení!
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Nové funkce v Experimentálních funkcích: Rozšířený editor zpráv, nová správa zařízení, hlasové vysílání. Stále v aktivním vývoji!
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/cs-CZ/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: opravy různých chyb a vylepšení.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/de-DE/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Die wichtigste Änderung in dieser Version: Verzögerte Direktnachrichten standardmäßig aktiviert!
|
||||||
|
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/de-DE/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Die wichtigste Änderung in dieser Version: Neues App-Layout standardmäßig aktiviert!
|
||||||
|
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/de-DE/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Die wichtigste Änderung in dieser Version: Neue Funktionen in den Labor-Einstellungen: Textverarbeitungs-Editor, neue Geräteverwaltung, Sprachübertragung. Noch in aktiver Entwicklung!
|
||||||
|
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/de-DE/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/de-DE/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/de-DE/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Die wichtigsten Änderungen in dieser Version: Fehlerbehebungen und Verbesserungen.
|
||||||
|
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: New features under the labs settings: Rich text composer, new device management, voice broadcast. Still under active development!
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/en-US/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/en-US/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: bug fixes and improvements.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/et/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: ajastatud otsesõnumite saatmine on nüüd vaikimisi kasutusel.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/et/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: rakenduse uus kujundus on nüüd vaikimisi kasutusel.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/et/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: Uued võimalused katsete all: vormindatud teksti põhine toimeti, uus seadmehaldus, ringhäälingukõned (kõik on hetkel aktiivsel arendamisel).
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/et/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/et/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/et/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: erinevate vigade parandused ja kohendused.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: پیامهای مستقیم تعویقی به کار افتاده به صورت پیشگزیده!
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: چینش کارهٔ جدید به کار افتاده به صورت پیشگزیده!
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات اصلی در این نگارش: قابلیتهای جدید در تنظیمات آزمایشگاهها: نگارندهٔ متن غنی، مدیریت افزارهٔ جدید، پخش صدا. هنوز زیر توسعهٔ فعّال!
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105060.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: رابط کاربری جدید برای گزینش پیوست.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: رابط کاربری جدید برای گزینش پیوست.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: رفع اشکالها و بهبود.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Création des conversations privées différée activée par défaut.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Nouvelle disposition de l’application activée par défaut !
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Nouvelles fonctionnalités expérimentales : éditeur de texte formaté, nouveau gestionnaire d’appareils, diffusion audio. C’est toujours en cours de développement !
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105060.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : nouvelle interface de sélection d’une pièce jointe.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : nouvelle interface de sélection d’une pièce jointe.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : corrections de bugs et améliorations.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/id/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: Pesan langsung yang ditangguhkan diaktifkan secara bawaan.
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/id/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: Tata letak aplikasi baru diaktifkan secara bawaan!
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/id/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: Fitur baru di belakang pengaturan uji coba: Komposer teks kaya, pengelolaan perangkat baru, siaran suara. Masih dalam pengembangan aktif!
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/id/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/id/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/id/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: perbaikan kutu dan fitur
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
@ -1,4 +1,4 @@
|
|||||||
Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung-ke-ujung untuk menyediakan konferensi video, pembagian berkas, dan panggilan suara yang aman.
|
Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas yang ideal untuk obrolan grup saat bekerja jarak jauh. Aplikasi perpesanan ini menggunakan enkripsi ujung ke ujung untuk menyediakan konferensi video, pembagian berkas, dan panggilan suara yang aman.
|
||||||
|
|
||||||
<b>Fitur Element termasuk:</b>
|
<b>Fitur Element termasuk:</b>
|
||||||
- Alat komunikasi daring yang canggih
|
- Alat komunikasi daring yang canggih
|
||||||
@ -11,7 +11,7 @@ Element adalah perpesanan yang aman dan aplikasi kolaborasi tim produktivitas ya
|
|||||||
Element benar-benar berbeda dari aplikasi perpesanan dan aplikasi kolaborasi lainnya. Element beroperasi pada Matrix, jaringan terbuka untuk pengiriman pesan yang aman dan komunikasi yang terdesentralisasi.
|
Element benar-benar berbeda dari aplikasi perpesanan dan aplikasi kolaborasi lainnya. Element beroperasi pada Matrix, jaringan terbuka untuk pengiriman pesan yang aman dan komunikasi yang terdesentralisasi.
|
||||||
|
|
||||||
<b>Perpesanan dengan privasi dan enkripsi</b>
|
<b>Perpesanan dengan privasi dan enkripsi</b>
|
||||||
Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data, dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung-ke-ujung, dan verifikasi perangkat menggunakan penandatanganan silang.
|
Element melindungi Anda dari iklan yang tidak diinginkan, penambangan data, dan taman berdinding. Element juga mengamankan semua data Anda, komunikasi video dan suara satu-ke-satu dengan enkripsi ujung ke ujung, dan verifikasi perangkat menggunakan penandatanganan silang.
|
||||||
|
|
||||||
Element memberikan Anda kendali atas privasi Anda sambil memungkinkan Anda untuk berkomunikasi dengan siapa saja secara aman di jaringan Matrix, atau alat kolaborasi bisnis lainnya dengan mengintegrasikan aplikasi seperti Slack.
|
Element memberikan Anda kendali atas privasi Anda sambil memungkinkan Anda untuk berkomunikasi dengan siapa saja secara aman di jaringan Matrix, atau alat kolaborasi bisnis lainnya dengan mengintegrasikan aplikasi seperti Slack.
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ Element menempatkan Anda dalam kendali dengan cara yang berbeda:
|
|||||||
Anda dapat mengobrol dengan siapa saja di jaringan Matrix, jika mereka menggunakan Element, aplikasi Matrix lain, atau bahkan menggunakan aplikasi perpesanan yang berbeda.
|
Anda dapat mengobrol dengan siapa saja di jaringan Matrix, jika mereka menggunakan Element, aplikasi Matrix lain, atau bahkan menggunakan aplikasi perpesanan yang berbeda.
|
||||||
|
|
||||||
<b>Sangat aman</b>
|
<b>Sangat aman</b>
|
||||||
Enkripsi ujung-ke-ujung yang nyata (hanya mereka yang di dalam obrolan dapat mendekripsikan pesan), dan verifikasi perangkat menggunakan penandatanganan silang.
|
Enkripsi ujung ke ujung yang nyata (hanya mereka yang di dalam obrolan dapat mendekripsikan pesan), dan verifikasi perangkat menggunakan penandatanganan silang.
|
||||||
|
|
||||||
<b>Komunikasi dan integrasi lengkap</b>
|
<b>Komunikasi dan integrasi lengkap</b>
|
||||||
Perpesanan, panggilan suara dan video, pembagian berkas, pembagian layar dan banyak integrasi bot dan widget. Buat ruangan dan komunitas, tetap terhubung, dan selesaikan hal-hal penting.
|
Perpesanan, panggilan suara dan video, pembagian berkas, pembagian layar dan banyak integrasi bot dan widget. Buat ruangan dan komunitas, tetap terhubung, dan selesaikan hal-hal penting.
|
||||||
|
2
fastlane/metadata/android/it-IT/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: messaggi diretti differiti attivati in modo predefinito.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: nuova interfaccia dell'app attivata in modo predefinito!
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: nuove funzioni nelle impostazioni Laboratori: compositore in rich text, nuova gestione dispositivi, trasmissione voce. Ancora in sviluppo attivo!
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105060.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: nuova interfaccia utente per selezionare un allegato!
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: nuova interfaccia utente per selezionare un allegato.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: correzione di errori e miglioramenti.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pt-BR/changelogs/40105000.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: DM diferida habilitada por default.
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pt-BR/changelogs/40105020.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: Novo layout de app habilitado por default!
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pt-BR/changelogs/40105040.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: Novas funcionalidades sob as configurações de labs: Compositor de texto rico, novo gerenciador de dispositivo, broadcast de voz. Ainda sob desenvolvimento ativo!
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pt-BR/changelogs/40105060.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105060.txt
Normal 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
|
2
fastlane/metadata/android/pt-BR/changelogs/40105070.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105070.txt
Normal 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
|
2
fastlane/metadata/android/pt-BR/changelogs/40105080.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40105080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: consertos de bugs e melhorias.
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104260.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104260.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Использование UnifiedPush и разрешение пользователям получать push-оповещения без FCM.
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104270.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104270.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Исправления различных багов и улучшения стабильности работы.
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Исправления различных багов и улучшения стабильности работы.
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104300.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Улучшены вход и регистрация
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104310.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Улучшены вход и регистрация
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104320.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104320.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: Исправления различных багов и улучшения стабильности работы
|
||||||
|
Полный список изменений: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/ru-RU/changelogs/40104340.txt
Normal file
2
fastlane/metadata/android/ru-RU/changelogs/40104340.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основные изменения в этой версии: различные исправления ошибок и улучшения стабильности.
|
||||||
|
Полный список изменений: 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
Block a user