Merge branch 'release/v1.4.4'
This commit is contained in:
commit
8c36bdb0e9
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@ -20,6 +20,10 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
target: [ Gplay, Fdroid ]
|
target: [ Gplay, Fdroid ]
|
||||||
|
# Allow all jobs on develop. Just one per PR.
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.ref == 'refs/heads/develop' && format('integration-tests-develop-{0}-{1}', matrix.target, github.sha) || format('build-debug-{0}-{1}', matrix.target, github.ref) }}
|
||||||
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
@ -43,6 +47,7 @@ jobs:
|
|||||||
name: Build unsigned GPlay APKs
|
name: Build unsigned GPlay APKs
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
|
# Only runs on main, no concurrency.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
|
@ -5,6 +5,7 @@ jobs:
|
|||||||
validation:
|
validation:
|
||||||
name: "Validation"
|
name: "Validation"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# No concurrency required, this is a prerequisite to other actions and should run every time.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: gradle/wrapper-validation-action@v1
|
- uses: gradle/wrapper-validation-action@v1
|
||||||
|
210
.github/workflows/integration_tests.yml
vendored
210
.github/workflows/integration_tests.yml
vendored
@ -1,210 +0,0 @@
|
|||||||
name: Integration Tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request: { }
|
|
||||||
push:
|
|
||||||
branches: [ main, develop ]
|
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
|
||||||
env:
|
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
|
||||||
-Porg.gradle.jvmargs=-Xmx2g
|
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
# Build Android Tests [Matrix SDK]
|
|
||||||
build-android-test-matrix-sdk:
|
|
||||||
name: Matrix SDK - Build Android Tests
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Build Android Tests for matrix-sdk-android
|
|
||||||
run: ./gradlew clean matrix-sdk-android:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace -PallWarningsAsErrors=false
|
|
||||||
|
|
||||||
# Build Android Tests [Matrix APP]
|
|
||||||
build-android-test-app:
|
|
||||||
name: App - Build Android Tests
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Build Android Tests for vector
|
|
||||||
run: ./gradlew clean vector:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace -PallWarningsAsErrors=false
|
|
||||||
|
|
||||||
# Run Android Tests
|
|
||||||
integration-tests:
|
|
||||||
name: Matrix SDK - Running Integration Tests
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
api-level: [ 28 ]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: gradle/wrapper-validation-action@v1
|
|
||||||
- uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: 11
|
|
||||||
- name: Set up Python 3.8
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.8
|
|
||||||
- name: Cache pip
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ~/.cache/pip
|
|
||||||
key: ${{ runner.os }}-pip
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pip-
|
|
||||||
${{ runner.os }}-
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Start synapse server
|
|
||||||
run: |
|
|
||||||
python3 -m venv .synapse
|
|
||||||
source .synapse/bin/activate
|
|
||||||
pip install synapse matrix-synapse
|
|
||||||
curl https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh -o start.sh
|
|
||||||
chmod 777 start.sh
|
|
||||||
./start.sh --no-rate-limit
|
|
||||||
# package: org.matrix.android.sdk.session
|
|
||||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.session] API[${{ matrix.api-level }}]
|
|
||||||
continue-on-error: true
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822
|
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest
|
|
||||||
- name: Read Results [org.matrix.android.sdk.session]
|
|
||||||
continue-on-error: true
|
|
||||||
id: get-comment-body-session
|
|
||||||
run: |
|
|
||||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
|
||||||
echo "::set-output name=session::passed=$body"
|
|
||||||
# package: org.matrix.android.sdk.account
|
|
||||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.account] API[${{ matrix.api-level }}]
|
|
||||||
continue-on-error: true
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822
|
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.account' matrix-sdk-android:connectedDebugAndroidTest
|
|
||||||
- name: Read Results [org.matrix.android.sdk.account]
|
|
||||||
continue-on-error: true
|
|
||||||
id: get-comment-body-account
|
|
||||||
run: |
|
|
||||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
|
||||||
echo "::set-output name=account::passed=$body"
|
|
||||||
# package: org.matrix.android.sdk.internal
|
|
||||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.internal] API[${{ matrix.api-level }}]
|
|
||||||
continue-on-error: true
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822
|
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.internal' matrix-sdk-android:connectedDebugAndroidTest
|
|
||||||
- name: Read Results [org.matrix.android.sdk.internal]
|
|
||||||
continue-on-error: true
|
|
||||||
id: get-comment-body-internal
|
|
||||||
run: |
|
|
||||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
|
||||||
echo "::set-output name=internal::passed=$body"
|
|
||||||
# package: org.matrix.android.sdk.ordering
|
|
||||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.ordering] API[${{ matrix.api-level }}]
|
|
||||||
continue-on-error: true
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822
|
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.ordering' matrix-sdk-android:connectedDebugAndroidTest
|
|
||||||
- name: Read Results [org.matrix.android.sdk.ordering]
|
|
||||||
continue-on-error: true
|
|
||||||
id: get-comment-body-ordering
|
|
||||||
run: |
|
|
||||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
|
||||||
echo "::set-output name=ordering::passed=$body"
|
|
||||||
# package: class PermalinkParserTest
|
|
||||||
- name: Run integration tests for Matrix SDK class [org.matrix.android.sdk.PermalinkParserTest] API[${{ matrix.api-level }}]
|
|
||||||
continue-on-error: true
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822
|
|
||||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest
|
|
||||||
- name: Read Results [org.matrix.android.sd.PermalinkParserTest]
|
|
||||||
continue-on-error: true
|
|
||||||
id: get-comment-body-permalink
|
|
||||||
run: |
|
|
||||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
|
||||||
echo "::set-output name=permalink::passed=$body"
|
|
||||||
- name: Find Comment
|
|
||||||
if: github.event_name == 'pull_request'
|
|
||||||
uses: peter-evans/find-comment@v1
|
|
||||||
id: fc
|
|
||||||
with:
|
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
|
||||||
comment-author: 'github-actions[bot]'
|
|
||||||
body-includes: Integration Tests Results
|
|
||||||
- name: Publish results to PR
|
|
||||||
if: github.event_name == 'pull_request'
|
|
||||||
uses: peter-evans/create-or-update-comment@v1
|
|
||||||
with:
|
|
||||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
|
||||||
issue-number: ${{ github.event.pull_request.number }}
|
|
||||||
body: |
|
|
||||||
### Matrix SDK
|
|
||||||
## Integration Tests Results:
|
|
||||||
- `[org.matrix.android.sdk.session]`<br>${{ steps.get-comment-body-session.outputs.session }}
|
|
||||||
- `[org.matrix.android.sdk.account]`<br>${{ steps.get-comment-body-account.outputs.account }}
|
|
||||||
- `[org.matrix.android.sdk.internal]`<br>${{ steps.get-comment-body-internal.outputs.internal }}
|
|
||||||
- `[org.matrix.android.sdk.ordering]`<br>${{ steps.get-comment-body-ordering.outputs.ordering }}
|
|
||||||
- `[org.matrix.android.sdk.PermalinkParserTest]`<br>${{ steps.get-comment-body-permalink.outputs.permalink }}
|
|
||||||
edit-mode: replace
|
|
||||||
## Useful commands
|
|
||||||
# script: ./integration_tests_script.sh
|
|
||||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest --info
|
|
||||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES matrix-sdk-android:connectedAndroidTest --info
|
|
||||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedCheck --stacktrace
|
|
||||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class=org.matrix.android.sdk.session.room.timeline.ChunkEntityTest matrix-sdk-android:connectedAndroidTest --info
|
|
382
.github/workflows/nightly.yml
vendored
Normal file
382
.github/workflows/nightly.yml
vendored
Normal file
@ -0,0 +1,382 @@
|
|||||||
|
name: Nightly Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ release/* ]
|
||||||
|
schedule:
|
||||||
|
# At 20:00 every day UTC
|
||||||
|
- cron: '0 20 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Enrich gradle.properties for CI/CD
|
||||||
|
env:
|
||||||
|
CI_GRADLE_ARG_PROPERTIES: >
|
||||||
|
-Porg.gradle.jvmargs=-Xmx4g
|
||||||
|
-Porg.gradle.parallel=false
|
||||||
|
jobs:
|
||||||
|
# Build Android Tests [Matrix SDK]
|
||||||
|
build-android-test-matrix-sdk:
|
||||||
|
name: Matrix SDK - Build Android Tests
|
||||||
|
runs-on: macos-latest
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: 11
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- name: Build Android Tests for matrix-sdk-android
|
||||||
|
run: ./gradlew clean matrix-sdk-android:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||||
|
|
||||||
|
# Build Android Tests [Matrix APP]
|
||||||
|
build-android-test-app:
|
||||||
|
name: App - Build Android Tests
|
||||||
|
runs-on: macos-latest
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: 11
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- name: Build Android Tests for vector
|
||||||
|
run: ./gradlew clean vector:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||||
|
|
||||||
|
# Run Android Tests
|
||||||
|
integration-tests:
|
||||||
|
name: Matrix SDK - Running Integration Tests
|
||||||
|
runs-on: macos-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
api-level: [ 28 ]
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: gradle/wrapper-validation-action@v1
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: 11
|
||||||
|
- name: Set up Python 3.8
|
||||||
|
uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- name: Start synapse server
|
||||||
|
run: |
|
||||||
|
pip install matrix-synapse
|
||||||
|
curl https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh -o start.sh
|
||||||
|
chmod 777 start.sh
|
||||||
|
./start.sh --no-rate-limit
|
||||||
|
# package: org.matrix.android.sdk.session
|
||||||
|
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.session] API[${{ matrix.api-level }}]
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator-session.log
|
||||||
|
chmod 777 emulator-session.log
|
||||||
|
adb logcat >> emulator-session.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest
|
||||||
|
- name: Read Results [org.matrix.android.sdk.session]
|
||||||
|
if: always()
|
||||||
|
id: get-comment-body-session
|
||||||
|
run: python3 ./tools/ci/render_test_output.py session ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||||
|
- name: Remove adb logcat
|
||||||
|
if: always()
|
||||||
|
run: pkill -9 adb
|
||||||
|
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.account] API[${{ matrix.api-level }}]
|
||||||
|
if: always()
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator-account.log
|
||||||
|
chmod 777 emulator-account.log
|
||||||
|
adb logcat >> emulator-account.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.account' matrix-sdk-android:connectedDebugAndroidTest
|
||||||
|
- name: Read Results [org.matrix.android.sdk.account]
|
||||||
|
if: always()
|
||||||
|
id: get-comment-body-account
|
||||||
|
run: python3 ./tools/ci/render_test_output.py account ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||||
|
- name: Remove adb logcat
|
||||||
|
if: always()
|
||||||
|
run: pkill -9 adb
|
||||||
|
# package: org.matrix.android.sdk.internal
|
||||||
|
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.internal] API[${{ matrix.api-level }}]
|
||||||
|
if: always()
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator-internal.log
|
||||||
|
chmod 777 emulator-internal.log
|
||||||
|
adb logcat >> emulator-internal.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.internal' matrix-sdk-android:connectedDebugAndroidTest
|
||||||
|
- name: Read Results [org.matrix.android.sdk.internal]
|
||||||
|
if: always()
|
||||||
|
id: get-comment-body-internal
|
||||||
|
run: python3 ./tools/ci/render_test_output.py internal ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||||
|
- name: Remove adb logcat
|
||||||
|
if: always()
|
||||||
|
run: pkill -9 adb
|
||||||
|
# package: org.matrix.android.sdk.ordering
|
||||||
|
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.ordering] API[${{ matrix.api-level }}]
|
||||||
|
if: always()
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator-ordering.log
|
||||||
|
chmod 777 emulator-ordering.log
|
||||||
|
adb logcat >> emulator-ordering.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.ordering' matrix-sdk-android:connectedDebugAndroidTest
|
||||||
|
- name: Read Results [org.matrix.android.sdk.ordering]
|
||||||
|
if: always()
|
||||||
|
id: get-comment-body-ordering
|
||||||
|
run: python3 ./tools/ci/render_test_output.py ordering ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||||
|
- name: Remove adb logcat
|
||||||
|
if: always()
|
||||||
|
run: pkill -9 adb
|
||||||
|
# package: class PermalinkParserTest
|
||||||
|
- name: Run integration tests for Matrix SDK class [org.matrix.android.sdk.PermalinkParserTest] API[${{ matrix.api-level }}]
|
||||||
|
if: always()
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator-permalink.log
|
||||||
|
chmod 777 emulator-permalink.log
|
||||||
|
adb logcat >> emulator-permalink.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest
|
||||||
|
- name: Read Results [org.matrix.android.sdk.PermalinkParserTest]
|
||||||
|
if: always()
|
||||||
|
id: get-comment-body-permalink
|
||||||
|
run: python3 ./tools/ci/render_test_output.py permalink ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||||
|
- name: Remove adb logcat
|
||||||
|
if: always()
|
||||||
|
run: pkill -9 adb
|
||||||
|
# package: class PermalinkParserTest
|
||||||
|
- name: Find Comment
|
||||||
|
if: always() && github.event_name == 'pull_request'
|
||||||
|
uses: peter-evans/find-comment@v1
|
||||||
|
id: fc
|
||||||
|
with:
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
comment-author: 'github-actions[bot]'
|
||||||
|
body-includes: Integration Tests Results
|
||||||
|
- name: Publish results to PR
|
||||||
|
if: always() && github.event_name == 'pull_request'
|
||||||
|
uses: peter-evans/create-or-update-comment@v1
|
||||||
|
with:
|
||||||
|
comment-id: ${{ steps.fc.outputs.comment-id }}
|
||||||
|
issue-number: ${{ github.event.pull_request.number }}
|
||||||
|
body: |
|
||||||
|
### Matrix SDK
|
||||||
|
## Integration Tests Results:
|
||||||
|
- `[org.matrix.android.sdk.session]`<br>${{ steps.get-comment-body-session.outputs.session }}
|
||||||
|
- `[org.matrix.android.sdk.account]`<br>${{ steps.get-comment-body-account.outputs.account }}
|
||||||
|
- `[org.matrix.android.sdk.internal]`<br>${{ steps.get-comment-body-internal.outputs.internal }}
|
||||||
|
- `[org.matrix.android.sdk.ordering]`<br>${{ steps.get-comment-body-ordering.outputs.ordering }}
|
||||||
|
- `[org.matrix.android.sdk.PermalinkParserTest]`<br>${{ steps.get-comment-body-permalink.outputs.permalink }}
|
||||||
|
edit-mode: replace
|
||||||
|
- name: Upload Test Report Log
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: integrationtest-error-results
|
||||||
|
path: |
|
||||||
|
emulator-permalink.log
|
||||||
|
emulator-internal.log
|
||||||
|
emulator-ordering.log
|
||||||
|
emulator-account.log
|
||||||
|
emulator-session.log
|
||||||
|
|
||||||
|
ui-tests:
|
||||||
|
name: UI Tests (Synapse)
|
||||||
|
runs-on: macos-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
api-level: [ 28 ]
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python 3.8
|
||||||
|
uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- name: Start synapse server
|
||||||
|
run: |
|
||||||
|
pip install matrix-synapse
|
||||||
|
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \
|
||||||
|
| sed s/127.0.0.1/0.0.0.0/g | sed 's/http:\/\/localhost/http:\/\/10.0.2.2/g' | bash -s -- --no-rate-limit
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
- name: Run sanity tests on API ${{ matrix.api-level }}
|
||||||
|
uses: reactivecircus/android-emulator-runner@v2
|
||||||
|
with:
|
||||||
|
api-level: ${{ matrix.api-level }}
|
||||||
|
arch: x86
|
||||||
|
profile: Nexus 5X
|
||||||
|
force-avd-creation: false
|
||||||
|
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||||
|
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
||||||
|
script: |
|
||||||
|
adb root
|
||||||
|
adb logcat -c
|
||||||
|
touch emulator.log
|
||||||
|
chmod 777 emulator.log
|
||||||
|
adb logcat >> emulator.log &
|
||||||
|
./gradlew $CI_GRADLE_ARG_PROPERTIES connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 )
|
||||||
|
- name: Upload Test Report Log
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: uitest-error-results
|
||||||
|
path: |
|
||||||
|
emulator.log
|
||||||
|
failure_screenshots/
|
||||||
|
|
||||||
|
codecov-units:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- run: ./gradlew allCodeCoverageReport $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
- name: Upload Codecov data
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: codecov-xml
|
||||||
|
path: |
|
||||||
|
build/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml
|
||||||
|
|
||||||
|
sonarqube:
|
||||||
|
runs-on: macos-latest
|
||||||
|
if: always()
|
||||||
|
needs:
|
||||||
|
- codecov-units
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-gradle-
|
||||||
|
- uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: codecov-xml # will restore to allCodeCoverageReport.xml by default; we restore to the same location in following tasks
|
||||||
|
- run: mkdir -p build/reports/jacoco/allCodeCoverageReport/
|
||||||
|
- run: mv allCodeCoverageReport.xml build/reports/jacoco/allCodeCoverageReport/
|
||||||
|
- run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES
|
||||||
|
env:
|
||||||
|
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
|
||||||
|
# Notify the channel about scheduled runs, do not notify for manually triggered runs
|
||||||
|
notify:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- integration-tests
|
||||||
|
- ui-tests
|
||||||
|
# - unit-tests
|
||||||
|
- build-android-test-matrix-sdk
|
||||||
|
- build-android-test-app
|
||||||
|
- sonarqube
|
||||||
|
if: always() && github.event_name != 'workflow_dispatch'
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
|
steps:
|
||||||
|
- uses: michaelkaye/matrix-hookshot-action@v0.3.0
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }}
|
||||||
|
matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }}
|
||||||
|
text_template: "Nightly test run: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||||
|
html_template: "Nightly test run results: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{name}} {{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a>{{/if}}{{/with}}{{/each}}"
|
12
.github/workflows/quality.yml
vendored
12
.github/workflows/quality.yml
vendored
@ -18,6 +18,10 @@ jobs:
|
|||||||
ktlint:
|
ktlint:
|
||||||
name: Kotlin Linter
|
name: Kotlin Linter
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# Allow all jobs on main and develop. Just one per PR.
|
||||||
|
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) }}
|
||||||
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Run ktlint
|
- name: Run ktlint
|
||||||
@ -87,6 +91,10 @@ jobs:
|
|||||||
android-lint:
|
android-lint:
|
||||||
name: Android Linter
|
name: Android Linter
|
||||||
runs-on: ubuntu-latest
|
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:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
@ -116,6 +124,10 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
target: [ Gplay, Fdroid ]
|
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:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
|
80
.github/workflows/sanity_test.yml
vendored
80
.github/workflows/sanity_test.yml
vendored
@ -1,80 +0,0 @@
|
|||||||
name: Sanity Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
# At 20:00 every day UTC
|
|
||||||
- cron: '0 20 * * *'
|
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
|
||||||
env:
|
|
||||||
CI_GRADLE_ARG_PROPERTIES: >
|
|
||||||
-Porg.gradle.jvmargs=-Xmx4g
|
|
||||||
-Porg.gradle.parallel=false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
integration-tests:
|
|
||||||
name: Sanity Tests (Synapse)
|
|
||||||
runs-on: macos-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
api-level: [ 28 ]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
ref: develop
|
|
||||||
- name: Set up Python 3.8
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.8
|
|
||||||
- name: Cache pip
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ~/.cache/pip
|
|
||||||
key: ${{ runner.os }}-pip
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pip-
|
|
||||||
${{ runner.os }}-
|
|
||||||
- uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.gradle/caches
|
|
||||||
~/.gradle/wrapper
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-gradle-
|
|
||||||
- name: Start synapse server
|
|
||||||
run: |
|
|
||||||
python3 -m venv .synapse
|
|
||||||
source .synapse/bin/activate
|
|
||||||
pip install synapse matrix-synapse
|
|
||||||
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \
|
|
||||||
| sed s/127.0.0.1/0.0.0.0/g | sed 's/http:\/\/localhost/http:\/\/10.0.2.2/g' | bash -s -- --no-rate-limit
|
|
||||||
- uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: '11'
|
|
||||||
- name: Run sanity tests on API ${{ matrix.api-level }}
|
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
|
||||||
with:
|
|
||||||
api-level: ${{ matrix.api-level }}
|
|
||||||
arch: x86
|
|
||||||
profile: Nexus 5X
|
|
||||||
force-avd-creation: false
|
|
||||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
|
||||||
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
|
||||||
script: |
|
|
||||||
adb root
|
|
||||||
adb logcat -c
|
|
||||||
touch emulator.log
|
|
||||||
chmod 777 emulator.log
|
|
||||||
adb logcat >> emulator.log &
|
|
||||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 )
|
|
||||||
- name: Upload Test Report Log
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: sanity-error-results
|
|
||||||
path: |
|
|
||||||
emulator.log
|
|
||||||
failure_screenshots/
|
|
23
.github/workflows/sync-from-external-sources.yml
vendored
23
.github/workflows/sync-from-external-sources.yml
vendored
@ -9,20 +9,13 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: github.repository == 'vector-im/element-android'
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up Python 3.8
|
- name: Set up Python 3.8
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v3
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.8
|
||||||
- name: Cache pip
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ~/.cache/pip
|
|
||||||
key: ${{ runner.os }}-pip
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pip-
|
|
||||||
${{ runner.os }}-
|
|
||||||
- name: Install Prerequisite dependencies
|
- name: Install Prerequisite dependencies
|
||||||
run: |
|
run: |
|
||||||
pip install BeautifulSoup4
|
pip install BeautifulSoup4
|
||||||
@ -43,20 +36,13 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: github.repository == 'vector-im/element-android'
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Set up Python 3.8
|
- name: Set up Python 3.8
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v3
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.8
|
||||||
- name: Cache pip
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: ~/.cache/pip
|
|
||||||
key: ${{ runner.os }}-pip
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pip-
|
|
||||||
${{ runner.os }}-
|
|
||||||
- name: Install Prerequisite dependencies
|
- name: Install Prerequisite dependencies
|
||||||
run: |
|
run: |
|
||||||
pip install requests
|
pip install requests
|
||||||
@ -76,6 +62,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: github.repository == 'vector-im/element-android'
|
if: github.repository == 'vector-im/element-android'
|
||||||
|
# No concurrency required, runs every time on a schedule.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Run analytics import script
|
- name: Run analytics import script
|
||||||
|
9
.github/workflows/tests.yml
vendored
9
.github/workflows/tests.yml
vendored
@ -15,6 +15,10 @@ jobs:
|
|||||||
unit-tests:
|
unit-tests:
|
||||||
name: Run Unit Tests
|
name: Run Unit Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
# Allow all jobs on main and develop. Just one per PR.
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('unit-tests-{0}', github.ref) }}
|
||||||
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
@ -26,7 +30,10 @@ jobs:
|
|||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-gradle-
|
${{ runner.os }}-gradle-
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false --stacktrace
|
run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||||
|
- name: Format unit test results
|
||||||
|
if: always()
|
||||||
|
run: python3 ./tools/ci/render_test_output.py unit ./**/build/test-results/**/*.xml
|
||||||
- name: Publish Unit Test Results
|
- name: Publish Unit Test Results
|
||||||
uses: EnricoMi/publish-unit-test-result-action@v1
|
uses: EnricoMi/publish-unit-test-result-action@v1
|
||||||
if: always() &&
|
if: always() &&
|
||||||
|
48
CHANGES.md
48
CHANGES.md
@ -1,6 +1,52 @@
|
|||||||
Changes in Element v1.4.2 (2022-02-22)
|
Changes in Element v1.4.4 (2022-03-09)
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
Features ✨
|
||||||
|
----------
|
||||||
|
- Adds animated typing indicator to the bottom of the timeline ([#3296](https://github.com/vector-im/element-android/issues/3296))
|
||||||
|
- Removes the topic and typing information from the room's top bar ([#4642](https://github.com/vector-im/element-android/issues/4642))
|
||||||
|
- Add possibility to save media from Gallery + reorder choices in message context menu ([#5005](https://github.com/vector-im/element-android/issues/5005))
|
||||||
|
- Improves settings error dialog messaging when changing avatar or display name fails ([#5418](https://github.com/vector-im/element-android/issues/5418))
|
||||||
|
|
||||||
|
Bugfixes 🐛
|
||||||
|
----------
|
||||||
|
- Open direct message screen when clicking on DM button in the space members list ([#4319](https://github.com/vector-im/element-android/issues/4319))
|
||||||
|
- Fix incorrect media cache size in settings ([#5394](https://github.com/vector-im/element-android/issues/5394))
|
||||||
|
- Setting an avatar when creating a room had no effect ([#5402](https://github.com/vector-im/element-android/issues/5402))
|
||||||
|
- Fix reactions summary crash when reopening a room ([#5463](https://github.com/vector-im/element-android/issues/5463))
|
||||||
|
- Fixing room titles overlapping the room image in the room toolbar ([#5468](https://github.com/vector-im/element-android/issues/5468))
|
||||||
|
|
||||||
|
In development 🚧
|
||||||
|
----------------
|
||||||
|
- Starts the FTUE account personalisation flow by adding an account created screen behind a feature flag ([#5158](https://github.com/vector-im/element-android/issues/5158))
|
||||||
|
|
||||||
|
SDK API changes ⚠️
|
||||||
|
------------------
|
||||||
|
- Change name of getTimeLineEvent and getTimeLineEventLive methods to getTimelineEvent and getTimelineEventLive. ([#5330](https://github.com/vector-im/element-android/issues/5330))
|
||||||
|
|
||||||
|
Other changes
|
||||||
|
-------------
|
||||||
|
- Improve Bubble layouts rendering ([#5303](https://github.com/vector-im/element-android/issues/5303))
|
||||||
|
- Continue improving realm usage (potentially helping with storage and RAM usage) ([#5330](https://github.com/vector-im/element-android/issues/5330))
|
||||||
|
- Update reaction button layout. ([#5313](https://github.com/vector-im/element-android/issues/5313))
|
||||||
|
- Adds forceLoginFallback feature flag and usages to FTUE login and registration ([#5325](https://github.com/vector-im/element-android/issues/5325))
|
||||||
|
- Override task affinity to prevent unknown activities running in our app tasks. ([#4498](https://github.com/vector-im/element-android/issues/4498))
|
||||||
|
- Tentatively fixing the UI sanity test being unable to click on the space menu items ([#5269](https://github.com/vector-im/element-android/issues/5269))
|
||||||
|
- Moves attachment-viewer, diff-match-patch, and multipicker modules to subfolders under library ([#5309](https://github.com/vector-im/element-android/issues/5309))
|
||||||
|
- Log the `since` token used and `next_batch` token returned when doing an incremental sync. ([#5312](https://github.com/vector-im/element-android/issues/5312), [#5318](https://github.com/vector-im/element-android/issues/5318))
|
||||||
|
- Upgrades material dependency version from 1.4.0 to 1.5.0 ([#5392](https://github.com/vector-im/element-android/issues/5392))
|
||||||
|
- Using app name instead of hardcoded "Element" for exported keys filename ([#5326](https://github.com/vector-im/element-android/issues/5326))
|
||||||
|
- Upgrade the plugin which generate strings with template from 1.2.2 to 2.0.0 ([#5348](https://github.com/vector-im/element-android/issues/5348))
|
||||||
|
- Remove about 700 unused strings and their translations ([#5352](https://github.com/vector-im/element-android/issues/5352))
|
||||||
|
- Creates dedicated VectorOverrides for forcing behaviour for local testing/development ([#5361](https://github.com/vector-im/element-android/issues/5361))
|
||||||
|
- Cleanup unused threads build configurations ([#5379](https://github.com/vector-im/element-android/issues/5379))
|
||||||
|
- Notify element-android channel each time a nightly build completes. ([#5314](https://github.com/vector-im/element-android/issues/5314))
|
||||||
|
- Iterate on badge / unread indicator color ([#5456](https://github.com/vector-im/element-android/issues/5456))
|
||||||
|
|
||||||
|
|
||||||
|
Changes in Element v1.4.2 (2022-02-22 Palindrome Day!)
|
||||||
|
======================================================
|
||||||
|
|
||||||
Features ✨
|
Features ✨
|
||||||
----------
|
----------
|
||||||
- Open the room when user accepts an invite from the room list ([#3771](https://github.com/vector-im/element-android/issues/3771))
|
- Open the room when user accepts an invite from the room list ([#3771](https://github.com/vector-im/element-android/issues/3771))
|
||||||
|
@ -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) Nighly sanity test status: [![allScreensTest](https://github.com/vector-im/element-android/actions/workflows/sanity_test.yml/badge.svg)](https://github.com/vector-im/element-android/actions/workflows/sanity_test.yml)
|
Nightly build: [![Buildkite](https://badge.buildkite.com/ad0065c1b70f557cd3b1d3d68f9c2154010f83c4d6f71706a9.svg?branch=develop)](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop) Nighly 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
|
||||||
|
27
build.gradle
27
build.gradle
@ -19,8 +19,8 @@ buildscript {
|
|||||||
classpath libs.gradle.hiltPlugin
|
classpath libs.gradle.hiltPlugin
|
||||||
classpath 'com.google.gms:google-services:4.3.10'
|
classpath 'com.google.gms:google-services:4.3.10'
|
||||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
|
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
|
||||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
|
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
|
||||||
classpath "com.likethesalad.android:string-reference:1.2.2"
|
classpath "com.likethesalad.android:stem-plugin:2.0.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
|
||||||
@ -105,11 +105,21 @@ task clean(type: Delete) {
|
|||||||
delete rootProject.buildDir
|
delete rootProject.buildDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def launchTask = getGradle()
|
||||||
|
.getStartParameter()
|
||||||
|
.getTaskRequests()
|
||||||
|
.toString()
|
||||||
|
.toLowerCase()
|
||||||
|
|
||||||
|
if (launchTask.contains("codeCoverageReport".toLowerCase())) {
|
||||||
|
apply from: 'coverage.gradle'
|
||||||
|
}
|
||||||
|
|
||||||
apply plugin: 'org.sonarqube'
|
apply plugin: 'org.sonarqube'
|
||||||
|
|
||||||
// To run a sonar analysis:
|
// To run a sonar analysis:
|
||||||
// Run './gradlew sonarqube -Dsonar.login=<REPLACE_WITH_SONAR_KEY>'
|
// Run './gradlew sonarqube -Dsonar.login=<REPLACE_WITH_SONAR_KEY>'
|
||||||
// The SONAR_KEY is stored in passbolt
|
// The SONAR_KEY is stored in passbolt as Token Sonar Cloud Bma
|
||||||
|
|
||||||
sonarqube {
|
sonarqube {
|
||||||
properties {
|
properties {
|
||||||
@ -119,10 +129,12 @@ sonarqube {
|
|||||||
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
|
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
|
||||||
property "sonar.sourceEncoding", "UTF-8"
|
property "sonar.sourceEncoding", "UTF-8"
|
||||||
property "sonar.links.homepage", "https://github.com/vector-im/element-android/"
|
property "sonar.links.homepage", "https://github.com/vector-im/element-android/"
|
||||||
property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android"
|
property "sonar.links.ci", "https://github.com/vector-im/element-android/actions"
|
||||||
property "sonar.links.scm", "https://github.com/vector-im/element-android/"
|
property "sonar.links.scm", "https://github.com/vector-im/element-android/"
|
||||||
property "sonar.links.issue", "https://github.com/vector-im/element-android/issues"
|
property "sonar.links.issue", "https://github.com/vector-im/element-android/issues"
|
||||||
property "sonar.organization", "new_vector_ltd_organization"
|
property "sonar.organization", "new_vector_ltd_organization"
|
||||||
|
property "sonar.java.coveragePlugin", "jacoco"
|
||||||
|
property "sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml"
|
||||||
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
|
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,17 +150,12 @@ project(":vector") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
project(":diff-match-patch") {
|
project(":library:diff-match-patch") {
|
||||||
sonarqube {
|
sonarqube {
|
||||||
skipProject = true
|
skipProject = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Global configurations across all modules
|
|
||||||
ext {
|
|
||||||
isThreadingEnabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
//project(":matrix-sdk-android") {
|
//project(":matrix-sdk-android") {
|
||||||
// sonarqube {
|
// sonarqube {
|
||||||
// properties {
|
// properties {
|
||||||
|
55
coverage.gradle
Normal file
55
coverage.gradle
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
def excludes = [ ]
|
||||||
|
|
||||||
|
def initializeReport(report, projects, classExcludes) {
|
||||||
|
projects.each { project -> project.apply plugin: 'jacoco' }
|
||||||
|
report.executionData { fileTree(rootProject.rootDir.absolutePath).include("**/build/jacoco/*.exec") }
|
||||||
|
|
||||||
|
report.reports {
|
||||||
|
xml.enabled true
|
||||||
|
html.enabled true
|
||||||
|
csv.enabled false
|
||||||
|
}
|
||||||
|
|
||||||
|
gradle.projectsEvaluated {
|
||||||
|
def androidSourceDirs = []
|
||||||
|
def androidClassDirs = []
|
||||||
|
|
||||||
|
projects.each { project ->
|
||||||
|
switch (project) {
|
||||||
|
case { project.plugins.hasPlugin("com.android.application") }:
|
||||||
|
androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/debug")
|
||||||
|
androidSourceDirs.add("${project.projectDir}/src/main/kotlin")
|
||||||
|
androidSourceDirs.add("${project.projectDir}/src/main/java")
|
||||||
|
break
|
||||||
|
case { project.plugins.hasPlugin("com.android.library") }:
|
||||||
|
androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/debug")
|
||||||
|
androidSourceDirs.add("${project.projectDir}/src/main/kotlin")
|
||||||
|
androidSourceDirs.add("${project.projectDir}/src/main/java")
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
report.sourceSets project.sourceSets.main
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
report.sourceDirectories.setFrom(report.sourceDirectories + files(androidSourceDirs))
|
||||||
|
def classFiles = androidClassDirs.collect { files(it).files }.flatten()
|
||||||
|
report.classDirectories.setFrom(files((report.classDirectories.files + classFiles).collect {
|
||||||
|
fileTree(dir: it, excludes: classExcludes)
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def collectProjects(predicate) {
|
||||||
|
return subprojects.findAll { it.buildFile.isFile() && predicate(it) }
|
||||||
|
}
|
||||||
|
|
||||||
|
task allCodeCoverageReport(type: JacocoReport) {
|
||||||
|
outputs.upToDateWhen { false }
|
||||||
|
rootProject.apply plugin: 'jacoco'
|
||||||
|
// to limit projects in a specific report, add
|
||||||
|
// def excludedProjects = [ ... ]
|
||||||
|
// def projects = collectProjects { !excludedProjects.contains(it.name) }
|
||||||
|
def projects = collectProjects { true }
|
||||||
|
dependsOn { projects*.test }
|
||||||
|
initializeReport(it, projects, excludes)
|
||||||
|
}
|
@ -71,8 +71,7 @@ ext.libs = [
|
|||||||
'espressoIntents' : "androidx.test.espresso:espresso-intents:$espresso"
|
'espressoIntents' : "androidx.test.espresso:espresso-intents:$espresso"
|
||||||
],
|
],
|
||||||
google : [
|
google : [
|
||||||
// TODO There is 1.6.0?
|
'material' : "com.google.android.material:material:1.5.0"
|
||||||
'material' : "com.google.android.material:material:1.4.0"
|
|
||||||
],
|
],
|
||||||
dagger : [
|
dagger : [
|
||||||
'dagger' : "com.google.dagger:dagger:$dagger",
|
'dagger' : "com.google.dagger:dagger:$dagger",
|
||||||
|
@ -29,9 +29,10 @@ ext.groups = [
|
|||||||
'com\\.google\\.android\\..*',
|
'com\\.google\\.android\\..*',
|
||||||
],
|
],
|
||||||
group: [
|
group: [
|
||||||
'com.google.firebase',
|
|
||||||
'com.android',
|
'com.android',
|
||||||
'com.android.tools',
|
'com.android.tools',
|
||||||
|
'com.google.firebase',
|
||||||
|
'com.google.testing.platform',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
mavenCentral: [
|
mavenCentral: [
|
||||||
@ -63,6 +64,8 @@ ext.groups = [
|
|||||||
'com.github.piasy',
|
'com.github.piasy',
|
||||||
'com.github.shyiko.klob',
|
'com.github.shyiko.klob',
|
||||||
'com.google',
|
'com.google',
|
||||||
|
'com.google.android',
|
||||||
|
'com.google.api.grpc',
|
||||||
'com.google.auto.service',
|
'com.google.auto.service',
|
||||||
'com.google.auto.value',
|
'com.google.auto.value',
|
||||||
'com.google.code.findbugs',
|
'com.google.code.findbugs',
|
||||||
@ -111,10 +114,13 @@ ext.groups = [
|
|||||||
'io.arrow-kt',
|
'io.arrow-kt',
|
||||||
'io.github.detekt.sarif4k',
|
'io.github.detekt.sarif4k',
|
||||||
'io.github.reactivecircus.flowbinding',
|
'io.github.reactivecircus.flowbinding',
|
||||||
|
'io.grpc',
|
||||||
'io.jsonwebtoken',
|
'io.jsonwebtoken',
|
||||||
'io.kindedj',
|
'io.kindedj',
|
||||||
'io.mockk',
|
'io.mockk',
|
||||||
|
'io.netty',
|
||||||
'io.noties.markwon',
|
'io.noties.markwon',
|
||||||
|
'io.opencensus',
|
||||||
'io.reactivex.rxjava2',
|
'io.reactivex.rxjava2',
|
||||||
'io.realm',
|
'io.realm',
|
||||||
'it.unimi.dsi',
|
'it.unimi.dsi',
|
||||||
@ -150,6 +156,7 @@ ext.groups = [
|
|||||||
'org.ec4j.core',
|
'org.ec4j.core',
|
||||||
'org.glassfish.jaxb',
|
'org.glassfish.jaxb',
|
||||||
'org.hamcrest',
|
'org.hamcrest',
|
||||||
|
'org.jacoco',
|
||||||
'org.jetbrains',
|
'org.jetbrains',
|
||||||
'org.jetbrains.intellij.deps',
|
'org.jetbrains.intellij.deps',
|
||||||
'org.jetbrains.kotlin',
|
'org.jetbrains.kotlin',
|
||||||
@ -175,6 +182,7 @@ ext.groups = [
|
|||||||
'org.sonatype.oss',
|
'org.sonatype.oss',
|
||||||
'org.testng',
|
'org.testng',
|
||||||
'org.threeten',
|
'org.threeten',
|
||||||
|
'org.webjars',
|
||||||
'ru.noties',
|
'ru.noties',
|
||||||
'xerces',
|
'xerces',
|
||||||
'xml-apis',
|
'xml-apis',
|
||||||
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: Počáteční implementace vláken zpráv. Bubliny zpráv.
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavní změny v této verzi: přidána podpora pro @room a tajné hlasování a mnoho dalších drobných změn
|
||||||
|
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/de-DE/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Neues: Erstelle Threads, damit dein Chatverlauf nicht zugespammt wird. Nachrichtenblasen.
|
||||||
|
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/de-DE/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Neues: Unterstützung für @room, Verbesserungen der Abstimmungen und weitere kleine Änderungen
|
||||||
|
Ganzer Changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/en-US/changelogs/40104040.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Main changes in this version: typing indicator UI updates. Various bug fixes and stability improvements.
|
||||||
|
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.4
|
2
fastlane/metadata/android/et/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: jutulõngade esmane lahendus ja jutumullid.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/et/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/et/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Põhilised muutused selles versioonis: @jututuba tugi, mitteavalikud küsitlused ning pisiparandused.
|
||||||
|
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/fr-FR/changelogs/40103170.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40103170.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : envoyer votre position dans n'importe quel salon. Éditer un sondage.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.3.17
|
2
fastlane/metadata/android/fr-FR/changelogs/40103180.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40103180.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : envoyer votre position dans n'importe quel salon. Éditer un sondage.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.3.18
|
2
fastlane/metadata/android/fr-FR/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Implémentation initial des fils de discussion. Bulles de messages.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/fr-FR/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principaux changements pour cette version : Ajout du support pour @room et des sondages non terminé parmi plein d'autres changements mineurs.
|
||||||
|
Intégralité des changements : https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/hu-HU/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/hu-HU/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Fő változás ebben a verzióban: Üzenetszálak kezdeti implementációja. Buborék üzenetek.
|
||||||
|
Teljes változásnapló: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/hu-HU/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/hu-HU/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Fő változás ebben a verzióban: @room támogatás és nem nyilvános szavazások mellett kisebb változtatások.
|
||||||
|
Teljes változásnapló: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
@ -1,43 +1,42 @@
|
|||||||
Element egy biztonságos üzenetküldő és csapatmunka támogató alkalmazás ami ideális távoli munkavégzés közben csoportos csevegéshez. Az alkalmazás végpontok közötti titkosítást használ videó konferenciához, fájl megosztáshoz és videó hivásokhoz.
|
Az Element egy biztonságos üzenetküldő, és egy csapatmunka app, amely távoli munkavégzéshez is alkalmas lehet. Az alkalmazás végponti titkosítás használatával biztosít videó konferencia, fájlmegosztás, és audio hívás lehetőségeket.
|
||||||
|
|
||||||
<b>Element tulajdonságai:</b>
|
<b>Az Element funkciói többek között:</b>
|
||||||
- Fejlett online kommunikációs eszköz
|
- Fejlett online kommunikációs eszközök
|
||||||
- Teljesen titkosított üzenetküldés biztonságos céges kommunikációt kínál még a távdolgozóknak is
|
- Titkosított üzenetek a biztonságos céges kommunikációhoz, otthonról dolgozóknak is
|
||||||
- Elosztott csevegés a Matrix nyílt forráskódú keretrendszer felhasználásával
|
- Decentralizált chat a nyílt forráskódú Matrix protokoll használatával
|
||||||
- Bizontságos fájl megosztás titkosítottan projektek kezeléséhez
|
- Biztonságos fájlmegosztáss a projektek kezeléséhez
|
||||||
- Videó hívás VoIP-pal és képernyőmegosztással
|
- Videochat, VoIP, és képernyőmegosztási lehetőséggel
|
||||||
- Könnyen integrálható a kedvenc online kollaborációs eszközöddel, projekt menedzsment eszközzel, VoIP szolgáltatással vagy más csoport üzenetküldő alkalmazással
|
- Egyszerű integráció a kedvenc online kollaborációs eszközeiddel, projektkezelési eszközökkel, VoIP szolgáltatásokkal, és más csoportos üzenetküldő alkalmazásokkal
|
||||||
|
|
||||||
Element teljesen más mint a többi üzenetküldő alkalmazás. Matrixot használ, egy nyílt hálózatot a decentralizált biztonságos kommunikációhoz. Lehetőséget ad saját szerver üzemeltetésére ami maximális tulajdont és kontrollt biztosít az adatok fölött.
|
Element is completely different from other messaging and collaboration apps. It operates on Matrix, an open network for secure messaging and decentralized communication. It allows self-hosting to give users maximum ownership and control of their data and messages.
|
||||||
|
|
||||||
<b>Magánélet védelme és titkosított üzenetküldés</b>
|
<b>Privacy and encrypted messaging</b>
|
||||||
Element megóv a kéretlen hirdetésektől, adatbányászattól és a különböző szigetszerű megoldásoktól. Minden adatot biztonságba helyez, egy az egybe videó és hang kommunikáció végpontok között titkosítva ahol az eszközök hitelesítve vannak.
|
Element protects you from unwanted ads, data mining and walled gardens. It also secures all your data, one-to-one video and voice communication through end-to-end encryption and cross-signed device verification.
|
||||||
|
|
||||||
Element a kezedbe adja az adatvédelmi irányítást miközben bárkivel kommunikálhatsz a Matrix hálózatban vagy más üzleti kollaborációs eszközzel ami integrálva van, mint amilyen a Slack.
|
Element gives you control over your privacy while allowing you to communicate securely with anyone on the Matrix network, or other business collaboration tools by integrating with apps such as Slack.
|
||||||
|
|
||||||
<b>Element futtatható saját szerveren</b>
|
<b>Element can be self-hosted</b>
|
||||||
|
To allow more control of your sensitive data and conversations, Element can be self-hosted or you can choose any Matrix-based host - the standard for open source, decentralized communication. Element gives you privacy, security compliance and integration flexibility.
|
||||||
|
|
||||||
Azért, hogy az érzékeny adatok és beszélgetések minnél inkább az irányításod alatt lehessen az Elementet saját magadnak üzemeltetheted vagy választhatsz bármely Matrixon alapuló - szabványos nyílt forráskódú és decentralizált kommunikáció - szoláltató közül. Element adatvédelmet, biztonságot és rugalmas integrációkat biztosít.
|
<b>Own your data</b>
|
||||||
|
You decide where to keep your data and messages. Without the risk of data mining or access from third parties.
|
||||||
|
|
||||||
<b>A te adatod a tiéd</b>
|
Element puts you in control in different ways:
|
||||||
Te döntöd el, hogy hol tárolod az adataidat és üzeneteidet. Adatbányászat vagy harmadik fél hozzáférésének kockázata nélkül.
|
1. Get a free account on the matrix.org public server hosted by the Matrix developers, or choose from thousands of public servers hosted by volunteers
|
||||||
|
2. Self-host your account by running a server on your own IT infrastructure
|
||||||
|
3. Sign up for an account on a custom server by simply subscribing to the Element Matrix Services hosting platform
|
||||||
|
|
||||||
Element többféle képpen adja vissza az irányítást:
|
<b>Open messaging and collaboration</b>
|
||||||
1. Szerezz egy ingyenes hozzáférést a matrix.org nyilvános szerverre amit a Matrix fejlesztők üzemeltetnek vagy válassz a több ezer önkéntesek által üzemeltetett nyilvános szerverből
|
You can chat with anyone on the Matrix network, whether they’re using Element, another Matrix app or even if they are using a different messaging app.
|
||||||
2. Üzemeltess szerver magadnak a saját infrastruktúrádon
|
|
||||||
3. Iratkozz fel egy egyedi szerverre az Element Matrix Services platformon
|
|
||||||
|
|
||||||
<b>Nyílt üzenetküldés és kollaboráció</b>
|
<b>Super secure</b>
|
||||||
Bárkivel beszélgethetsz a Matrix hálózaton, akár az Elementet használja akár egy másik Matrix alkalmazást használ vagy akár egy eltérő üzenetküldőt.
|
Real end-to-end encryption (only those in the conversation can decrypt messages), and cross-signed device verification.
|
||||||
|
|
||||||
<b>Fantasztikusan biztonságos</b>
|
<b>Complete communication and integration</b>
|
||||||
Igazi végpontok között titkosítás (csak a beszélgetésben résztvevők tudják visszafejteni) és hitelesítés eszközök közötti aláírásokkal.
|
Messaging, voice and video calls, file sharing, screen sharing and a whole bunch of integrations, bots and widgets. Build rooms, communities, stay in touch and get things done.
|
||||||
|
|
||||||
<b>Teljes kommunikáció és integráció</b>
|
<b>Pick up where you left off</b>
|
||||||
Üzenetküldés, hang és videóhívás, fájl megosztás, képernyő megosztás és egy csomó integráció, botok és kisalkalmazások. Építs szobákat, közösségeket, maradj kapcsolatban és végezz el dolgokat.
|
Stay in touch wherever you are with fully synchronised message history across all your devices and on the web at https://app.element.io
|
||||||
|
|
||||||
<b>Vedd fel a fonalat</b>
|
<b>Open source</b>
|
||||||
Maradj kapcsolatban bárhol minden eszközödön a szinkronizált üzenetekkel és a weben a https://app.element.io oldallal
|
Element Android is an open source project, hosted by GitHub. Please report bugs and/or contribute to its development at https://github.com/vector-im/element-android
|
||||||
|
|
||||||
<b>Nyílt forráskód</b>
|
|
||||||
Element Android egy nyílt forráskódú projekt a GitHubon. Küldj hibajegyet és/vagy vegyél részt a fejlesztésében itt: https://github.com/vector-im/element-android
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Csoportos üzenetküldő - titkosított üzenetek, videó hívások
|
Csoportos üzenetküldő - titkosított üzenetek és videó hívások
|
||||||
|
@ -1 +1 @@
|
|||||||
Element
|
Element - Biztonságos üzenetküldő
|
||||||
|
2
fastlane/metadata/android/id/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: Implementasi awal perpesanan utasan. Gelembung pesan.
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/id/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/id/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Perubahan utama dalam versi ini: tambahkan dukungan untuk @room dan pemungutan suara tertutup dan banyak perubahan kecil lainnya.
|
||||||
|
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/it-IT/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: prima implementazione delle discussioni. Messaggi a bolla.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/it-IT/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/it-IT/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Modifiche principali in questa versione: aggiunto supporto a @stanza e sondaggi non divulgati, molte altre modifiche.
|
||||||
|
Cronologia completa: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
@ -1,2 +1,2 @@
|
|||||||
今回の新バージョンでは、主にバグの修正と改善が行われています。メッセージの送信がより速くなりました。
|
今回の新バージョンでは、主にバグの修正と改善が行われています。メッセージの送信がより速くなりました。
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.10
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
今回の新バージョンでは、主にUI(ユーザーインターフェース)とUX(ユーザーエクスペリエンス)の向上が図られています。友達を招待したり、QRコードを読み取って素早くDMを作成できるようになりました。
|
今回の新バージョンでは、主にUI(ユーザーインターフェース)とUX(ユーザーエクスペリエンス)の向上が図られています。友達を招待したり、QRコードを読み取って素早くDMを作成できるようになりました。
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.11
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が!
|
このバージョンの主な変更点:URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.12
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が!
|
このバージョンの主な変更点:URLプレビュー、新しい絵文字、新しいルーム設定機能、それにクリスマスには雪が!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.13
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: 部屋の許可、自動のテーマ切替、そして多くのバグを修正しました。
|
このバージョンの主な変更点:部屋の許可、自動のテーマ切替、そして多くのバグを修正しました。
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.14
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: ソーシャルログインに対応しました。
|
このバージョンの主な変更点:ソーシャルログインに対応しました。
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.15
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: パフォーマンスの向上とバグの修正!
|
このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.15 and https://github.com/vector-im/element-android/releases/tag/v1.0.16
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: バグの修正!
|
このバージョンの主な変更点:バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.0.17
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: パフォーマンスの向上とバグの修正!
|
このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.0
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: パフォーマンスの向上とバグの修正!
|
このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.1
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: パフォーマンスの向上とバグの修正!
|
このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.2
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.2
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点: パフォーマンスの向上とバグの修正!
|
このバージョンの主な変更点:パフォーマンスの向上と、バグを修正しました!
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.3
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.3
|
||||||
|
2
fastlane/metadata/android/ja-JP/changelogs/40101040.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40101040.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:パフォーマンスの向上と不具合の修正
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.4
|
2
fastlane/metadata/android/ja-JP/changelogs/40101100.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40101100.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:テーマ、スタイルの更新と、スペースに関する新機能。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.10
|
@ -1,2 +1,2 @@
|
|||||||
このバージョンの主な変更点:ルームにて誰かがログアウトした際に発生するエラーを修正しました。
|
このバージョンの主な変更点:ルームにて誰かがログアウトした際に発生するエラーを修正しました。
|
||||||
全ての変更履歴はこちら: https://github.com/vector-im/element-android/releases/tag/v1.1.16
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.1.16
|
||||||
|
2
fastlane/metadata/android/ja-JP/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103070.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:主に通知に関する不具合の修正。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/ja-JP/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103080.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:不具合の修正
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
2
fastlane/metadata/android/ja-JP/changelogs/40103090.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103090.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:音声メッセージの下書き機能の追加。不具合の修正。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.9
|
2
fastlane/metadata/android/ja-JP/changelogs/40103100.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103100.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:アンケート機能のサポート(実験的)。URL プレビューの新規デザイン。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.10
|
2
fastlane/metadata/android/ja-JP/changelogs/40103110.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103110.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:不具合の修正
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.11
|
2
fastlane/metadata/android/ja-JP/changelogs/40103120.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103120.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:不具合の修正
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.12
|
2
fastlane/metadata/android/ja-JP/changelogs/40103130.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103130.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.13
|
2
fastlane/metadata/android/ja-JP/changelogs/40103140.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103140.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.14
|
2
fastlane/metadata/android/ja-JP/changelogs/40103150.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40103150.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:登録時の表示に関する変更(Analyticsへのオプトインなど)。数学に関するイベントをラボに追加。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.3.15
|
2
fastlane/metadata/android/ja-JP/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:スレッド機能の実装、吹き出しメッセージ。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/ja-JP/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/ja-JP/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
このバージョンの主な変更点:@roomの対応、非公開の投票など。
|
||||||
|
更新履歴:https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
@ -1,42 +1,42 @@
|
|||||||
Elementは、安全なメッセンジャー、リモートワーク中のグループチャットに適したチームコラボレーションアプリです。エンドツーエンドの暗号化を使用して、強力なビデオ会議、ファイル共有、音声通話を提供します。
|
Elementは、安全なメッセージングアプリ、リモートワーク中のグループチャットに適したチームコラボレーションアプリです。エンド・ツー・エンドの暗号化技術を使用して、強力なビデオ会議、ファイル共有、音声通話を提供します。
|
||||||
|
|
||||||
<b>Elementの特徴</b>
|
<b>Elementの特徴</b>
|
||||||
- 高度なオンラインコミュニケーションツール
|
- 高度なオンラインコミュニケーションツール
|
||||||
- 完全に暗号化されたメッセージにより、リモートワーカーでも、より安全な企業コミュニケーションが可能
|
- メッセージの完全な暗号化。リモートワーカーでも、より安全な企業コミュニケーションが可能
|
||||||
- Matrixオープンソースフレームワークをベースにした分散型のチャット
|
- Matrixオープンソースフレームワークに基づく、分散型のチャット
|
||||||
- プロジェクトを管理しながら、暗号化されたデータで安全にファイル共有
|
- プロジェクトの管理と並行して、データの暗号化によりファイルを安全に共有することが可能
|
||||||
- Voice over IPによるビデオチャットと画面共有
|
- Voice over IPによるビデオチャットと画面共有
|
||||||
- お気に入りのオンラインコラボレーションツール、プロジェクト管理ツール、VoIPサービス、その他のチームメッセージングアプリと簡単に統合可能
|
- お気に入りのオンラインコラボレーションツールや、プロジェクト管理ツール、VoIPサービス、その他のチームメッセージングアプリと簡単に統合可能
|
||||||
|
|
||||||
Elementは他のメッセージングアプリやコラボレーションアプリとは全く異なります。安全なメッセージングと分散型(非中央集権)コミュニケーションのためのオープンネットワークであるMatrixで動作します。ユーザーが自分のデータやメッセージを最大限にコントロールできるように、セルフホスティングも可能です。
|
Elementは、他のメッセージングアプリやコラボレーションアプリとは全く異なります。安全なメッセージングと分散型(非中央集権型)コミュニケーションのためのオープンネットワークであるMatrixで動作します。自分のデータやメッセージを最大限にコントロールするために、あなた自身がサーバーを運営することもできます。
|
||||||
|
|
||||||
<b>プライバシーと暗号化されたコミュニケーション</b>
|
<b>プライバシーと暗号化されたコミュニケーション</b>
|
||||||
Elementは、望ましくない広告、データマイニング、ウォールドガーデンからユーザーを保護します。また、エンド・ツー・エンドの暗号化と相互署名された端末の検証により、全てのデータ、1対1のビデオおよび音声通信を保護します。
|
Elementは、望ましくない広告、データマイニング、囲い込みからユーザーを守ります。また、エンド・ツー・エンドの暗号化と、相互署名による端末の認証に基づき、全てのデータ、ビデオ会議、音声通信を保護します。
|
||||||
|
|
||||||
Elementは、Slackなどのアプリと統合することで、Matrixネットワーク上の誰とでも安全にコミュニケーションを取ることができると同時に、プライバシーをコントロールすることができます。
|
Elementでは、Matrixネットワークにいる誰とでもコミュニケーションが行えるだけでなく、Slackなどのアプリと連携すれば、他のネットワークともコミュニケーションを行うとともに、プライバシーをコントロールすることができます。
|
||||||
|
|
||||||
<b>Elementはセルフホスティングが可能</b>
|
<b>セルフホスティングが可能</b>
|
||||||
機密データや会話の管理を強化するために、Elementはセルフホスティングが可能です。または、オープンソースの分散型コミュニケーションの標準であるMatrixベースのホストを選択することもできます。Elementは、プライバシー、セキュリティーコンプライアンス、および統合の柔軟性を提供します。
|
機密データや会話の管理を強化するために、Elementはセルフホスティングが可能です。または、オープンソースの分散型コミュニケーションの標準であるMatrixに基づくサーバーを選ぶこともできます。Elementは、プライバシー、セキュリティーコンプライアンス、および柔軟な機能統合を提供します。
|
||||||
|
|
||||||
<b>自分のデータを所有する</b>
|
<b>自分のデータを所有する</b>
|
||||||
データやメッセージをどこに保管するかは、ユーザー自身が決めることができます。データマイニングやサードパーティからのアクセスのリスクはありません。
|
データやメッセージを保管する場所を自分で決めることができます。データマイニングや第三者へのデータ流出のリスクはありません。
|
||||||
|
|
||||||
Elementでは、どのサーバーを使うかを、ご自身で決めることができます。
|
Elementでは、どのサーバーを使うかをご自身で決めることができます。
|
||||||
1. 開発者がホストする matrix.org のパブリックサーバーで無料アカウントを取得するか、ボランティアがホストしているパブリックサーバーから選択する。
|
1. 開発者が運営する matrix.org の公開サーバーで無料アカウントを取得するか、ボランティアが管理している運営サーバーから選ぶ。
|
||||||
2. あなた自身がサーバーを運営し、アカウントを管理する。
|
2. あなた自身がサーバーを運営し、アカウントを管理する。
|
||||||
3. Element Matrix Servicesのホスティングプラットフォームに加入し、カスタムサーバー上でアカウントを作る。
|
3. Element Matrix Servicesの運営プラットフォームに加入し、カスタムサーバー上でアカウントを作る。
|
||||||
|
|
||||||
<b>オープンなメッセージングとコラボレーション</b>
|
<b>オープンなメッセージングとコラボレーション</b>
|
||||||
Matrixネットワーク上の誰とでも、相手がElementや他のMatrixアプリを使っているか、さらには他のメッセージングアプリを使っているかに関わらず、チャットをすることができます。
|
相手がElement、他のMatrixアプリ、さらには他のメッセージングアプリを使っているかに関わらず、Matrixネットワーク上の誰とでもチャットをすることができます。
|
||||||
|
|
||||||
<b>非常に安全</b>
|
<b>非常に安全</b>
|
||||||
本物のエンド・ツー・エンドの暗号化(会話に参加している人だけがメッセージを復号化できる)と、相互署名された端末の検証を行います。
|
本物のエンド・ツー・エンドの暗号化(会話に参加している人だけがメッセージを復号化できます)と、クロス署名による端末の認証が可能です。
|
||||||
|
|
||||||
<b>包括的なコミュニケーションと統合</b>
|
<b>包括的なコミュニケーションと統合</b>
|
||||||
メッセージング、音声およびビデオ通話、ファイル共有、画面共有、その他多くのインテグレーション、ボット、ウィジェットを提供します。ルームやコミュニティーを立ち上げて連絡を取り合い、物事をスムーズに成し遂げることができます。
|
メッセージング、音声およびビデオ通話、ファイル共有、画面共有、その他多くの機能統合、ボット、ウィジェットを提供します。ルームやコミュニティーを立ち上げて連絡を取り合い、物事をスムーズに成し遂げましょう。
|
||||||
|
|
||||||
<b>中断からの再開</b>
|
<b>いつでも、どこにいても</b>
|
||||||
メッセージの履歴は全ての端末とウェブ(https://app.element.io)で完全に同期されるので、どこからでも連絡を取り合うことができます。
|
メッセージの履歴は、全ての端末とウェブ(https://app.element.io)で完全に同期されるので、どこからでも連絡を取り合うことができます。
|
||||||
|
|
||||||
<b>オープンソース</b>
|
<b>オープンソース</b>
|
||||||
Element AndroidはGitHubで開発されているオープンソースのプロジェクトです。 バグの報告や開発への貢献は https://github.com/vector-im/element-android にて受け付けています。
|
Element Androidは、GitHubで開発されているオープンソースのプロジェクトです。 不具合の報告や開発への貢献は https://github.com/vector-im/element-android にて受け付けています。
|
||||||
|
2
fastlane/metadata/android/pt-BR/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: Implementação inicial de mensagens de thread. Bolhas de mensagem.
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/pt-BR/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/pt-BR/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Principais mudanças nesta versão: adicionar suporte para @room e sondagens não-divulgadas entre muitas outras pequenas mudanças.
|
||||||
|
Changelog completo: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/sk/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/sk/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavné zmeny v tejto verzii: Počiatočná implementácia správ vo vláknach. Správy v bublinách.
|
||||||
|
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/sk/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/sk/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Hlavné zmeny v tejto verzii: pridanie podpory pre @miestnost a nezverejnené ankety a mnoho ďalších drobných zmien.
|
||||||
|
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/sq/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Ndryshime kryesore në këtë version: Sendërtimi fillestar i mesazheve në rrjedha. Flluska mesazhesh.
|
||||||
|
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/sq/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/sq/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Ndryshimet kryesore në këtë version: shtim mbulimi për @room dhe për pyetësorë jopublikë, mes mjaft ndryshimesh të tjera të vockla.
|
||||||
|
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/sv-SE/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/sv-SE/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Huvudsakliga ändringar i den här versionen: Initial implementation av trådmeddelanden. Meddelandebubblor.
|
||||||
|
Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/sv-SE/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/sv-SE/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Huvudsakliga ändringar i den här versionen: lägg till stöd för @room och slutna omröstningar, och många andra små ändringar.
|
||||||
|
Full ändringslogg: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/uk/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/uk/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основні зміни в цій версії: Початкова реалізація тредів повідомлень. Повідомлення бульбашки.
|
||||||
|
Вичерпний перелік змін: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/uk/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/uk/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Основні зміни в цій версії: додано підтримку до @room і нерозкритих опитувань та багато інших незначних змін.
|
||||||
|
Вичерпний перелік змін: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/zh-TW/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/zh-TW/changelogs/40104000.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
此版本中的主要變動:訊息討論串的初始實作。訊息泡泡。
|
||||||
|
完整的變更紀錄:https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/zh-TW/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/zh-TW/changelogs/40104020.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
此版本中的主要變動:新增對 @room 的支援與未公開的投票,以及其他許多小變動。
|
||||||
|
完整的變更紀錄:https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
@ -45,6 +45,8 @@ import kotlin.math.abs
|
|||||||
|
|
||||||
abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventListener {
|
abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventListener {
|
||||||
|
|
||||||
|
protected val rootView: View
|
||||||
|
get() = views.rootContainer
|
||||||
protected val pager2: ViewPager2
|
protected val pager2: ViewPager2
|
||||||
get() = views.attachmentPager
|
get() = views.attachmentPager
|
||||||
protected val imageTransitionView: ImageView
|
protected val imageTransitionView: ImageView
|
||||||
@ -298,10 +300,11 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
|||||||
|
|
||||||
private fun createSwipeToDismissHandler(): SwipeToDismissHandler =
|
private fun createSwipeToDismissHandler(): SwipeToDismissHandler =
|
||||||
SwipeToDismissHandler(
|
SwipeToDismissHandler(
|
||||||
swipeView = views.dismissContainer,
|
swipeView = views.dismissContainer,
|
||||||
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
||||||
onDismiss = { animateClose() },
|
onDismiss = { animateClose() },
|
||||||
onSwipeViewMove = ::handleSwipeViewMove)
|
onSwipeViewMove = ::handleSwipeViewMove
|
||||||
|
)
|
||||||
|
|
||||||
private fun createSwipeDirectionDetector() =
|
private fun createSwipeDirectionDetector() =
|
||||||
SwipeDirectionDetector(this) { swipeDirection = it }
|
SwipeDirectionDetector(this) { swipeDirection = it }
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user