Merge remote-tracking branch 'origin/develop' into feature/eric/new_fab
This commit is contained in:
commit
1bf36dce92
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
@ -7,10 +7,8 @@ on:
|
|||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
--no-daemon
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
debug:
|
debug:
|
||||||
@ -36,7 +34,7 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-gradle-
|
${{ runner.os }}-gradle-
|
||||||
- name: Assemble ${{ matrix.target }} debug apk
|
- name: Assemble ${{ matrix.target }} debug apk
|
||||||
run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload ${{ matrix.target }} debug APKs
|
- name: Upload ${{ matrix.target }} debug APKs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -61,7 +59,7 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-gradle-
|
${{ runner.os }}-gradle-
|
||||||
- name: Assemble GPlay unsigned apk
|
- name: Assemble GPlay unsigned apk
|
||||||
run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload Gplay unsigned APKs
|
- name: Upload Gplay unsigned APKs
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
18
.github/workflows/danger.yml
vendored
Normal file
18
.github/workflows/danger.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Danger CI
|
||||||
|
|
||||||
|
on: [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Danger
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- run: |
|
||||||
|
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
||||||
|
- name: Danger
|
||||||
|
uses: danger/danger-js@11.1.1
|
||||||
|
with:
|
||||||
|
args: "--dangerfile tools/danger/dangerfile.js"
|
||||||
|
env:
|
||||||
|
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
|
@ -1,5 +1,8 @@
|
|||||||
name: "Validate Gradle Wrapper"
|
name: "Validate Gradle Wrapper"
|
||||||
on: [push, pull_request]
|
on:
|
||||||
|
pull_request: { }
|
||||||
|
push:
|
||||||
|
branches: [ main, develop ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
validation:
|
validation:
|
||||||
|
8
.github/workflows/nightly.yml
vendored
8
.github/workflows/nightly.yml
vendored
@ -6,10 +6,8 @@ on:
|
|||||||
- cron: "0 4 * * *"
|
- cron: "0 4 * * *"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
--no-daemon
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
nightly:
|
nightly:
|
||||||
@ -40,7 +38,7 @@ jobs:
|
|||||||
yes n | towncrier build --version nightly
|
yes n | towncrier build --version nightly
|
||||||
- name: Build and upload Gplay Nightly APK
|
- name: Build and upload Gplay Nightly APK
|
||||||
run: |
|
run: |
|
||||||
./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES
|
||||||
env:
|
env:
|
||||||
ELEMENT_ANDROID_NIGHTLY_KEYID: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYID }}
|
ELEMENT_ANDROID_NIGHTLY_KEYID: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYID }}
|
||||||
ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD }}
|
ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD: ${{ secrets.ELEMENT_ANDROID_NIGHTLY_KEYPASSWORD }}
|
||||||
|
6
.github/workflows/post-pr.yml
vendored
6
.github/workflows/post-pr.yml
vendored
@ -10,10 +10,8 @@ on:
|
|||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
--no-daemon
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
|
192
.github/workflows/quality.yml
vendored
192
.github/workflows/quality.yml
vendored
@ -7,10 +7,8 @@ on:
|
|||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
--no-daemon
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check:
|
check:
|
||||||
@ -29,80 +27,50 @@ jobs:
|
|||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Run knit
|
- name: Run knit
|
||||||
run: |
|
run: |
|
||||||
./gradlew knit
|
./gradlew knitCheck
|
||||||
|
|
||||||
# ktlint for all the modules
|
# Check the project: ktlint, detekt, lint
|
||||||
ktlint:
|
lint:
|
||||||
name: Kotlin Linter
|
name: Android Linter
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Allow all jobs on main and develop. Just one per PR.
|
# Allow all jobs on main and develop. Just one per PR.
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('ktlint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('ktlint-develop-{0}', github.sha) || format('ktlint-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('lint-develop-{0}', github.sha) || format('lint-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Run ktlint
|
- name: Run ktlint
|
||||||
run: |
|
run: |
|
||||||
./gradlew ktlintCheck --continue
|
./gradlew ktlintCheck --continue
|
||||||
|
- name: Run detekt
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
./gradlew detekt $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
- name: Run lint
|
||||||
|
# Not always, if ktlint or detekt fail, avoid running the long lint check.
|
||||||
|
run: |
|
||||||
|
./gradlew lintGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
./gradlew lintFdroidRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload reports
|
- name: Upload reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ktlinting-report
|
name: linting-report
|
||||||
path: |
|
path: |
|
||||||
*/build/reports/ktlint/ktlint*/ktlint*.txt
|
*/build/reports/**/*.*
|
||||||
- name: Handle Results
|
- name: Prepare Danger
|
||||||
if: always()
|
if: always()
|
||||||
id: ktlint-results
|
|
||||||
run: |
|
run: |
|
||||||
results="$(cat */*/build/reports/ktlint/ktlint*/ktlint*.txt */build/reports/ktlint/ktlint*/ktlint*.txt | sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g")"
|
npm install --save-dev @babel/core
|
||||||
if [ -z "$results" ]; then
|
npm install --save-dev @babel/plugin-transform-flow-strip-types
|
||||||
echo "::set-output name=add_comment::false"
|
yarn add danger-plugin-lint-report --dev
|
||||||
else
|
- name: Danger lint
|
||||||
body="👎\`Failed${results}\`"
|
if: always()
|
||||||
body="${body//'%'/'%25'}"
|
uses: danger/danger-js@11.1.1
|
||||||
body="${body//$'\n'/'%0A'}"
|
|
||||||
body="${body//$'\r'/'%0D'}"
|
|
||||||
body="$( echo $body | sed 's/\/home\/runner\/work\/element-android\/element-android\//\`<br\/>\`/g')"
|
|
||||||
body="$( echo $body | sed 's/\/src\/main\/java\// 🔸 /g')"
|
|
||||||
body="$( echo $body | sed 's/im\/vector\/app\///g')"
|
|
||||||
body="$( echo $body | sed 's/im\/vector\/lib\/attachmentviewer\///g')"
|
|
||||||
body="$( echo $body | sed 's/im\/vector\/lib\/multipicker\///g')"
|
|
||||||
body="$( echo $body | sed 's/im\/vector\/lib\///g')"
|
|
||||||
body="$( echo $body | sed 's/org\/matrix\/android\/sdk\///g')"
|
|
||||||
body="$( echo $body | sed 's/\/src\/androidTest\/java\// 🔸 /g')"
|
|
||||||
echo "::set-output name=add_comment::true"
|
|
||||||
echo "::set-output name=body::$body"
|
|
||||||
fi
|
|
||||||
- name: Find Comment
|
|
||||||
if: always() && github.event_name == 'pull_request'
|
|
||||||
uses: peter-evans/find-comment@v2
|
|
||||||
id: fc
|
|
||||||
with:
|
with:
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
args: "--dangerfile tools/danger/dangerfile-lint.js"
|
||||||
comment-author: 'github-actions[bot]'
|
env:
|
||||||
body-includes: Ktlint Results
|
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
|
||||||
- name: Add comment if needed
|
|
||||||
if: always() && github.event_name == 'pull_request' && steps.ktlint-results.outputs.add_comment == 'true'
|
|
||||||
uses: peter-evans/create-or-update-comment@v2
|
|
||||||
with:
|
|
||||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
|
||||||
body: |
|
|
||||||
### Ktlint Results
|
|
||||||
|
|
||||||
${{ steps.ktlint-results.outputs.body }}
|
|
||||||
edit-mode: replace
|
|
||||||
- name: Delete comment if needed
|
|
||||||
if: always() && github.event_name == 'pull_request' && steps.fc.outputs.comment-id != '' && steps.ktlint-results.outputs.add_comment == 'false'
|
|
||||||
uses: actions/github-script@v3
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
github.issues.deleteComment({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
comment_id: ${{ steps.fc.outputs.comment-id }}
|
|
||||||
})
|
|
||||||
|
|
||||||
# Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin
|
# Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin
|
||||||
dependency-analysis:
|
dependency-analysis:
|
||||||
@ -122,107 +90,3 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: dependency-analysis
|
name: dependency-analysis
|
||||||
path: build/reports/dependency-check-report.html
|
path: build/reports/dependency-check-report.html
|
||||||
|
|
||||||
# Lint for main module
|
|
||||||
android-lint:
|
|
||||||
name: Android Linter
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
# Allow all jobs on main and develop. Just one per PR.
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('android-lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('android-lint-develop-{0}', github.sha) || format('android-lint-{0}', github.ref) }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Lint analysis
|
|
||||||
run: ./gradlew clean :vector:lint --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
|
||||||
- name: Upload reports
|
|
||||||
if: always()
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: lint-report
|
|
||||||
path: |
|
|
||||||
vector/build/reports/*.*
|
|
||||||
|
|
||||||
# Lint for Gplay and Fdroid release APK
|
|
||||||
apk-lint:
|
|
||||||
name: Lint APK (${{ matrix.target }})
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.ref != 'refs/heads/main'
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
target: [ Gplay, Fdroid ]
|
|
||||||
# Allow all jobs on develop. Just one per PR.
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.ref == 'refs/heads/develop' && format('apk-lint-develop-{0}-{1}', matrix.target, github.sha) || format('apk-lint-{0}-{1}', matrix.target, github.ref) }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Lint ${{ matrix.target }} release
|
|
||||||
run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
|
||||||
- name: Upload ${{ matrix.target }} linting report
|
|
||||||
if: always()
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: release-lint-report-${{ matrix.target }}
|
|
||||||
path: |
|
|
||||||
vector/build/reports/*.*
|
|
||||||
|
|
||||||
detekt:
|
|
||||||
name: Detekt Analysis
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
# Allow all jobs on main and develop. Just one per PR.
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('detekt-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('detekt-develop-{0}', github.sha) || format('detekt-{0}', github.ref) }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Run detekt
|
|
||||||
run: |
|
|
||||||
./gradlew detekt $CI_GRADLE_ARG_PROPERTIES
|
|
||||||
- name: Upload reports
|
|
||||||
if: always()
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: detekt-report
|
|
||||||
path: |
|
|
||||||
*/build/reports/detekt/detekt.html
|
|
||||||
|
|
||||||
# towncrier:
|
|
||||||
# name: Towncrier check
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
# if: github.event_name == 'pull_request' && github.head_ref == 'develop'
|
|
||||||
# steps:
|
|
||||||
# - uses: actions/checkout@v3
|
|
||||||
# - name: Set up Python 3.8
|
|
||||||
# uses: actions/setup-python@v4
|
|
||||||
# with:
|
|
||||||
# python-version: 3.8
|
|
||||||
# - name: Install towncrier
|
|
||||||
# run: |
|
|
||||||
# python3 -m pip install towncrier
|
|
||||||
# - name: Run towncrier
|
|
||||||
# # Fetch the pull request' base branch so towncrier will be able to
|
|
||||||
# # compare the current branch with the base branch.
|
|
||||||
# # Source: https://github.com/actions/checkout/#fetch-all-branches.
|
|
||||||
# run: |
|
|
||||||
# git fetch --no-tags origin +refs/heads/${BASE_BRANCH}:refs/remotes/origin/${BASE_BRANCH}
|
|
||||||
# towncrier check --compare-with origin/${BASE_BRANCH}
|
|
||||||
# env:
|
|
||||||
# BASE_BRANCH: ${{ github.base_ref }}
|
|
||||||
|
22
.github/workflows/tests.yml
vendored
22
.github/workflows/tests.yml
vendored
@ -7,10 +7,8 @@ on:
|
|||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
--no-daemon
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
@ -51,9 +49,9 @@ jobs:
|
|||||||
disable-animations: true
|
disable-animations: true
|
||||||
emulator-build: 7425822
|
emulator-build: 7425822
|
||||||
script: |
|
script: |
|
||||||
./gradlew unitTestsWithCoverage --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew unitTestsWithCoverage $CI_GRADLE_ARG_PROPERTIES
|
||||||
./gradlew instrumentationTestsWithCoverage --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew instrumentationTestsWithCoverage $CI_GRADLE_ARG_PROPERTIES
|
||||||
./gradlew generateCoverageReport --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew generateCoverageReport $CI_GRADLE_ARG_PROPERTIES
|
||||||
# NB: continue-on-error marks steps.tests.conclusion = 'success' but leaves stes.tests.outcome = 'failure'
|
# NB: continue-on-error marks steps.tests.conclusion = 'success' but leaves stes.tests.outcome = 'failure'
|
||||||
- name: Run all the codecoverage tests at once (retry if emulator failed)
|
- name: Run all the codecoverage tests at once (retry if emulator failed)
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
@ -67,13 +65,13 @@ jobs:
|
|||||||
disable-animations: true
|
disable-animations: true
|
||||||
emulator-build: 7425822
|
emulator-build: 7425822
|
||||||
script: |
|
script: |
|
||||||
./gradlew unitTestsWithCoverage --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew unitTestsWithCoverage $CI_GRADLE_ARG_PROPERTIES
|
||||||
./gradlew instrumentationTestsWithCoverage --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew instrumentationTestsWithCoverage $CI_GRADLE_ARG_PROPERTIES
|
||||||
./gradlew generateCoverageReport --stacktrace $CI_GRADLE_ARG_PROPERTIES
|
./gradlew generateCoverageReport $CI_GRADLE_ARG_PROPERTIES
|
||||||
- run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES
|
- run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES
|
||||||
if: always() # we may have failed a previous step and retried, that's OK
|
if: always() # we may have failed a previous step and retried, that's OK
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
|
GITHUB_TOKEN: ${{ secrets.SONARQUBE_GITHUB_API_TOKEN }} # Needed to get PR information, if any
|
||||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
|
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
|
||||||
@ -114,5 +112,5 @@ jobs:
|
|||||||
# restore-keys: |
|
# restore-keys: |
|
||||||
# ${{ runner.os }}-gradle-
|
# ${{ runner.os }}-gradle-
|
||||||
# - name: Build Android Tests
|
# - name: Build Android Tests
|
||||||
# run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
# run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
|
||||||
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -17,3 +17,8 @@
|
|||||||
/fastlane/report.xml
|
/fastlane/report.xml
|
||||||
|
|
||||||
/**/build
|
/**/build
|
||||||
|
|
||||||
|
# Added by yarn
|
||||||
|
/package.json
|
||||||
|
/yarn.lock
|
||||||
|
/node_modules
|
||||||
|
18
.travis.yml
18
.travis.yml
@ -1,18 +0,0 @@
|
|||||||
# FTR: Configuration on https://travis-ci.org/github/vector-im/element-android/settings
|
|
||||||
#
|
|
||||||
# - Build only if .travis.yml is present -> On
|
|
||||||
# - Limit concurrent jobs -> Off
|
|
||||||
# - Build pushed branches -> On (build the branch)
|
|
||||||
# - Build pushed pull request -> On (build the PR after auto-merge)
|
|
||||||
#
|
|
||||||
# - Auto cancel branch builds -> On
|
|
||||||
# - Auto cancel pull request builds -> On
|
|
||||||
|
|
||||||
sudo: false
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
||||||
|
|
||||||
# Just run a simple script here
|
|
||||||
script:
|
|
||||||
- ./tools/travis/check_pr.sh
|
|
67
CHANGES.md
67
CHANGES.md
@ -1,3 +1,70 @@
|
|||||||
|
Changes in Element v1.4.31 (2022-08-01)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixes crash when returning to the app after backgrounding ([#6709](https://github.com/vector-im/element-android/issues/6709))
|
||||||
|
- Fix message content sometimes appearing in the log ([#6706](https://github.com/vector-im/element-android/issues/6706))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.4.30 (2022-07-29)
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- [FTUE] - Enable improved login and register onboarding flows ([#2585](https://github.com/vector-im/element-android/issues/2585))
|
||||||
|
- Adds settings screen to change app font scale or enable using system setting ([#5687](https://github.com/vector-im/element-android/issues/5687))
|
||||||
|
- [Location sharing] - Delete action on a live message ([#6437](https://github.com/vector-im/element-android/issues/6437))
|
||||||
|
- [Timeline] - Collapse redacted events ([#6487](https://github.com/vector-im/element-android/issues/6487))
|
||||||
|
- Improve lock screen implementation with extra security measures ([#6522](https://github.com/vector-im/element-android/issues/6522))
|
||||||
|
- Move initialization of the Session to a background thread. MainActivity is restoring the session now, instead of VectorApplication. Useful when for instance a long migration of a database is required. ([#6548](https://github.com/vector-im/element-android/issues/6548))
|
||||||
|
- Share location with other apps ([#6567](https://github.com/vector-im/element-android/issues/6567))
|
||||||
|
- Support element call widget ([#6616](https://github.com/vector-im/element-android/issues/6616))
|
||||||
|
- [FTUE] Updates FTUE registration to include username availability check and update copy ([#6546](https://github.com/vector-im/element-android/issues/6546))
|
||||||
|
- [FTUE] - Allows the email address to be changed during the verification process ([#6622](https://github.com/vector-im/element-android/issues/6622))
|
||||||
|
- [FTUE] Updates the copy within the FTUE onboarding ([#6547](https://github.com/vector-im/element-android/issues/6547))
|
||||||
|
- [FTUE] Test session feedback ([#6620](https://github.com/vector-im/element-android/issues/6620))
|
||||||
|
- [FTUE] - Improved reset password error message ([#6621](https://github.com/vector-im/element-android/issues/6621))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Fixes wrong voice message being displayed and played on the timeline. ([#6213](https://github.com/vector-im/element-android/issues/6213))
|
||||||
|
- Fixes the room list not taking into account the Show all rooms in Home preference ([#6665](https://github.com/vector-im/element-android/issues/6665))
|
||||||
|
- Stop using unstable names for withheld codes ([#5115](https://github.com/vector-im/element-android/issues/5115))
|
||||||
|
- Fixes room not being in space after upgrade ([#6200](https://github.com/vector-im/element-android/issues/6200))
|
||||||
|
- Fixed issues with reporting sync state events from different threads ([#6341](https://github.com/vector-im/element-android/issues/6341))
|
||||||
|
- Display specific message when verification QR code is malformed ([#6395](https://github.com/vector-im/element-android/issues/6395))
|
||||||
|
- When there is no way to verify a device (no 4S nor other device) propose to reset verification keys ([#6466](https://github.com/vector-im/element-android/issues/6466))
|
||||||
|
- Unwedging could cause the SDK to force creating a new olm session every hour ([#6534](https://github.com/vector-im/element-android/issues/6534))
|
||||||
|
- [Location Share] - Wrong room live location status bar visibility in timeline ([#6537](https://github.com/vector-im/element-android/issues/6537))
|
||||||
|
- Fix infinite loading when opening a DM when the current room is the same DM. ([#6549](https://github.com/vector-im/element-android/issues/6549))
|
||||||
|
- Do not log the live location of the user ([#6579](https://github.com/vector-im/element-android/issues/6579))
|
||||||
|
- Fix backup saving several times the same keys ([#6585](https://github.com/vector-im/element-android/issues/6585))
|
||||||
|
- Check user power level before sharing live location ([#6587](https://github.com/vector-im/element-android/issues/6587))
|
||||||
|
- [Location Share] - Live is considered as ended while still active ([#6596](https://github.com/vector-im/element-android/issues/6596))
|
||||||
|
- Put EC permission shortcuts behind labs flag (PSG-630) ([#6634](https://github.com/vector-im/element-android/issues/6634))
|
||||||
|
- ObjectAnimators are not canceled in TypingMessageDotsView ([#6663](https://github.com/vector-im/element-android/issues/6663))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Communities/Groups are removed completely ([#5733](https://github.com/vector-im/element-android/issues/5733))
|
||||||
|
- SDK - The SpaceFilter is query parameter is no longer nullable, use SpaceFilter.NoFilter instead ([#6666](https://github.com/vector-im/element-android/issues/6666))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Nightly build publication on Firebase ([#6478](https://github.com/vector-im/element-android/issues/6478))
|
||||||
|
- Communities/Groups are removed completely ([#5733](https://github.com/vector-im/element-android/issues/5733))
|
||||||
|
- Improves performance on search screen by replacing flattenParents with directParentName in RoomSummary ([#6314](https://github.com/vector-im/element-android/issues/6314))
|
||||||
|
- Log durations of DB migration and migration steps. ([#6538](https://github.com/vector-im/element-android/issues/6538))
|
||||||
|
- [Location Share] - Standardise "Stop" texts for live ([#6541](https://github.com/vector-im/element-android/issues/6541))
|
||||||
|
- Adds NewAppLayoutEnabled feature flag ([#6584](https://github.com/vector-im/element-android/issues/6584))
|
||||||
|
- [Location sharing] - Small improvements of UI for live ([#6607](https://github.com/vector-im/element-android/issues/6607))
|
||||||
|
- Live Location Sharing - Reset zoom level while focusing a user ([#6609](https://github.com/vector-im/element-android/issues/6609))
|
||||||
|
- Fix a typo in the terms and conditions step during registration. ([#6612](https://github.com/vector-im/element-android/issues/6612))
|
||||||
|
- [Location sharing] - OnTap on the top live status bar, display the expanded map view ([#6625](https://github.com/vector-im/element-android/issues/6625))
|
||||||
|
- [Location Share] - Expanded map state when no more live location shares ([#6635](https://github.com/vector-im/element-android/issues/6635))
|
||||||
|
|
||||||
|
|
||||||
Changes in Element v1.4.28 (2022-07-13)
|
Changes in Element v1.4.28 (2022-07-13)
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
|
1
Gemfile
1
Gemfile
@ -1,3 +1,4 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
gem "fastlane"
|
gem "fastlane"
|
||||||
|
gem 'danger'
|
||||||
|
39
Gemfile.lock
39
Gemfile.lock
@ -24,10 +24,29 @@ GEM
|
|||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
babosa (1.0.4)
|
babosa (1.0.4)
|
||||||
claide (1.0.3)
|
claide (1.0.3)
|
||||||
|
claide-plugins (0.9.2)
|
||||||
|
cork
|
||||||
|
nap
|
||||||
|
open4 (~> 1.3)
|
||||||
colored (1.2)
|
colored (1.2)
|
||||||
colored2 (3.1.2)
|
colored2 (3.1.2)
|
||||||
commander (4.6.0)
|
commander (4.6.0)
|
||||||
highline (~> 2.0.0)
|
highline (~> 2.0.0)
|
||||||
|
cork (0.3.0)
|
||||||
|
colored2 (~> 3.1)
|
||||||
|
danger (8.6.1)
|
||||||
|
claide (~> 1.0)
|
||||||
|
claide-plugins (>= 0.9.2)
|
||||||
|
colored2 (~> 3.1)
|
||||||
|
cork (~> 0.1)
|
||||||
|
faraday (>= 0.9.0, < 2.0)
|
||||||
|
faraday-http-cache (~> 2.0)
|
||||||
|
git (~> 1.7)
|
||||||
|
kramdown (~> 2.3)
|
||||||
|
kramdown-parser-gfm (~> 1.0)
|
||||||
|
no_proxy_fix
|
||||||
|
octokit (~> 4.7)
|
||||||
|
terminal-table (>= 1, < 4)
|
||||||
declarative (0.0.20)
|
declarative (0.0.20)
|
||||||
digest-crc (0.6.3)
|
digest-crc (0.6.3)
|
||||||
rake (>= 12.0.0, < 14.0.0)
|
rake (>= 12.0.0, < 14.0.0)
|
||||||
@ -52,6 +71,8 @@ GEM
|
|||||||
faraday-em_http (1.0.0)
|
faraday-em_http (1.0.0)
|
||||||
faraday-em_synchrony (1.0.0)
|
faraday-em_synchrony (1.0.0)
|
||||||
faraday-excon (1.1.0)
|
faraday-excon (1.1.0)
|
||||||
|
faraday-http-cache (2.4.0)
|
||||||
|
faraday (>= 0.8)
|
||||||
faraday-httpclient (1.0.1)
|
faraday-httpclient (1.0.1)
|
||||||
faraday-net_http (1.0.1)
|
faraday-net_http (1.0.1)
|
||||||
faraday-net_http_persistent (1.2.0)
|
faraday-net_http_persistent (1.2.0)
|
||||||
@ -98,6 +119,8 @@ GEM
|
|||||||
xcpretty (~> 0.3.0)
|
xcpretty (~> 0.3.0)
|
||||||
xcpretty-travis-formatter (>= 0.0.3)
|
xcpretty-travis-formatter (>= 0.0.3)
|
||||||
gh_inspector (1.1.3)
|
gh_inspector (1.1.3)
|
||||||
|
git (1.11.0)
|
||||||
|
rchardet (~> 1.8)
|
||||||
google-apis-androidpublisher_v3 (0.8.0)
|
google-apis-androidpublisher_v3 (0.8.0)
|
||||||
google-apis-core (>= 0.4, < 2.a)
|
google-apis-core (>= 0.4, < 2.a)
|
||||||
google-apis-core (0.4.0)
|
google-apis-core (0.4.0)
|
||||||
@ -143,17 +166,28 @@ GEM
|
|||||||
jmespath (1.4.0)
|
jmespath (1.4.0)
|
||||||
json (2.5.1)
|
json (2.5.1)
|
||||||
jwt (2.2.3)
|
jwt (2.2.3)
|
||||||
|
kramdown (2.4.0)
|
||||||
|
rexml
|
||||||
|
kramdown-parser-gfm (1.1.0)
|
||||||
|
kramdown (~> 2.0)
|
||||||
memoist (0.16.2)
|
memoist (0.16.2)
|
||||||
mini_magick (4.11.0)
|
mini_magick (4.11.0)
|
||||||
mini_mime (1.1.0)
|
mini_mime (1.1.0)
|
||||||
multi_json (1.15.0)
|
multi_json (1.15.0)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.0.0)
|
||||||
nanaimo (0.3.0)
|
nanaimo (0.3.0)
|
||||||
|
nap (1.1.0)
|
||||||
naturally (2.2.1)
|
naturally (2.2.1)
|
||||||
|
no_proxy_fix (0.1.2)
|
||||||
|
octokit (4.25.1)
|
||||||
|
faraday (>= 1, < 3)
|
||||||
|
sawyer (~> 0.9)
|
||||||
|
open4 (1.3.4)
|
||||||
os (1.1.1)
|
os (1.1.1)
|
||||||
plist (3.6.0)
|
plist (3.6.0)
|
||||||
public_suffix (4.0.6)
|
public_suffix (4.0.6)
|
||||||
rake (13.0.6)
|
rake (13.0.6)
|
||||||
|
rchardet (1.8.0)
|
||||||
representable (3.1.1)
|
representable (3.1.1)
|
||||||
declarative (< 0.1.0)
|
declarative (< 0.1.0)
|
||||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||||
@ -163,6 +197,9 @@ GEM
|
|||||||
rouge (2.0.7)
|
rouge (2.0.7)
|
||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
rubyzip (2.3.2)
|
rubyzip (2.3.2)
|
||||||
|
sawyer (0.9.2)
|
||||||
|
addressable (>= 2.3.5)
|
||||||
|
faraday (>= 0.17.3, < 3)
|
||||||
security (0.1.3)
|
security (0.1.3)
|
||||||
signet (0.15.0)
|
signet (0.15.0)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
@ -200,9 +237,11 @@ GEM
|
|||||||
xcpretty (~> 0.2, >= 0.0.7)
|
xcpretty (~> 0.2, >= 0.0.7)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
|
universal-darwin-21
|
||||||
x86_64-darwin-20
|
x86_64-darwin-20
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
danger
|
||||||
fastlane
|
fastlane
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
|
11
build.gradle
11
build.gradle
@ -30,7 +30,7 @@ buildscript {
|
|||||||
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.1.1"
|
classpath "com.likethesalad.android:stem-plugin:2.1.1"
|
||||||
classpath 'org.owasp:dependency-check-gradle:7.1.1'
|
classpath 'org.owasp:dependency-check-gradle:7.1.1'
|
||||||
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.0"
|
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.10"
|
||||||
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
|
||||||
// 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
|
||||||
@ -41,10 +41,10 @@ plugins {
|
|||||||
// ktlint Plugin
|
// ktlint Plugin
|
||||||
id "org.jlleitschuh.gradle.ktlint" version "10.3.0"
|
id "org.jlleitschuh.gradle.ktlint" version "10.3.0"
|
||||||
// Detekt
|
// Detekt
|
||||||
id "io.gitlab.arturbosch.detekt" version "1.20.0"
|
id "io.gitlab.arturbosch.detekt" version "1.21.0"
|
||||||
|
|
||||||
// Dependency Analysis
|
// Dependency Analysis
|
||||||
id 'com.autonomousapps.dependency-analysis' version "1.9.0"
|
id 'com.autonomousapps.dependency-analysis' version "1.11.2"
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/jeremylong/DependencyCheck
|
// https://github.com/jeremylong/DependencyCheck
|
||||||
@ -126,6 +126,11 @@ allprojects {
|
|||||||
enableExperimentalRules = true
|
enableExperimentalRules = true
|
||||||
// display the corresponding rule
|
// display the corresponding rule
|
||||||
verbose = true
|
verbose = true
|
||||||
|
reporters {
|
||||||
|
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.PLAIN)
|
||||||
|
// To have XML report for Danger
|
||||||
|
reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE)
|
||||||
|
}
|
||||||
disabledRules = [
|
disabledRules = [
|
||||||
// TODO Re-enable these 4 rules after reformatting project
|
// TODO Re-enable these 4 rules after reformatting project
|
||||||
"indent",
|
"indent",
|
||||||
|
@ -1 +0,0 @@
|
|||||||
FTUE - Enable improved login and register onboarding flows
|
|
@ -1 +0,0 @@
|
|||||||
Stop using unstable names for withheld codes
|
|
@ -1 +0,0 @@
|
|||||||
Adds settings screen to change app font scale or enable using system setting
|
|
@ -1 +0,0 @@
|
|||||||
Communities/Groups are removed completely
|
|
@ -1 +0,0 @@
|
|||||||
Communities/Groups are removed completely
|
|
@ -1 +0,0 @@
|
|||||||
Fixes room not being in space after upgrade
|
|
@ -1 +0,0 @@
|
|||||||
Fixes wrong voice message being displayed and played on the timeline.
|
|
@ -1 +0,0 @@
|
|||||||
Improves performance on search screen by replacing flattenParents with directParentName in RoomSummary
|
|
@ -1 +0,0 @@
|
|||||||
Fixed issues with reporting sync state events from different threads
|
|
@ -1 +0,0 @@
|
|||||||
Display specific message when verification QR code is malformed
|
|
1
changelog.d/6406.misc
Normal file
1
changelog.d/6406.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Modularization] Provides abstraction to avoids direct usages of BuildConfig
|
@ -1 +0,0 @@
|
|||||||
[Location sharing] - Delete action on a live message
|
|
@ -1 +0,0 @@
|
|||||||
When there is no way to verify a device (no 4S nor other device) propose to reset verification keys
|
|
@ -1 +0,0 @@
|
|||||||
Nightly build publication on Firebase
|
|
@ -1 +0,0 @@
|
|||||||
[Timeline] - Collapse redacted events
|
|
@ -1 +0,0 @@
|
|||||||
Improve lock screen implementation with extra security measures
|
|
@ -1 +0,0 @@
|
|||||||
Unwedging could cause the SDK to force creating a new olm session every hour
|
|
@ -1 +0,0 @@
|
|||||||
[Location Share] - Wrong room live location status bar visibility in timeline
|
|
@ -1 +0,0 @@
|
|||||||
Log durations of DB migration and migration steps.
|
|
@ -1 +0,0 @@
|
|||||||
[Location Share] - Standardise "Stop" texts for live
|
|
@ -1 +0,0 @@
|
|||||||
Updates FTUE registration to include username availability check and update copy
|
|
@ -1 +0,0 @@
|
|||||||
Updates the copy within the FTUE onboarding
|
|
@ -1 +0,0 @@
|
|||||||
Move initialization of the Session to a background thread. MainActivity is restoring the session now, instead of VectorApplication. Useful when for instance a long migration of a database is required.
|
|
@ -1 +0,0 @@
|
|||||||
Fix infinite loading when opening a DM when the current room is the same DM.
|
|
@ -1 +0,0 @@
|
|||||||
Share location with other apps
|
|
@ -1 +0,0 @@
|
|||||||
Do not log the live location of the user
|
|
@ -1 +0,0 @@
|
|||||||
Adds NewAppLayoutEnabled feature flag
|
|
@ -1 +0,0 @@
|
|||||||
Fix backup saving several times the same keys
|
|
@ -1 +0,0 @@
|
|||||||
Check user power level before sharing live location
|
|
@ -1 +0,0 @@
|
|||||||
[Location Share] - Live is considered as ended while still active
|
|
1
changelog.d/6598.misc
Normal file
1
changelog.d/6598.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Refactors SpaceStateHandler (previously AppStateHandler) and adds unit tests for it
|
@ -1 +0,0 @@
|
|||||||
[Location sharing] - Small improvements of UI for live
|
|
@ -1 +0,0 @@
|
|||||||
Live Location Sharing - Reset zoom level while focusing a user
|
|
@ -1 +0,0 @@
|
|||||||
Fix a typo in the terms and conditions step during registration.
|
|
@ -1 +0,0 @@
|
|||||||
Support element call widget
|
|
@ -1 +0,0 @@
|
|||||||
FTUE - Test session feedback
|
|
@ -1 +0,0 @@
|
|||||||
FTUE - Improved reset password error message
|
|
@ -1 +0,0 @@
|
|||||||
FTUE - Allows the email address to be changed during the verification process
|
|
@ -1 +0,0 @@
|
|||||||
[Location sharing] - OnTap on the top live status bar, display the expanded map view
|
|
@ -1 +0,0 @@
|
|||||||
Put EC permission shortcuts behind labs flag (PSG-630)
|
|
@ -1 +0,0 @@
|
|||||||
[Location Share] - Expanded map state when no more live location shares
|
|
1
changelog.d/6637.misc
Normal file
1
changelog.d/6637.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Setup Danger to the project
|
1
changelog.d/6642.misc
Normal file
1
changelog.d/6642.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location Share] Open maximized map on tapping on live sharing notification
|
1
changelog.d/6647.misc
Normal file
1
changelog.d/6647.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location sharing] Align naming of components for live location feature
|
1
changelog.d/6653.misc
Normal file
1
changelog.d/6653.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location share] Update minimum sending period to 5 seconds for a live
|
1
changelog.d/6655.feature
Normal file
1
changelog.d/6655.feature
Normal file
@ -0,0 +1 @@
|
|||||||
|
Adds new app layout toolbar (feature flagged)
|
1
changelog.d/6674.misc
Normal file
1
changelog.d/6674.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location sharing] - Fix the memory leaks
|
1
changelog.d/6678.misc
Normal file
1
changelog.d/6678.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Timeline] Memory leak in audio message playback tracker
|
1
changelog.d/6680.misc
Normal file
1
changelog.d/6680.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
[FTUE] Memory leak on FtueAuthSplashCarouselFragment
|
1
changelog.d/6687.bugfix
Normal file
1
changelog.d/6687.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location sharing] Invisible text on map symbol
|
1
changelog.d/6706.bugfix
Normal file
1
changelog.d/6706.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fix message content sometimes appearing in the log
|
1
changelog.d/6711.feature
Normal file
1
changelog.d/6711.feature
Normal file
@ -0,0 +1 @@
|
|||||||
|
[Location Share] Render fallback UI when map fails to load
|
1
changelog.d/6713.bugfix
Normal file
1
changelog.d/6713.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Disable 'Enable biometrics' option if there are not biometric authenticators enrolled.
|
1
changelog.d/6737.bugfix
Normal file
1
changelog.d/6737.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fixes onboarding login/account creation errors showing after navigation
|
1
changelog.d/6739.misc
Normal file
1
changelog.d/6739.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Link directly to DCO docs from danger message.
|
@ -20,9 +20,9 @@ def retrofit = "2.9.0"
|
|||||||
def arrow = "0.8.2"
|
def arrow = "0.8.2"
|
||||||
def markwon = "4.6.2"
|
def markwon = "4.6.2"
|
||||||
def moshi = "1.13.0"
|
def moshi = "1.13.0"
|
||||||
def lifecycle = "2.5.0"
|
def lifecycle = "2.5.1"
|
||||||
def flowBinding = "1.2.0"
|
def flowBinding = "1.2.0"
|
||||||
def flipper = "0.154.0"
|
def flipper = "0.156.0"
|
||||||
def epoxy = "4.6.2"
|
def epoxy = "4.6.2"
|
||||||
def mavericks = "2.7.0"
|
def mavericks = "2.7.0"
|
||||||
def glide = "4.13.2"
|
def glide = "4.13.2"
|
||||||
@ -30,7 +30,7 @@ def bigImageViewer = "1.8.1"
|
|||||||
def jjwt = "0.11.5"
|
def jjwt = "0.11.5"
|
||||||
def vanniktechEmoji = "0.15.0"
|
def vanniktechEmoji = "0.15.0"
|
||||||
|
|
||||||
def fragment = "1.5.0"
|
def fragment = "1.5.1"
|
||||||
|
|
||||||
// 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
|
||||||
@ -50,7 +50,7 @@ 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.0",
|
'activity' : "androidx.activity:activity:1.5.1",
|
||||||
'appCompat' : "androidx.appcompat:appcompat:1.4.2",
|
'appCompat' : "androidx.appcompat:appcompat:1.4.2",
|
||||||
'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.8.0",
|
||||||
|
@ -125,6 +125,7 @@ ext.groups = [
|
|||||||
'info.picocli',
|
'info.picocli',
|
||||||
'io.arrow-kt',
|
'io.arrow-kt',
|
||||||
'io.element.android',
|
'io.element.android',
|
||||||
|
'io.github.davidburstrom.contester',
|
||||||
'io.github.detekt.sarif4k',
|
'io.github.detekt.sarif4k',
|
||||||
'io.github.microutils',
|
'io.github.microutils',
|
||||||
'io.github.reactivecircus.flowbinding',
|
'io.github.reactivecircus.flowbinding',
|
||||||
|
102
docs/danger.md
Normal file
102
docs/danger.md
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
## Danger
|
||||||
|
|
||||||
|
<!--- TOC -->
|
||||||
|
|
||||||
|
* [What does danger checks](#what-does-danger-checks)
|
||||||
|
* [PR check](#pr-check)
|
||||||
|
* [Quality check](#quality-check)
|
||||||
|
* [Setup](#setup)
|
||||||
|
* [Run danger locally](#run-danger-locally)
|
||||||
|
* [Danger user](#danger-user)
|
||||||
|
* [Useful links](#useful-links)
|
||||||
|
|
||||||
|
<!--- END -->
|
||||||
|
|
||||||
|
## What does danger checks
|
||||||
|
|
||||||
|
### PR check
|
||||||
|
|
||||||
|
See the [dangerfile](../tools/danger/dangerfile.js). If you add rules in the dangerfile, please update the list below!
|
||||||
|
|
||||||
|
Here are the checks that Danger does so far:
|
||||||
|
|
||||||
|
- PR description is not empty
|
||||||
|
- Big PR got a warning to recommend to split
|
||||||
|
- PR contains a file for towncrier and extension is checked
|
||||||
|
- PR contains a Sign-Off, with exception for Element employee contributors
|
||||||
|
- PR with change on layout should include screenshot in the description
|
||||||
|
- PR which adds png file warn about the usage of vector drawables
|
||||||
|
- non draft PR should have a reviewer
|
||||||
|
|
||||||
|
### Quality check
|
||||||
|
|
||||||
|
After all the checks that generate checkstyle XML report, such as Ktlint, lint, or Detekt, Danger is run with this [dangerfile](../tools/danger/dangerfile-lint.js), in order to post comments to the PR with the detected error and warnings.
|
||||||
|
|
||||||
|
To run locally, you will have to install the plugin `danger-plugin-lint-report` using:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
yarn add danger-plugin-lint-report --dev
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
This operation should not be necessary, since Danger is already setup for the project.
|
||||||
|
|
||||||
|
To setup danger to the project, run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bundle exec danger init
|
||||||
|
```
|
||||||
|
|
||||||
|
## Run danger locally
|
||||||
|
|
||||||
|
When modifying the [dangerfile](../tools/danger/dangerfile.js), you can check it by running Danger locally.
|
||||||
|
|
||||||
|
To run danger locally, install it and run:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bundle exec danger pr <PR_URL> --dangerfile=./tools/danger/dangerfile.js
|
||||||
|
```
|
||||||
|
|
||||||
|
For instance:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bundle exec danger pr https://github.com/vector-im/element-android/pull/6637 --dangerfile=./tools/danger/dangerfile.js
|
||||||
|
```
|
||||||
|
|
||||||
|
We may need to create a GitHub token to have less API rate limiting, and then set the env var:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
export DANGER_GITHUB_API_TOKEN='YOUR_TOKEN'
|
||||||
|
```
|
||||||
|
|
||||||
|
Swift and Kotlin (just in case)
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bundle exec danger-swift pr <PR_URL> --dangerfile=./tools/danger/dangerfile.js
|
||||||
|
bundle exec danger-kotlin pr <PR_URL> --dangerfile=./tools/danger/dangerfile.js
|
||||||
|
```
|
||||||
|
|
||||||
|
## Danger user
|
||||||
|
|
||||||
|
To let Danger check all the PRs, including PRs form forks, a GitHub account have been created:
|
||||||
|
- login: ElementBot
|
||||||
|
- password: Stored on Passbolt
|
||||||
|
- GitHub token: A token with limited access has been created and added to the repository https://github.com/vector-im/element-android as secret DANGER_GITHUB_API_TOKEN. This token is not saved anywhere else. In case of problem, just delete it and create a new one, then update the secret.
|
||||||
|
|
||||||
|
## Useful links
|
||||||
|
|
||||||
|
- https://danger.systems/
|
||||||
|
- https://danger.systems/js/
|
||||||
|
- https://danger.systems/js/guides/getting_started.html
|
||||||
|
- https://danger.systems/js/reference.html
|
||||||
|
- https://github.com/danger/awesome-danger
|
||||||
|
|
||||||
|
Some danger files to get inspired from
|
||||||
|
|
||||||
|
- https://github.com/artsy/emission/blob/master/dangerfile.ts
|
||||||
|
- https://github.com/facebook/react-native/blob/master/bots/dangerfile.js
|
||||||
|
- https://github.com/apollographql/apollo-client/blob/master/config/dangerfile.ts
|
||||||
|
- https://github.com/styleguidist/react-styleguidist/blob/master/dangerfile.js
|
||||||
|
- https://github.com/storybooks/storybook/blob/master/dangerfile.js
|
||||||
|
- https://github.com/ReactiveX/rxjs/blob/master/dangerfile.js
|
@ -48,7 +48,7 @@ mv towncrier.toml towncrier.toml.bak
|
|||||||
sed 's/CHANGES\.md/CHANGES_NIGHTLY\.md/' towncrier.toml.bak > towncrier.toml
|
sed 's/CHANGES\.md/CHANGES_NIGHTLY\.md/' towncrier.toml.bak > towncrier.toml
|
||||||
rm towncrier.toml.bak
|
rm towncrier.toml.bak
|
||||||
yes n | towncrier --version nightly
|
yes n | towncrier --version nightly
|
||||||
./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES
|
||||||
```
|
```
|
||||||
|
|
||||||
Then you can reset the change on the codebase.
|
Then you can reset the change on the codebase.
|
||||||
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Opravy různých chyb a vylepšení stability.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104300.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104300.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Enables the improved sign in and sign up journeys.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104310.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104310.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: Enables the improved sign in and sign up journeys.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/et/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: erinevate vigade parandused ja stabiilsust edendavad kohendused.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fa/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/fa/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
تغییرات عمده در این نگارش: رفع اشکالهای مختلف و بهبودهای پایداری.
|
||||||
|
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/fr-FR/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Plusieurs corrections de bogues et d’améliorations de stabilité.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/id/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: Banyak perbaikan kutu dan perbaikan stabilitas.
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/it-IT/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: varie correzioni di errori e miglioramenti della stabilità.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40100170.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40100170.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
2
fastlane/metadata/android/pl-PL/changelogs/40101000.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: zwiększenie wydajności i poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
2
fastlane/metadata/android/pl-PL/changelogs/40101010.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101010.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: zwiększenie wydajności i poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
2
fastlane/metadata/android/pl-PL/changelogs/40101020.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: zwiększenie wydajności i poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.2
|
2
fastlane/metadata/android/pl-PL/changelogs/40101030.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101030.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: zwiększenie wydajności i poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.3
|
2
fastlane/metadata/android/pl-PL/changelogs/40101040.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: zwiększenie wydajności i poprawki błędów!
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.4
|
2
fastlane/metadata/android/pl-PL/changelogs/40101050.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40101050.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: poprawki dla wersji 1.1.4.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases/tag/v1.1.5
|
2
fastlane/metadata/android/pl-PL/changelogs/40104180.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104180.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104190.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104190.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104200.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104200.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104220.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104220.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104230.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104230.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104240.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104240.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104250.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104250.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104260.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104260.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Dodanie UnifiedPush aby umożliwić działanie powiadomień push bez FCM.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104270.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104270.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/pl-PL/changelogs/40104280.txt
Normal file
2
fastlane/metadata/android/pl-PL/changelogs/40104280.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Główne zmiany w tej wersji: Poprawki rozmaitych błędów i usprawnienia stabilności.
|
||||||
|
Pełna lista zmian: https://github.com/vector-im/element-android/releases
|
@ -1,2 +1,2 @@
|
|||||||
Principais mudanças nesta versão: Várias correções de bugs e melhorias de estabilidade.
|
Principais mudanças nesta versão: Vários consertos de bugs e melhorias de estabilidade.
|
||||||
Registro de mudanças completo: https://github.com/vector-im/element-android/releases
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
Principais mudanças nesta versão: Várias correções de bugs e melhorias de estabilidade.
|
Principais mudanças nesta versão: Vários consertos de bugs e melhorias de estabilidade.
|
||||||
Registro de mudanças completo: https://github.com/vector-im/element-android/releases
|
Changelog completo: https://github.com/vector-im/element-android/releases
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
Principais mudanças nesta versão: Várias correções de bugs e melhorias de estabilidade.
|
Principais mudanças nesta versão: Vários consertos de bugs e melhorias de estabilidade.
|
||||||
Registro de mudanças completo: https://github.com/vector-im/element-android/releases
|
Changelog completo: 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