Merge branch 'develop' into valere/rtc/voice_call
This commit is contained in:
commit
95049849cc
94 changed files with 1630 additions and 1219 deletions
4
.github/dependabot.yml
vendored
4
.github/dependabot.yml
vendored
|
|
@ -13,6 +13,8 @@ updates:
|
||||||
open-pull-requests-limit: 0
|
open-pull-requests-limit: 0
|
||||||
reviewers:
|
reviewers:
|
||||||
- "element-hq/element-x-android-reviewers"
|
- "element-hq/element-x-android-reviewers"
|
||||||
|
cooldown:
|
||||||
|
default-days: 7
|
||||||
# Updates for Gradle dependencies used in the app
|
# Updates for Gradle dependencies used in the app
|
||||||
- package-ecosystem: "gradle"
|
- package-ecosystem: "gradle"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
|
|
@ -21,3 +23,5 @@ updates:
|
||||||
open-pull-requests-limit: 0
|
open-pull-requests-limit: 0
|
||||||
reviewers:
|
reviewers:
|
||||||
- "element-hq/element-x-android-reviewers"
|
- "element-hq/element-x-android-reviewers"
|
||||||
|
cooldown:
|
||||||
|
default-days: 7
|
||||||
|
|
|
||||||
14
.github/workflows/build.yml
vendored
14
.github/workflows/build.yml
vendored
|
|
@ -7,6 +7,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ develop ]
|
branches: [ develop ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -16,6 +18,9 @@ jobs:
|
||||||
build:
|
build:
|
||||||
name: Build APKs
|
name: Build APKs
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
# For NejcZdovc/comment-pr
|
||||||
|
pull-requests: write
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
variant: [debug, release, nightly]
|
variant: [debug, release, nightly]
|
||||||
|
|
@ -39,18 +44,19 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Assemble debug APKs
|
- name: Assemble debug APKs
|
||||||
|
|
@ -68,7 +74,7 @@ jobs:
|
||||||
run: ./gradlew :app:assembleGplayDebug app:assembleFDroidDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew :app:assembleGplayDebug app:assembleFDroidDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload debug APKs
|
- name: Upload debug APKs
|
||||||
if: ${{ matrix.variant == 'debug' }}
|
if: ${{ matrix.variant == 'debug' }}
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-debug
|
name: elementx-debug
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
11
.github/workflows/build_enterprise.yml
vendored
11
.github/workflows/build_enterprise.yml
vendored
|
|
@ -7,6 +7,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ develop ]
|
branches: [ develop ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -41,11 +43,12 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
with:
|
with:
|
||||||
|
|
@ -53,12 +56,12 @@ jobs:
|
||||||
- name: Clone submodules
|
- name: Clone submodules
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Assemble debug Gplay Enterprise APK
|
- name: Assemble debug Gplay Enterprise APK
|
||||||
|
|
@ -76,7 +79,7 @@ jobs:
|
||||||
run: ./gradlew :app:assembleGplayDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew :app:assembleGplayDebug -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload debug Enterprise APKs
|
- name: Upload debug Enterprise APKs
|
||||||
if: ${{ matrix.variant == 'debug' }}
|
if: ${{ matrix.variant == 'debug' }}
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-enterprise-debug
|
name: elementx-enterprise-debug
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
6
.github/workflows/danger.yml
vendored
6
.github/workflows/danger.yml
vendored
|
|
@ -2,6 +2,8 @@ name: Danger CI
|
||||||
|
|
||||||
on: [pull_request, merge_group]
|
on: [pull_request, merge_group]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -9,7 +11,9 @@ jobs:
|
||||||
# Skip in forks, it doesn't work even with the fallback token
|
# Skip in forks, it doesn't work even with the fallback token
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
6
.github/workflows/fork-pr-notice.yml
vendored
6
.github/workflows/fork-pr-notice.yml
vendored
|
|
@ -2,11 +2,13 @@ name: Community PR notice
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
pull_request_target:
|
pull_request_target: # zizmor: ignore[dangerous-triggers]
|
||||||
types:
|
types:
|
||||||
- opened
|
- opened
|
||||||
- reopened
|
- reopened
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
welcome:
|
welcome:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -15,7 +17,7 @@ jobs:
|
||||||
if: github.event.pull_request.base.repo.full_name != github.event.pull_request.head.repo.full_name
|
if: github.event.pull_request.base.repo.full_name != github.event.pull_request.head.repo.full_name
|
||||||
steps:
|
steps:
|
||||||
- name: Add auto-generated commit warning
|
- name: Add auto-generated commit warning
|
||||||
uses: actions/github-script@v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.createComment({
|
github.rest.issues.createComment({
|
||||||
|
|
|
||||||
8
.github/workflows/generate_github_pages.yml
vendored
8
.github/workflows/generate_github_pages.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
# At 00:00 on every Tuesday UTC
|
# At 00:00 on every Tuesday UTC
|
||||||
- cron: '0 0 * * 2'
|
- cron: '0 0 * * 2'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
generate-github-pages:
|
generate-github-pages:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -14,16 +16,16 @@ jobs:
|
||||||
- name: ⏬ Checkout with LFS
|
- name: ⏬ Checkout with LFS
|
||||||
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
|
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
- name: Run World screenshots generation script
|
- name: Run World screenshots generation script
|
||||||
|
|
|
||||||
8
.github/workflows/gradle-wrapper-update.yml
vendored
8
.github/workflows/gradle-wrapper-update.yml
vendored
|
|
@ -5,14 +5,18 @@ on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: "0 0 * * *"
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-gradle-wrapper:
|
update-gradle-wrapper:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
- uses: actions/setup-java@v5
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
name: Use JDK 21
|
name: Use JDK 21
|
||||||
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
|
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
|
||||||
with:
|
with:
|
||||||
|
|
|
||||||
20
.github/workflows/maestro-local.yml
vendored
20
.github/workflows/maestro-local.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -36,18 +38,19 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.ref }}
|
ref: ${{ github.ref }}
|
||||||
- uses: actions/setup-java@v5
|
persist-credentials: false
|
||||||
|
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
name: Use JDK 21
|
name: Use JDK 21
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Assemble debug APK
|
- name: Assemble debug APK
|
||||||
|
|
@ -57,7 +60,7 @@ jobs:
|
||||||
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_LIGHT_MAP_ID: ${{ secrets.MAPTILER_LIGHT_MAP_ID }}
|
||||||
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
||||||
- name: Upload APK as artifact
|
- name: Upload APK as artifact
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-apk-maestro
|
name: elementx-apk-maestro
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -75,14 +78,15 @@ jobs:
|
||||||
concurrency:
|
concurrency:
|
||||||
group: maestro-test
|
group: maestro-test
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
|
if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch'
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.ref }}
|
ref: ${{ github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Download APK artifact from previous job
|
- name: Download APK artifact from previous job
|
||||||
uses: actions/download-artifact@v8
|
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-apk-maestro
|
name: elementx-apk-maestro
|
||||||
- name: Enable KVM group perms
|
- name: Enable KVM group perms
|
||||||
|
|
@ -94,7 +98,7 @@ jobs:
|
||||||
run: curl -fsSL "https://get.maestro.mobile.dev" | bash
|
run: curl -fsSL "https://get.maestro.mobile.dev" | bash
|
||||||
- name: Run Maestro tests in emulator
|
- name: Run Maestro tests in emulator
|
||||||
id: maestro_test
|
id: maestro_test
|
||||||
uses: reactivecircus/android-emulator-runner@v2
|
uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # v2.35.0
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
MAESTRO_USERNAME: maestroelement
|
MAESTRO_USERNAME: maestroelement
|
||||||
|
|
@ -115,7 +119,7 @@ jobs:
|
||||||
script: |
|
script: |
|
||||||
.github/workflows/scripts/maestro/maestro-local-with-screen-recording.sh app-gplay-x86_64-debug.apk
|
.github/workflows/scripts/maestro/maestro-local-with-screen-recording.sh app-gplay-x86_64-debug.apk
|
||||||
- name: Upload test results
|
- name: Upload test results
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: test-results
|
name: test-results
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
8
.github/workflows/nightly.yml
vendored
8
.github/workflows/nightly.yml
vendored
|
|
@ -6,6 +6,8 @@ on:
|
||||||
# Every nights at 4
|
# Every nights at 4
|
||||||
- cron: "0 4 * * *"
|
- cron: "0 4 * * *"
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache
|
CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache
|
||||||
|
|
@ -30,9 +32,11 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
|
|
|
||||||
18
.github/workflows/nightlyReports.yml
vendored
18
.github/workflows/nightlyReports.yml
vendored
|
|
@ -6,6 +6,8 @@ on:
|
||||||
# Every nights at 5
|
# Every nights at 5
|
||||||
- cron: "0 5 * * *"
|
- cron: "0 5 * * *"
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -35,13 +37,13 @@ jobs:
|
||||||
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
|
uses: nschloe/action-cached-lfs-checkout@f46300cd8952454b9f0a21a3d133d4bd5684cfc2 # v1.2.3
|
||||||
|
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
|
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: false
|
cache-read-only: false
|
||||||
|
|
||||||
|
|
@ -56,7 +58,7 @@ jobs:
|
||||||
|
|
||||||
- name: ✅ Upload kover report
|
- name: ✅ Upload kover report
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: kover-results
|
name: kover-results
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -74,21 +76,23 @@ jobs:
|
||||||
name: Dependency analysis
|
name: Dependency analysis
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Dependency analysis
|
- name: Dependency analysis
|
||||||
run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload dependency analysis
|
- name: Upload dependency analysis
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: dependency-analysis
|
name: dependency-analysis
|
||||||
path: build/reports/dependency-check-report.html
|
path: build/reports/dependency-check-report.html
|
||||||
|
|
|
||||||
4
.github/workflows/post-release.yml
vendored
4
.github/workflows/post-release.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
post-release:
|
post-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -13,7 +15,7 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Trigger pipeline
|
- name: Trigger pipeline
|
||||||
uses: actions/github-script@v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.ENTERPRISE_ACTIONS_TOKEN }}
|
github-token: ${{ secrets.ENTERPRISE_ACTIONS_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
|
|
|
||||||
10
.github/workflows/pull_request.yml
vendored
10
.github/workflows/pull_request.yml
vendored
|
|
@ -2,11 +2,13 @@ name: Pull Request
|
||||||
on:
|
on:
|
||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: [ opened, edited, labeled, unlabeled, synchronize ]
|
types: [ opened, edited, labeled, unlabeled, synchronize ]
|
||||||
workflow_call:
|
workflow_call: # zizmor: ignore[dangerous-triggers]
|
||||||
secrets:
|
secrets:
|
||||||
ELEMENT_BOT_TOKEN:
|
ELEMENT_BOT_TOKEN:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prevent-blocked:
|
prevent-blocked:
|
||||||
name: Prevent blocked
|
name: Prevent blocked
|
||||||
|
|
@ -15,7 +17,7 @@ jobs:
|
||||||
pull-requests: read
|
pull-requests: read
|
||||||
steps:
|
steps:
|
||||||
- name: Add notice
|
- name: Add notice
|
||||||
uses: actions/github-script@v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'X-Blocked')
|
if: contains(github.event.pull_request.labels.*.name, 'X-Blocked')
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
|
|
@ -39,7 +41,7 @@ jobs:
|
||||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN_READ_ORG }}
|
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN_READ_ORG }}
|
||||||
- name: Add label
|
- name: Add label
|
||||||
if: steps.teams.outputs.isTeamMember == 'false'
|
if: steps.teams.outputs.isTeamMember == 'false'
|
||||||
uses: actions/github-script@v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.addLabels({
|
github.rest.issues.addLabels({
|
||||||
|
|
@ -58,7 +60,7 @@ jobs:
|
||||||
github.event.pull_request.head.repo.full_name != github.repository
|
github.event.pull_request.head.repo.full_name != github.repository
|
||||||
steps:
|
steps:
|
||||||
- name: Close pull request
|
- name: Close pull request
|
||||||
uses: actions/github-script@v8
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.issues.createComment({
|
github.rest.issues.createComment({
|
||||||
|
|
|
||||||
94
.github/workflows/quality.yml
vendored
94
.github/workflows/quality.yml
vendored
|
|
@ -7,6 +7,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ main, develop ]
|
branches: [ main, develop ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -31,7 +33,9 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -47,9 +51,11 @@ jobs:
|
||||||
name: Search for invalid screenshot files
|
name: Search for invalid screenshot files
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
- name: Search for invalid screenshot files
|
- name: Search for invalid screenshot files
|
||||||
|
|
@ -59,18 +65,20 @@ jobs:
|
||||||
name: Search for invalid dependencies
|
name: Search for invalid dependencies
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
- name: Search for invalid dependencies
|
- name: Search for invalid dependencies
|
||||||
|
|
@ -85,11 +93,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-konsist-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-konsist-develop-{0}', github.sha) || format('check-konsist-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-konsist-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-konsist-develop-{0}', github.sha) || format('check-konsist-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -99,19 +108,19 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Run Konsist tests
|
- name: Run Konsist tests
|
||||||
run: ./gradlew :tests:konsist:testDebugUnitTest $CI_GRADLE_ARG_PROPERTIES --no-daemon
|
run: ./gradlew :tests:konsist:testDebugUnitTest $CI_GRADLE_ARG_PROPERTIES --no-daemon
|
||||||
- name: Upload reports
|
- name: Upload reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: konsist-report
|
name: konsist-report
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -125,11 +134,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-compose-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-compose-develop-{0}', github.sha) || format('check-compose-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-compose-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-compose-develop-{0}', github.sha) || format('check-compose-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -139,12 +149,12 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Run compose tests
|
- name: Run compose tests
|
||||||
|
|
@ -158,11 +168,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-lint-develop-{0}', github.sha) || format('check-lint-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-lint-develop-{0}', github.sha) || format('check-lint-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -172,12 +183,12 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Build Gplay Debug
|
- name: Build Gplay Debug
|
||||||
|
|
@ -188,7 +199,7 @@ jobs:
|
||||||
run: ./gradlew :app:lintGplayDebug :app:lintFdroidDebug lintDebug $CI_GRADLE_ARG_PROPERTIES --continue
|
run: ./gradlew :app:lintGplayDebug :app:lintFdroidDebug lintDebug $CI_GRADLE_ARG_PROPERTIES --continue
|
||||||
- name: Upload reports
|
- name: Upload reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: linting-report
|
name: linting-report
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -202,11 +213,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-detekt-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-detekt-develop-{0}', github.sha) || format('check-detekt-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-detekt-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-detekt-develop-{0}', github.sha) || format('check-detekt-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -216,19 +228,19 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Run Detekt
|
- name: Run Detekt
|
||||||
run: ./gradlew detekt $CI_GRADLE_ARG_PROPERTIES --no-daemon
|
run: ./gradlew detekt $CI_GRADLE_ARG_PROPERTIES --no-daemon
|
||||||
- name: Upload reports
|
- name: Upload reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: detekt-report
|
name: detekt-report
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -242,11 +254,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-ktlint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-ktlint-develop-{0}', github.sha) || format('check-ktlint-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-ktlint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-ktlint-develop-{0}', github.sha) || format('check-ktlint-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -256,19 +269,19 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Run Ktlint check
|
- name: Run Ktlint check
|
||||||
run: ./gradlew ktlintCheck $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew ktlintCheck $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload reports
|
- name: Upload reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: ktlint-report
|
name: ktlint-report
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -282,11 +295,12 @@ jobs:
|
||||||
group: ${{ github.ref == 'refs/heads/main' && format('check-knit-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-knit-develop-{0}', github.sha) || format('check-knit-{0}', github.ref) }}
|
group: ${{ github.ref == 'refs/heads/main' && format('check-knit-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-knit-develop-{0}', github.sha) || format('check-knit-{0}', github.ref) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -296,12 +310,12 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Run Knit
|
- name: Run Knit
|
||||||
|
|
@ -313,25 +327,39 @@ jobs:
|
||||||
name: Check shell scripts
|
name: Check shell scripts
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Run shellcheck
|
- name: Run shellcheck
|
||||||
uses: ludeeus/action-shellcheck@2.0.0
|
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38 # v2.0.0
|
||||||
with:
|
with:
|
||||||
severity: warning
|
severity: warning
|
||||||
|
|
||||||
|
zizmor:
|
||||||
|
name: Run zizmor
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
security-events: write # Required for upload-sarif (used by zizmor-action) to upload SARIF files.
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
- uses: zizmorcore/zizmor-action@71321a20a9ded102f6e9ce5718a2fcec2c4f70d8 # v0.5.2
|
||||||
|
|
||||||
upload_reports:
|
upload_reports:
|
||||||
name: Project Check Suite
|
name: Project Check Suite
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [konsist, lint, ktlint, detekt]
|
needs: [konsist, lint, ktlint, detekt]
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Download reports from previous jobs
|
- name: Download reports from previous jobs
|
||||||
uses: actions/download-artifact@v8
|
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||||
- name: Prepare Danger
|
- name: Prepare Danger
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
6
.github/workflows/recordScreenshots.yml
vendored
6
.github/workflows/recordScreenshots.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [ labeled ]
|
types: [ labeled ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true
|
||||||
|
|
@ -48,13 +50,13 @@ jobs:
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: ☕️ Use JDK 21
|
- name: ☕️ Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
# Add gradle cache, this should speed up the process
|
# Add gradle cache, this should speed up the process
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Record screenshots
|
- name: Record screenshots
|
||||||
|
|
|
||||||
32
.github/workflows/release.yml
vendored
32
.github/workflows/release.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -32,14 +34,16 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
- name: Create app bundle
|
- name: Create app bundle
|
||||||
env:
|
env:
|
||||||
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
||||||
|
|
@ -53,7 +57,7 @@ jobs:
|
||||||
ELEMENT_CALL_RAGESHAKE_URL: ${{ secrets.ELEMENT_CALL_RAGESHAKE_URL }}
|
ELEMENT_CALL_RAGESHAKE_URL: ${{ secrets.ELEMENT_CALL_RAGESHAKE_URL }}
|
||||||
run: ./gradlew bundleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew bundleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload bundle as artifact
|
- name: Upload bundle as artifact
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-app-gplay-bundle-unsigned
|
name: elementx-app-gplay-bundle-unsigned
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -67,7 +71,9 @@ jobs:
|
||||||
group: ${{ format('build-release-main-enterprise-{0}', github.sha) }}
|
group: ${{ format('build-release-main-enterprise-{0}', github.sha) }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Add SSH private keys for submodule repositories
|
- name: Add SSH private keys for submodule repositories
|
||||||
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
|
|
@ -76,12 +82,12 @@ jobs:
|
||||||
- name: Clone submodules
|
- name: Clone submodules
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
- name: Create Enterprise app bundle
|
- name: Create Enterprise app bundle
|
||||||
env:
|
env:
|
||||||
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
||||||
|
|
@ -89,7 +95,7 @@ jobs:
|
||||||
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
||||||
run: ./gradlew bundleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew bundleGplayRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload bundle as artifact
|
- name: Upload bundle as artifact
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-enterprise-app-gplay-bundle-unsigned
|
name: elementx-enterprise-app-gplay-bundle-unsigned
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -116,14 +122,16 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
- name: Create APKs
|
- name: Create APKs
|
||||||
env:
|
env:
|
||||||
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
|
||||||
|
|
@ -131,7 +139,7 @@ jobs:
|
||||||
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
ELEMENT_ANDROID_MAPTILER_DARK_MAP_ID: ${{ secrets.MAPTILER_DARK_MAP_ID }}
|
||||||
run: ./gradlew assembleFdroidRelease $CI_GRADLE_ARG_PROPERTIES
|
run: ./gradlew assembleFdroidRelease $CI_GRADLE_ARG_PROPERTIES
|
||||||
- name: Upload apks as artifact
|
- name: Upload apks as artifact
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: elementx-app-fdroid-apks-unsigned
|
name: elementx-app-fdroid-apks-unsigned
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
9
.github/workflows/sonar.yml
vendored
9
.github/workflows/sonar.yml
vendored
|
|
@ -7,6 +7,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ main, develop ]
|
branches: [ main, develop ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g
|
||||||
|
|
@ -36,18 +38,19 @@ jobs:
|
||||||
docker-images: true
|
docker-images: true
|
||||||
swap-storage: false
|
swap-storage: false
|
||||||
|
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
with:
|
with:
|
||||||
# Ensure we are building the branch and not the branch after being merged on develop
|
# Ensure we are building the branch and not the branch after being merged on develop
|
||||||
# https://github.com/actions/checkout/issues/881
|
# https://github.com/actions/checkout/issues/881
|
||||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Build debug code and test fixtures
|
- name: Build debug code and test fixtures
|
||||||
|
|
|
||||||
4
.github/workflows/stale-issues.yml
vendored
4
.github/workflows/stale-issues.yml
vendored
|
|
@ -4,13 +4,15 @@ on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "30 1 * * *"
|
- cron: "30 1 * * *"
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v10
|
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
|
||||||
with:
|
with:
|
||||||
only-labels: "X-Needs-Info"
|
only-labels: "X-Needs-Info"
|
||||||
days-before-issue-stale: 30
|
days-before-issue-stale: 30
|
||||||
|
|
|
||||||
12
.github/workflows/sync-localazy.yml
vendored
12
.github/workflows/sync-localazy.yml
vendored
|
|
@ -5,24 +5,28 @@ on:
|
||||||
# At 00:00 on every Monday UTC
|
# At 00:00 on every Monday UTC
|
||||||
- cron: '0 0 * * 1'
|
- cron: '0 0 * * 1'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync-localazy:
|
sync-localazy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Skip in forks
|
# Skip in forks
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Use JDK 21
|
- name: Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
- name: Setup Localazy
|
- name: Setup Localazy
|
||||||
|
|
|
||||||
8
.github/workflows/sync-sas-strings.yml
vendored
8
.github/workflows/sync-sas-strings.yml
vendored
|
|
@ -5,6 +5,8 @@ on:
|
||||||
# At 00:00 on every Monday UTC
|
# At 00:00 on every Monday UTC
|
||||||
- cron: '0 0 * * 1'
|
- cron: '0 0 * * 1'
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync-sas-strings:
|
sync-sas-strings:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -12,9 +14,11 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
# No concurrency required, runs every time on a schedule.
|
# No concurrency required, runs every time on a schedule.
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
- name: Install Prerequisite dependencies
|
- name: Install Prerequisite dependencies
|
||||||
|
|
|
||||||
10
.github/workflows/tests.yml
vendored
10
.github/workflows/tests.yml
vendored
|
|
@ -7,6 +7,8 @@ on:
|
||||||
push:
|
push:
|
||||||
branches: [ main, develop ]
|
branches: [ main, develop ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
# Enrich gradle.properties for CI/CD
|
# Enrich gradle.properties for CI/CD
|
||||||
env:
|
env:
|
||||||
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC
|
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC
|
||||||
|
|
@ -61,12 +63,12 @@ jobs:
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }}
|
||||||
run: git submodule update --init --recursive
|
run: git submodule update --init --recursive
|
||||||
- name: ☕️ Use JDK 21
|
- name: ☕️ Use JDK 21
|
||||||
uses: actions/setup-java@v5
|
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin' # See 'Supported distributions' for available options
|
distribution: 'temurin' # See 'Supported distributions' for available options
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Configure gradle
|
- name: Configure gradle
|
||||||
uses: gradle/actions/setup-gradle@v5
|
uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
|
||||||
with:
|
with:
|
||||||
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
|
||||||
|
|
||||||
|
|
@ -75,7 +77,7 @@ jobs:
|
||||||
|
|
||||||
- name: 🚫 Upload kover failed coverage reports
|
- name: 🚫 Upload kover failed coverage reports
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: kover-error-report
|
name: kover-error-report
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -87,7 +89,7 @@ jobs:
|
||||||
|
|
||||||
- name: 🚫 Upload test results on error
|
- name: 🚫 Upload test results on error
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||||
with:
|
with:
|
||||||
name: tests-and-screenshot-tests-results
|
name: tests-and-screenshot-tests-results
|
||||||
path: |
|
path: |
|
||||||
|
|
|
||||||
4
.github/workflows/triage-incoming.yml
vendored
4
.github/workflows/triage-incoming.yml
vendored
|
|
@ -4,11 +4,13 @@ on:
|
||||||
issues:
|
issues:
|
||||||
types: [ opened ]
|
types: [ opened ]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage-new-issues:
|
triage-new-issues:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/91
|
project-url: https://github.com/orgs/element-hq/projects/91
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
|
||||||
18
.github/workflows/triage-labelled.yml
vendored
18
.github/workflows/triage-labelled.yml
vendored
|
|
@ -4,6 +4,8 @@ on:
|
||||||
issues:
|
issues:
|
||||||
types: [labeled]
|
types: [labeled]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
move_element_x_issues:
|
move_element_x_issues:
|
||||||
name: ElementX issues to ElementX project board
|
name: ElementX issues to ElementX project board
|
||||||
|
|
@ -12,7 +14,7 @@ jobs:
|
||||||
if: >
|
if: >
|
||||||
github.repository == 'element-hq/element-x-android'
|
github.repository == 'element-hq/element-x-android'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/43
|
project-url: https://github.com/orgs/element-hq/projects/43
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
@ -21,14 +23,16 @@ jobs:
|
||||||
name: Move triaged needs info issues on board
|
name: Move triaged needs info issues on board
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
id: addItem
|
id: addItem
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/91
|
project-url: https://github.com/orgs/element-hq/projects/91
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
labeled: X-Needs-Info
|
labeled: X-Needs-Info
|
||||||
- name: Print itemId
|
- name: Print itemId
|
||||||
run: echo ${{ steps.addItem.outputs.itemId }}
|
run: echo ${STEPS_ADDITEM_OUTPUTS_ITEMID}
|
||||||
|
env:
|
||||||
|
STEPS_ADDITEM_OUTPUTS_ITEMID: ${{ steps.addItem.outputs.itemId }}
|
||||||
- uses: kalgurn/update-project-item-status@31e54df46a2cdaef4f85c31ac839fbcd2fd7c3a2 # 0.0.3
|
- uses: kalgurn/update-project-item-status@31e54df46a2cdaef4f85c31ac839fbcd2fd7c3a2 # 0.0.3
|
||||||
if: ${{ steps.addItem.outputs.itemId }}
|
if: ${{ steps.addItem.outputs.itemId }}
|
||||||
with:
|
with:
|
||||||
|
|
@ -43,7 +47,7 @@ jobs:
|
||||||
if: >
|
if: >
|
||||||
contains(github.event.issue.labels.*.name, 'Team: Element X Feature')
|
contains(github.event.issue.labels.*.name, 'Team: Element X Feature')
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/73
|
project-url: https://github.com/orgs/element-hq/projects/73
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
@ -54,7 +58,7 @@ jobs:
|
||||||
if: >
|
if: >
|
||||||
contains(github.event.issue.labels.*.name, 'Team: Verticals Feature')
|
contains(github.event.issue.labels.*.name, 'Team: Verticals Feature')
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/57
|
project-url: https://github.com/orgs/element-hq/projects/57
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
@ -66,7 +70,7 @@ jobs:
|
||||||
contains(github.event.issue.labels.*.name, 'Team: QA') ||
|
contains(github.event.issue.labels.*.name, 'Team: QA') ||
|
||||||
contains(github.event.issue.labels.*.name, 'X-Needs-Signoff')
|
contains(github.event.issue.labels.*.name, 'X-Needs-Signoff')
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/69
|
project-url: https://github.com/orgs/element-hq/projects/69
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
@ -77,7 +81,7 @@ jobs:
|
||||||
if: >
|
if: >
|
||||||
contains(github.event.issue.labels.*.name, 'X-Needs-Signoff')
|
contains(github.event.issue.labels.*.name, 'X-Needs-Signoff')
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v1.0.2
|
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/element-hq/projects/89
|
project-url: https://github.com/orgs/element-hq/projects/89
|
||||||
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||||
|
|
|
||||||
2
.github/workflows/validate-lfs.yml
vendored
2
.github/workflows/validate-lfs.yml
vendored
|
|
@ -2,6 +2,8 @@ name: Validate Git LFS
|
||||||
|
|
||||||
on: [pull_request, merge_group]
|
on: [pull_request, merge_group]
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
||||||
53
CHANGES.md
53
CHANGES.md
|
|
@ -1,3 +1,56 @@
|
||||||
|
Changes in Element X v26.03.2
|
||||||
|
=============================
|
||||||
|
|
||||||
|
## Hotfix release
|
||||||
|
|
||||||
|
This release is out of our normal release cycle because we detected an important issue that could happen when instantiating the cryptographic DB and would result in the room sync not working.
|
||||||
|
|
||||||
|
## What's Changed
|
||||||
|
### 🙌 Improvements
|
||||||
|
* Floating toolbar by @bmarty in https://github.com/element-hq/element-x-android/pull/6147
|
||||||
|
### 🐛 Bugfixes
|
||||||
|
* Ensure that redacted event from encrypted room does not trigger a fallback notification by @bmarty in https://github.com/element-hq/element-x-android/pull/6241
|
||||||
|
* Add `MediaSource.safeUrl` for removing invalid fragment part from URLs by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6035
|
||||||
|
### 🗣 Translations
|
||||||
|
* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/6269
|
||||||
|
### 🧱 Build
|
||||||
|
* Fix nightly CI issues by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6263
|
||||||
|
* CI: Add failed tests to summary by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6271
|
||||||
|
* Make 'room list catch-up' analytics transaction network aware by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6233
|
||||||
|
* Adjust the build-rust-sdk script to allow non-interactive use by @andybalaam in https://github.com/element-hq/element-x-android/pull/6281
|
||||||
|
### Dependency upgrades
|
||||||
|
* Update metro to v0.11.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6245
|
||||||
|
* Update dependency com.posthog:posthog-android to v3.34.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6251
|
||||||
|
* Update metro to v0.11.1 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6255
|
||||||
|
* Update coil to v3.4.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6243
|
||||||
|
* Update dependency io.element.android:element-call-embedded to v0.17.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6244
|
||||||
|
* Update dependency com.posthog:posthog-android to v3.34.2 - autoclosed by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6254
|
||||||
|
* Update dependencyAnalysis to v3.6.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6256
|
||||||
|
* Update GitHub Artifact Actions (major) by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6260
|
||||||
|
* Update dependency com.google.firebase:firebase-bom to v34.10.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6262
|
||||||
|
* Update dependency androidx.compose:compose-bom to v2026.02.01 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6267
|
||||||
|
* Update dependency com.posthog:posthog-android to v3.34.3 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6272
|
||||||
|
* Update metro to v0.11.2 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6270
|
||||||
|
* Update dependencyAnalysis to v3.6.1 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6259
|
||||||
|
* Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v6.10.1 by @bmarty in https://github.com/element-hq/element-x-android/pull/6273
|
||||||
|
* Update dependency io.sentry:sentry-android to v8.34.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6280
|
||||||
|
* Update dependency org.matrix.rustcomponents:sdk-android to v26.03.4 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6282
|
||||||
|
* Update dependency org.matrix.rustcomponents:sdk-android to v26.03.05 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6287
|
||||||
|
* Update plugin ktlint to v14.1.0 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6288
|
||||||
|
* Update dependency org.unifiedpush.android:connector to v3.3.2 by @renovate[bot] in https://github.com/element-hq/element-x-android/pull/6285
|
||||||
|
### Others
|
||||||
|
* Add some DB optimizations by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6249
|
||||||
|
* Check if network access if blocked when fetching notifications by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6247
|
||||||
|
* Bottom bar iteration by @bmarty in https://github.com/element-hq/element-x-android/pull/6264
|
||||||
|
* Use `ShareIntentHandler` early to avoid distributing the whole intent by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6274
|
||||||
|
* Simplify push notification flow by using locally stored values for pending pushes by @jmartinesp in https://github.com/element-hq/element-x-android/pull/6258
|
||||||
|
* Fix typed text becoming invisible when composing long messages by @timurgilfanov in https://github.com/element-hq/element-x-android/pull/6284
|
||||||
|
|
||||||
|
## New Contributors
|
||||||
|
* @timurgilfanov made their first contribution in https://github.com/element-hq/element-x-android/pull/6284
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/element-hq/element-x-android/compare/v26.03.0...v26.03.2
|
||||||
|
|
||||||
Changes in Element X v26.03.0
|
Changes in Element X v26.03.0
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.lifecycle.repeatOnLifecycle
|
import androidx.lifecycle.repeatOnLifecycle
|
||||||
import com.bumble.appyx.core.integration.NodeHost
|
|
||||||
import com.bumble.appyx.core.integrationpoint.NodeActivity
|
import com.bumble.appyx.core.integrationpoint.NodeActivity
|
||||||
import com.bumble.appyx.core.plugin.NodeReadyObserver
|
import com.bumble.appyx.core.plugin.NodeReadyObserver
|
||||||
import io.element.android.compound.colors.SemanticColorsLightDark
|
import io.element.android.compound.colors.SemanticColorsLightDark
|
||||||
|
|
@ -35,6 +34,7 @@ import io.element.android.features.lockscreen.api.LockScreenEntryPoint
|
||||||
import io.element.android.features.lockscreen.api.LockScreenLockState
|
import io.element.android.features.lockscreen.api.LockScreenLockState
|
||||||
import io.element.android.features.lockscreen.api.LockScreenService
|
import io.element.android.features.lockscreen.api.LockScreenService
|
||||||
import io.element.android.features.lockscreen.api.handleSecureFlag
|
import io.element.android.features.lockscreen.api.handleSecureFlag
|
||||||
|
import io.element.android.libraries.architecture.appyx.DebugNavStateNodeHost
|
||||||
import io.element.android.libraries.architecture.bindings
|
import io.element.android.libraries.architecture.bindings
|
||||||
import io.element.android.libraries.core.log.logger.LoggerTag
|
import io.element.android.libraries.core.log.logger.LoggerTag
|
||||||
import io.element.android.libraries.designsystem.theme.ElementThemeApp
|
import io.element.android.libraries.designsystem.theme.ElementThemeApp
|
||||||
|
|
@ -100,7 +100,9 @@ class MainActivity : NodeActivity() {
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun MainNodeHost() {
|
private fun MainNodeHost() {
|
||||||
NodeHost(integrationPoint = appyxV1IntegrationPoint) {
|
// TODO this is a temporary helper to capture the nav state in a more readable format for crash reports
|
||||||
|
// Revert to `NodeHost` once this is fixed
|
||||||
|
DebugNavStateNodeHost(integrationPoint = appyxV1IntegrationPoint) {
|
||||||
MainNode(
|
MainNode(
|
||||||
it,
|
it,
|
||||||
plugins = listOf(
|
plugins = listOf(
|
||||||
|
|
@ -110,7 +112,7 @@ class MainActivity : NodeActivity() {
|
||||||
mainNode = node
|
mainNode = node
|
||||||
mainNode.handleIntent(intent)
|
mainNode.handleIntent(intent)
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
),
|
),
|
||||||
context = applicationContext
|
context = applicationContext
|
||||||
)
|
)
|
||||||
|
|
|
||||||
2
fastlane/metadata/android/en-US/changelogs/202603020.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/202603020.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
Main changes in this version: fixed an issue that could cause a crash when instantiating the cryptographic database.
|
||||||
|
Full changelog: https://github.com/element-hq/element-x-android/releases
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<string name="screen_create_room_action_create_room">"Naujas kambarys"</string>
|
<string name="screen_create_room_action_create_room">"Naujas kambarys"</string>
|
||||||
<string name="screen_create_room_add_people_title">"Pakviesti žmonių"</string>
|
<string name="screen_create_room_add_people_title">"Pakviesti žmonių"</string>
|
||||||
<string name="screen_create_room_error_creating_room">"Kuriant kambarį įvyko klaida"</string>
|
<string name="screen_create_room_error_creating_room">"Kuriant kambarį įvyko klaida"</string>
|
||||||
<string name="screen_create_room_private_option_description">"Į šį kambarį gali patekti tik pakviesti žmonės. Visi pranešimai yra užšifruoti nuo pradžios iki galo."</string>
|
<string name="screen_create_room_private_option_description">"Tik visapusiškai pakviestieji asmenys gali jungtis."</string>
|
||||||
<string name="screen_create_room_public_option_description">"Bet kas gali rasti šį kambarį.
|
<string name="screen_create_room_public_option_description">"Bet kas gali rasti šį kambarį.
|
||||||
Tai galite bet kada pakeisti kambario nustatymuose."</string>
|
Tai galite bet kada pakeisti kambario nustatymuose."</string>
|
||||||
<string name="screen_create_room_topic_label">"Tema (nebūtina)"</string>
|
<string name="screen_create_room_topic_label">"Tema (nebūtina)"</string>
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ Du kan endre dette når som helst i rominnstillingene."</string>
|
||||||
<string name="screen_create_room_public_option_title">"Offentlig"</string>
|
<string name="screen_create_room_public_option_title">"Offentlig"</string>
|
||||||
<string name="screen_create_room_room_access_section_knocking_option_description">"Alle kan be om å få bli med, men en administrator eller moderator må godta forespørselen."</string>
|
<string name="screen_create_room_room_access_section_knocking_option_description">"Alle kan be om å få bli med, men en administrator eller moderator må godta forespørselen."</string>
|
||||||
<string name="screen_create_room_room_access_section_knocking_option_title">"Be om å bli med"</string>
|
<string name="screen_create_room_room_access_section_knocking_option_title">"Be om å bli med"</string>
|
||||||
|
<string name="screen_create_room_room_access_section_knocking_restricted_option_description">"Alle i %1$s kan bli med, mens alle andre må be om tilgang."</string>
|
||||||
<string name="screen_create_room_room_access_section_knocking_restricted_option_title">"Be om å få bli med"</string>
|
<string name="screen_create_room_room_access_section_knocking_restricted_option_title">"Be om å få bli med"</string>
|
||||||
<string name="screen_create_room_room_access_section_private_option_description">"Bare inviterte personer kan bli med."</string>
|
<string name="screen_create_room_room_access_section_private_option_description">"Bare inviterte personer kan bli med."</string>
|
||||||
<string name="screen_create_room_room_access_section_private_option_title">"Privat"</string>
|
<string name="screen_create_room_room_access_section_private_option_title">"Privat"</string>
|
||||||
|
|
@ -27,6 +28,7 @@ Du kan endre dette når som helst i rominnstillingene."</string>
|
||||||
<string name="screen_create_room_room_address_section_title">"Adresse"</string>
|
<string name="screen_create_room_room_address_section_title">"Adresse"</string>
|
||||||
<string name="screen_create_room_room_visibility_section_title">"Romsynlighet"</string>
|
<string name="screen_create_room_room_visibility_section_title">"Romsynlighet"</string>
|
||||||
<string name="screen_create_room_space_selection_no_space_description">"(ingen område)"</string>
|
<string name="screen_create_room_space_selection_no_space_description">"(ingen område)"</string>
|
||||||
|
<string name="screen_create_room_space_selection_no_space_option">"Skal ikke legges til et område"</string>
|
||||||
<string name="screen_create_room_space_selection_no_space_title">"Ingen områder valgt"</string>
|
<string name="screen_create_room_space_selection_no_space_title">"Ingen områder valgt"</string>
|
||||||
<string name="screen_create_room_space_selection_sheet_title">"Legg til området"</string>
|
<string name="screen_create_room_space_selection_sheet_title">"Legg til området"</string>
|
||||||
<string name="screen_create_room_topic_label">"Emne (valgfritt)"</string>
|
<string name="screen_create_room_topic_label">"Emne (valgfritt)"</string>
|
||||||
|
|
|
||||||
|
|
@ -12,5 +12,5 @@
|
||||||
<string name="screen_identity_waiting_on_other_device">"Odotetaan toista laitetta…"</string>
|
<string name="screen_identity_waiting_on_other_device">"Odotetaan toista laitetta…"</string>
|
||||||
<string name="screen_notification_optin_subtitle">"Voit muuttaa asetuksia myöhemmin."</string>
|
<string name="screen_notification_optin_subtitle">"Voit muuttaa asetuksia myöhemmin."</string>
|
||||||
<string name="screen_notification_optin_title">"Salli ilmoitukset ja älä koskaan missaa viestejä"</string>
|
<string name="screen_notification_optin_title">"Salli ilmoitukset ja älä koskaan missaa viestejä"</string>
|
||||||
<string name="screen_session_verification_enter_recovery_key">"Syötä palautusavain"</string>
|
<string name="screen_session_verification_enter_recovery_key">"Anna palautusavain"</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<string name="banner_set_up_recovery_submit">"Ota palautus käyttöön"</string>
|
<string name="banner_set_up_recovery_submit">"Ota palautus käyttöön"</string>
|
||||||
<string name="banner_set_up_recovery_title">"Ota palautus käyttöön tilisi suojaamiseksi"</string>
|
<string name="banner_set_up_recovery_title">"Ota palautus käyttöön tilisi suojaamiseksi"</string>
|
||||||
<string name="confirm_recovery_key_banner_message">"Vahvista palautusavaimesi, jotta pääset edelleen käyttämään avainten säilytystä ja viestihistoriaa."</string>
|
<string name="confirm_recovery_key_banner_message">"Vahvista palautusavaimesi, jotta pääset edelleen käyttämään avainten säilytystä ja viestihistoriaa."</string>
|
||||||
<string name="confirm_recovery_key_banner_primary_button_title">"Syötä palautusavaimesi"</string>
|
<string name="confirm_recovery_key_banner_primary_button_title">"Anna palautusavaimesi"</string>
|
||||||
<string name="confirm_recovery_key_banner_secondary_button_title">"Unohditko palautusavaimesi?"</string>
|
<string name="confirm_recovery_key_banner_secondary_button_title">"Unohditko palautusavaimesi?"</string>
|
||||||
<string name="confirm_recovery_key_banner_title">"Avainten säilytys ei ole synkronoitu"</string>
|
<string name="confirm_recovery_key_banner_title">"Avainten säilytys ei ole synkronoitu"</string>
|
||||||
<string name="full_screen_intent_banner_message">"Salli koko näytön ilmoitukset, kun laite on lukittu, jos et halua koskaan missata tärkeää puhelua."</string>
|
<string name="full_screen_intent_banner_message">"Salli koko näytön ilmoitukset, kun laite on lukittu, jos et halua koskaan missata tärkeää puhelua."</string>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_join_room_ban_by_message">"Du bannades av %1$s."</string>
|
<string name="screen_join_room_ban_by_message">"Du bannades av %1$s."</string>
|
||||||
<string name="screen_join_room_ban_message">"Du bannades från det här rummet"</string>
|
<string name="screen_join_room_ban_message">"Du bannades"</string>
|
||||||
<string name="screen_join_room_ban_reason">"Anledning: %1$s."</string>
|
<string name="screen_join_room_ban_reason">"Anledning: %1$s."</string>
|
||||||
<string name="screen_join_room_cancel_knock_action">"Avbryt begäran"</string>
|
<string name="screen_join_room_cancel_knock_action">"Avbryt begäran"</string>
|
||||||
<string name="screen_join_room_cancel_knock_alert_confirmation">"Ja, avbryt"</string>
|
<string name="screen_join_room_cancel_knock_alert_confirmation">"Ja, avbryt"</string>
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<string name="screen_join_room_decline_and_block_alert_title">"Avvisa inbjudan och blockera"</string>
|
<string name="screen_join_room_decline_and_block_alert_title">"Avvisa inbjudan och blockera"</string>
|
||||||
<string name="screen_join_room_decline_and_block_button_title">"Avvisa och blockera"</string>
|
<string name="screen_join_room_decline_and_block_button_title">"Avvisa och blockera"</string>
|
||||||
<string name="screen_join_room_fail_message">"Misslyckades att gå med."</string>
|
<string name="screen_join_room_fail_message">"Misslyckades att gå med."</string>
|
||||||
<string name="screen_join_room_fail_reason">"Detta rum är antingen endast för inbjudna eller så kan det finnas begränsningar för åtkomst på utrymmesnivå."</string>
|
<string name="screen_join_room_fail_reason">"Du måste antingen bli inbjuden att gå med eller så kan det finnas åtkomstbegränsningar."</string>
|
||||||
<string name="screen_join_room_forget_action">"Glöm"</string>
|
<string name="screen_join_room_forget_action">"Glöm"</string>
|
||||||
<string name="screen_join_room_invite_required_message">"Du behöver en inbjudan för att gå med"</string>
|
<string name="screen_join_room_invite_required_message">"Du behöver en inbjudan för att gå med"</string>
|
||||||
<string name="screen_join_room_join_action">"Gå med"</string>
|
<string name="screen_join_room_join_action">"Gå med"</string>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<string name="screen_link_new_device_desktop_submit">"Valmis skannaamaan"</string>
|
<string name="screen_link_new_device_desktop_submit">"Valmis skannaamaan"</string>
|
||||||
<string name="screen_link_new_device_desktop_title">"Avaa %1$s pöytätietokoneella saadaksesi QR-koodin"</string>
|
<string name="screen_link_new_device_desktop_title">"Avaa %1$s pöytätietokoneella saadaksesi QR-koodin"</string>
|
||||||
<string name="screen_link_new_device_enter_number_error_numbers_do_not_match">"Numerot eivät täsmää"</string>
|
<string name="screen_link_new_device_enter_number_error_numbers_do_not_match">"Numerot eivät täsmää"</string>
|
||||||
<string name="screen_link_new_device_enter_number_notice">"Syötä 2-numeroinen koodi"</string>
|
<string name="screen_link_new_device_enter_number_notice">"Kirjoita 2-numeroinen koodi"</string>
|
||||||
<string name="screen_link_new_device_enter_number_subtitle">"Tämä varmistaa, että yhteys toiseen laitteeseesi on turvallinen."</string>
|
<string name="screen_link_new_device_enter_number_subtitle">"Tämä varmistaa, että yhteys toiseen laitteeseesi on turvallinen."</string>
|
||||||
<string name="screen_link_new_device_enter_number_title">"Kirjoita toisessa laitteessa näkyvä numero"</string>
|
<string name="screen_link_new_device_enter_number_title">"Kirjoita toisessa laitteessa näkyvä numero"</string>
|
||||||
<string name="screen_link_new_device_error_app_not_supported_subtitle">"Palveluntarjoajasi ei tue %1$s -sovellusta"</string>
|
<string name="screen_link_new_device_error_app_not_supported_subtitle">"Palveluntarjoajasi ei tue %1$s -sovellusta"</string>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<string name="screen_link_new_device_desktop_step1">"%1$s uygulamasını bir dizüstü veya masaüstü bilgisayarda açın"</string>
|
<string name="screen_link_new_device_desktop_step1">"%1$s uygulamasını bir dizüstü veya masaüstü bilgisayarda açın"</string>
|
||||||
<string name="screen_link_new_device_desktop_step3">"QR kodunu bu cihazla tarayın"</string>
|
<string name="screen_link_new_device_desktop_step3">"QR kodunu bu cihazla tarayın"</string>
|
||||||
<string name="screen_link_new_device_desktop_submit">"Taramaya hazır"</string>
|
<string name="screen_link_new_device_desktop_submit">"Taramaya hazır"</string>
|
||||||
<string name="screen_link_new_device_desktop_title">"QR kodu almak için %1$s uygulamasını masaüstü bilgisayarda açın%1$s%1$s"</string>
|
<string name="screen_link_new_device_desktop_title">"QR kodu almak için %1$s uygulamasını masaüstü bilgisayarda açın"</string>
|
||||||
<string name="screen_link_new_device_enter_number_error_numbers_do_not_match">"Sayılar uyuşmuyor"</string>
|
<string name="screen_link_new_device_enter_number_error_numbers_do_not_match">"Sayılar uyuşmuyor"</string>
|
||||||
<string name="screen_link_new_device_enter_number_notice">"2 haneli kodu girin"</string>
|
<string name="screen_link_new_device_enter_number_notice">"2 haneli kodu girin"</string>
|
||||||
<string name="screen_link_new_device_enter_number_subtitle">"Bu işlem, diğer cihazla olan bağlantının güvenli olduğunu doğrular."</string>
|
<string name="screen_link_new_device_enter_number_subtitle">"Bu işlem, diğer cihazla olan bağlantının güvenli olduğunu doğrular."</string>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
<string name="screen_login_error_invalid_user_id">"Tämä ei ole kelvollinen käyttäjätunnus. Odotettu muoto: \'@käyttäjä:kotipalvelin.fi\'"</string>
|
<string name="screen_login_error_invalid_user_id">"Tämä ei ole kelvollinen käyttäjätunnus. Odotettu muoto: \'@käyttäjä:kotipalvelin.fi\'"</string>
|
||||||
<string name="screen_login_error_refresh_tokens">"Tämä palvelin on määritetty käyttämään refresh tokeneja. Näitä ei tueta salasanapohjaisen kirjautumisen kanssa."</string>
|
<string name="screen_login_error_refresh_tokens">"Tämä palvelin on määritetty käyttämään refresh tokeneja. Näitä ei tueta salasanapohjaisen kirjautumisen kanssa."</string>
|
||||||
<string name="screen_login_error_unsupported_authentication">"Valitsemasi kotipalvelin ei tue salasana- tai OIDC-kirjautumista. Ota yhteyttä palvelimesi ylläpitäjään tai valitse toinen kotipalvelin."</string>
|
<string name="screen_login_error_unsupported_authentication">"Valitsemasi kotipalvelin ei tue salasana- tai OIDC-kirjautumista. Ota yhteyttä palvelimesi ylläpitäjään tai valitse toinen kotipalvelin."</string>
|
||||||
<string name="screen_login_form_header">"Syötä tietosi"</string>
|
<string name="screen_login_form_header">"Anna tietosi"</string>
|
||||||
<string name="screen_login_subtitle">"Matrix on avoin verkko turvallista, hajautettua viestintää varten."</string>
|
<string name="screen_login_subtitle">"Matrix on avoin verkko turvallista, hajautettua viestintää varten."</string>
|
||||||
<string name="screen_login_title">"Tervetuloa takaisin!"</string>
|
<string name="screen_login_title">"Tervetuloa takaisin!"</string>
|
||||||
<string name="screen_login_title_with_homeserver">"Kirjaudu sisään %1$s -palvelimelle"</string>
|
<string name="screen_login_title_with_homeserver">"Kirjaudu sisään %1$s -palvelimelle"</string>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_account_provider_change">"Keisti paskyros teikėją"</string>
|
<string name="screen_account_provider_change">"Keisti paskyros teikėją"</string>
|
||||||
|
<string name="screen_account_provider_form_hint">"Pagrindinio serverio adresas"</string>
|
||||||
|
<string name="screen_account_provider_form_notice">"Įveskite paieškos terminą arba domeno adresą."</string>
|
||||||
<string name="screen_account_provider_form_subtitle">"Ieškokite bendrovės, bendruomenės arba privataus serverio."</string>
|
<string name="screen_account_provider_form_subtitle">"Ieškokite bendrovės, bendruomenės arba privataus serverio."</string>
|
||||||
<string name="screen_account_provider_form_title">"Rasti paskyros teikėją"</string>
|
<string name="screen_account_provider_form_title">"Rasti paskyros teikėją"</string>
|
||||||
<string name="screen_account_provider_signin_subtitle">"Čia bus saugomi Jūsų pokalbiai - panašiai kaip el. pašto paslaugų teikėjas saugo Jūsų el. laiškus."</string>
|
<string name="screen_account_provider_signin_subtitle">"Čia bus saugomi Jūsų pokalbiai - panašiai kaip el. pašto paslaugų teikėjas saugo Jūsų el. laiškus."</string>
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,13 @@
|
||||||
<string name="screen_room_attachment_source_camera_video">"Įrašyti vaizdo įrašą"</string>
|
<string name="screen_room_attachment_source_camera_video">"Įrašyti vaizdo įrašą"</string>
|
||||||
<string name="screen_room_attachment_source_files">"Priedas"</string>
|
<string name="screen_room_attachment_source_files">"Priedas"</string>
|
||||||
<string name="screen_room_attachment_source_gallery">"Nuotraukų ir vaizdo įrašų biblioteka"</string>
|
<string name="screen_room_attachment_source_gallery">"Nuotraukų ir vaizdo įrašų biblioteka"</string>
|
||||||
|
<string name="screen_room_invite_again_alert_message">"Ar norėtumėte juos pakviesti atgal?"</string>
|
||||||
|
<string name="screen_room_invite_again_alert_title">"Šiame pokalbyje esate vieni."</string>
|
||||||
|
<string name="screen_room_retry_send_menu_send_again_action">"Siųsti vėl"</string>
|
||||||
|
<string name="screen_room_retry_send_menu_title">"Jūsų žinutė nepavyko išsiųsti."</string>
|
||||||
<string name="screen_room_timeline_beginning_of_room">"Tai yra %1$s pradžia."</string>
|
<string name="screen_room_timeline_beginning_of_room">"Tai yra %1$s pradžia."</string>
|
||||||
<string name="screen_room_timeline_beginning_of_room_no_name">"Tai yra šio pokalbio pradžia."</string>
|
<string name="screen_room_timeline_beginning_of_room_no_name">"Tai yra šio pokalbio pradžia."</string>
|
||||||
|
<string name="screen_room_timeline_no_permission_to_post">"Neturite leidimą skelbti šiame kambaryje."</string>
|
||||||
<string name="screen_room_timeline_read_marker_title">"Naujų"</string>
|
<string name="screen_room_timeline_read_marker_title">"Naujų"</string>
|
||||||
<plurals name="screen_room_timeline_state_changes">
|
<plurals name="screen_room_timeline_state_changes">
|
||||||
<item quantity="one">"%1$d kambario pakeitimas"</item>
|
<item quantity="one">"%1$d kambario pakeitimas"</item>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
package io.element.android.features.rageshake.impl.crash
|
package io.element.android.features.rageshake.impl.crash
|
||||||
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
|
import android.os.TransactionTooLargeException
|
||||||
|
import io.element.android.libraries.architecture.appyx.lastCapturedNavState
|
||||||
import io.element.android.libraries.core.data.tryOrNull
|
import io.element.android.libraries.core.data.tryOrNull
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.io.PrintWriter
|
import java.io.PrintWriter
|
||||||
|
|
@ -61,6 +63,13 @@ class VectorUncaughtExceptionHandler(
|
||||||
val sw = StringWriter()
|
val sw = StringWriter()
|
||||||
val pw = PrintWriter(sw, true)
|
val pw = PrintWriter(sw, true)
|
||||||
throwable.printStackTrace(pw)
|
throwable.printStackTrace(pw)
|
||||||
|
|
||||||
|
if (throwable is RuntimeException && throwable.cause is TransactionTooLargeException) {
|
||||||
|
pw.append('\n')
|
||||||
|
pw.append(lastCapturedNavState)
|
||||||
|
Timber.v(lastCapturedNavState)
|
||||||
|
}
|
||||||
|
|
||||||
append(sw.buffer.toString())
|
append(sw.buffer.toString())
|
||||||
}
|
}
|
||||||
Timber.e("FATAL EXCEPTION $bugDescription")
|
Timber.e("FATAL EXCEPTION $bugDescription")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_room_change_permissions_room_details">"Redaguoti kambarį"</string>
|
<string name="screen_room_change_permissions_room_details">"Redaguoti informaciją"</string>
|
||||||
<plurals name="screen_room_member_list_header_title">
|
<plurals name="screen_room_member_list_header_title">
|
||||||
<item quantity="one">"%1$d asmuo"</item>
|
<item quantity="one">"%1$d asmuo"</item>
|
||||||
<item quantity="few">"%1$d asmenys"</item>
|
<item quantity="few">"%1$d asmenys"</item>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_room_change_permissions_room_details">"Redaguoti kambarį"</string>
|
<string name="screen_room_change_permissions_room_details">"Redaguoti informaciją"</string>
|
||||||
<string name="screen_room_details_add_topic_title">"Pridėti temą"</string>
|
<string name="screen_room_details_add_topic_title">"Pridėti temą"</string>
|
||||||
<string name="screen_room_details_edit_room_title">"Redaguoti kambarį"</string>
|
<string name="screen_room_details_edit_room_title">"Redaguoti informaciją"</string>
|
||||||
<string name="screen_room_details_edition_error">"Įvyko nežinoma klaida ir informacijos pakeisti nepavyko."</string>
|
<string name="screen_room_details_edition_error">"Įvyko nežinoma klaida ir informacijos pakeisti nepavyko."</string>
|
||||||
<string name="screen_room_details_edition_error_title">"Nepavyko atnaujinti kambario"</string>
|
<string name="screen_room_details_edition_error_title">"Nepavyko atnaujinti kambario"</string>
|
||||||
<string name="screen_room_details_encryption_enabled_subtitle">"Žinutės yra užrakintos. Tik Jūs ir gavėjai turite unikalius raktus joms atrakinti."</string>
|
<string name="screen_room_details_encryption_enabled_subtitle">"Žinutės yra užrakintos. Tik Jūs ir gavėjai turite unikalius raktus joms atrakinti."</string>
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,8 @@
|
||||||
<string name="screen_room_details_error_loading_notification_settings">"Ett fel uppstod vid laddning av aviseringsinställningar."</string>
|
<string name="screen_room_details_error_loading_notification_settings">"Ett fel uppstod vid laddning av aviseringsinställningar."</string>
|
||||||
<string name="screen_room_details_error_muting">"Misslyckades att tysta det här rummet, vänligen pröva igen."</string>
|
<string name="screen_room_details_error_muting">"Misslyckades att tysta det här rummet, vänligen pröva igen."</string>
|
||||||
<string name="screen_room_details_error_unmuting">"Misslyckades att avtysta det här rummet, vänligen pröva igen."</string>
|
<string name="screen_room_details_error_unmuting">"Misslyckades att avtysta det här rummet, vänligen pröva igen."</string>
|
||||||
|
<string name="screen_room_details_invite_people_dont_close">"Stäng inte appen förrän det är klart."</string>
|
||||||
|
<string name="screen_room_details_invite_people_preparing">"Förbereder inbjudningar …"</string>
|
||||||
<string name="screen_room_details_invite_people_title">"Bjud in personer"</string>
|
<string name="screen_room_details_invite_people_title">"Bjud in personer"</string>
|
||||||
<string name="screen_room_details_leave_conversation_title">"Lämna konversation"</string>
|
<string name="screen_room_details_leave_conversation_title">"Lämna konversation"</string>
|
||||||
<string name="screen_room_details_leave_room_title">"Lämna rum"</string>
|
<string name="screen_room_details_leave_room_title">"Lämna rum"</string>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_room_details_edit_room_title">"Redaguoti kambarį"</string>
|
<string name="screen_room_details_edit_room_title">"Redaguoti informaciją"</string>
|
||||||
<string name="screen_room_details_edition_error">"Įvyko nežinoma klaida ir informacijos pakeisti nepavyko."</string>
|
<string name="screen_room_details_edition_error">"Įvyko nežinoma klaida ir informacijos pakeisti nepavyko."</string>
|
||||||
<string name="screen_room_details_edition_error_title">"Nepavyko atnaujinti kambario"</string>
|
<string name="screen_room_details_edition_error_title">"Nepavyko atnaujinti kambario"</string>
|
||||||
<string name="screen_room_details_updating_room">"Atnaujinamas kambarys…"</string>
|
<string name="screen_room_details_updating_room">"Atnaujinamas kambarys…"</string>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<string name="screen_chat_backup_key_storage_toggle_title">"Salli avainten säilytys"</string>
|
<string name="screen_chat_backup_key_storage_toggle_title">"Salli avainten säilytys"</string>
|
||||||
<string name="screen_chat_backup_recovery_action_change">"Vaihda palautusavain"</string>
|
<string name="screen_chat_backup_recovery_action_change">"Vaihda palautusavain"</string>
|
||||||
<string name="screen_chat_backup_recovery_action_change_description">"Palauta kryptografinen identiteettisi ja viestihistoriasi palautusavaimella, jos olet menettänyt kaikki nykyiset laitteesi."</string>
|
<string name="screen_chat_backup_recovery_action_change_description">"Palauta kryptografinen identiteettisi ja viestihistoriasi palautusavaimella, jos olet menettänyt kaikki nykyiset laitteesi."</string>
|
||||||
<string name="screen_chat_backup_recovery_action_confirm">"Syötä palautusavain"</string>
|
<string name="screen_chat_backup_recovery_action_confirm">"Anna palautusavain"</string>
|
||||||
<string name="screen_chat_backup_recovery_action_confirm_description">"Avainten säilytys ei ole tällä hetkellä synkronoitu."</string>
|
<string name="screen_chat_backup_recovery_action_confirm_description">"Avainten säilytys ei ole tällä hetkellä synkronoitu."</string>
|
||||||
<string name="screen_chat_backup_recovery_action_setup">"Ota palautus käyttöön"</string>
|
<string name="screen_chat_backup_recovery_action_setup">"Ota palautus käyttöön"</string>
|
||||||
<string name="screen_chat_backup_recovery_action_setup_description">"Pääset käsiksi salattuihin viesteihisi, jos menetät kaikki laitteesi tai olet kirjautunut ulos %1$s -sovelluksesta kaikkialla."</string>
|
<string name="screen_chat_backup_recovery_action_setup_description">"Pääset käsiksi salattuihin viesteihisi, jos menetät kaikki laitteesi tai olet kirjautunut ulos %1$s -sovelluksesta kaikkialla."</string>
|
||||||
|
|
@ -43,10 +43,10 @@
|
||||||
<string name="screen_recovery_key_confirm_error_content">"Yritä uudelleen vahvistaaksesi pääsyn avainten säilytykseen."</string>
|
<string name="screen_recovery_key_confirm_error_content">"Yritä uudelleen vahvistaaksesi pääsyn avainten säilytykseen."</string>
|
||||||
<string name="screen_recovery_key_confirm_error_title">"Väärä palautusavain"</string>
|
<string name="screen_recovery_key_confirm_error_title">"Väärä palautusavain"</string>
|
||||||
<string name="screen_recovery_key_confirm_key_description">"Jos sinulla on turva-avain tai turvalause, sekin toimii."</string>
|
<string name="screen_recovery_key_confirm_key_description">"Jos sinulla on turva-avain tai turvalause, sekin toimii."</string>
|
||||||
<string name="screen_recovery_key_confirm_key_placeholder">"Syötä…"</string>
|
<string name="screen_recovery_key_confirm_key_placeholder">"Kirjoita…"</string>
|
||||||
<string name="screen_recovery_key_confirm_lost_recovery_key">"Hukkasitko palautusavaimesi?"</string>
|
<string name="screen_recovery_key_confirm_lost_recovery_key">"Hukkasitko palautusavaimesi?"</string>
|
||||||
<string name="screen_recovery_key_confirm_success">"Palautusavain vahvistettu"</string>
|
<string name="screen_recovery_key_confirm_success">"Palautusavain vahvistettu"</string>
|
||||||
<string name="screen_recovery_key_confirm_title">"Syötä palautusavaimesi"</string>
|
<string name="screen_recovery_key_confirm_title">"Anna palautusavaimesi"</string>
|
||||||
<string name="screen_recovery_key_copied_to_clipboard">"Palautusavain kopioitu"</string>
|
<string name="screen_recovery_key_copied_to_clipboard">"Palautusavain kopioitu"</string>
|
||||||
<string name="screen_recovery_key_generating_key">"Luodaan…"</string>
|
<string name="screen_recovery_key_generating_key">"Luodaan…"</string>
|
||||||
<string name="screen_recovery_key_save_action">"Tallenna palautusavain"</string>
|
<string name="screen_recovery_key_save_action">"Tallenna palautusavain"</string>
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
<string name="screen_reset_encryption_confirmation_alert_subtitle">"Tätä prosessia ei voi peruuttaa."</string>
|
<string name="screen_reset_encryption_confirmation_alert_subtitle">"Tätä prosessia ei voi peruuttaa."</string>
|
||||||
<string name="screen_reset_encryption_confirmation_alert_title">"Haluatko varmasti nollata identiteettisi?"</string>
|
<string name="screen_reset_encryption_confirmation_alert_title">"Haluatko varmasti nollata identiteettisi?"</string>
|
||||||
<string name="screen_reset_encryption_password_error">"Tapahtui tuntematon virhe. Tarkista, että tilisi salasana on oikein ja yritä uudelleen."</string>
|
<string name="screen_reset_encryption_password_error">"Tapahtui tuntematon virhe. Tarkista, että tilisi salasana on oikein ja yritä uudelleen."</string>
|
||||||
<string name="screen_reset_encryption_password_placeholder">"Syötä…"</string>
|
<string name="screen_reset_encryption_password_placeholder">"Kirjoita…"</string>
|
||||||
<string name="screen_reset_encryption_password_subtitle">"Vahvista, että haluat nollata identiteettisi."</string>
|
<string name="screen_reset_encryption_password_subtitle">"Vahvista, että haluat nollata identiteettisi."</string>
|
||||||
<string name="screen_reset_encryption_password_title">"Kirjoita tilisi salasana jatkaaksesi"</string>
|
<string name="screen_reset_encryption_password_title">"Kirjoita tilisi salasana jatkaaksesi"</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,16 @@
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="screen_leave_space_subtitle">"Velg rommene du vil forlate, som du ikke er den eneste administratoren for:"</string>
|
<string name="screen_leave_space_subtitle">"Velg rommene du vil forlate, som du ikke er den eneste administratoren for:"</string>
|
||||||
<string name="screen_leave_space_subtitle_last_admin">"Du må tildele en annen administrator for dette området før du kan forlate det."</string>
|
<string name="screen_leave_space_subtitle_last_admin">"Du må tildele en annen administrator for dette området før du kan forlate det."</string>
|
||||||
|
<string name="screen_leave_space_subtitle_last_owner">"Du er den eneste eieren av%1$s. Du må overføre eierskapet til noen andre før du drar."</string>
|
||||||
<string name="screen_leave_space_subtitle_only_last_admin">"Du vil ikke bli fjernet fra følgende rom fordi du er den eneste administratoren:"</string>
|
<string name="screen_leave_space_subtitle_only_last_admin">"Du vil ikke bli fjernet fra følgende rom fordi du er den eneste administratoren:"</string>
|
||||||
<string name="screen_leave_space_title">"Forlat %1$s?"</string>
|
<string name="screen_leave_space_title">"Forlat %1$s?"</string>
|
||||||
<string name="screen_leave_space_title_last_admin">"Du er den eneste administratoren for %1$s"</string>
|
<string name="screen_leave_space_title_last_admin">"Du er den eneste administratoren for %1$s"</string>
|
||||||
<string name="screen_leave_space_title_last_owner">"Overfør eierskap"</string>
|
<string name="screen_leave_space_title_last_owner">"Overfør eierskap"</string>
|
||||||
<string name="screen_space_add_room_action">"Rom"</string>
|
<string name="screen_space_add_room_action">"Rom"</string>
|
||||||
|
<string name="screen_space_add_rooms_room_access_description">"Hvis du legger til et rom, vil det ikke påvirke tilgangen til rommet. For å endre tilgangen, gå til Rominnstillinger > Sikkerhet og personvern."</string>
|
||||||
<string name="screen_space_empty_state_title">"Legg til ditt første rom"</string>
|
<string name="screen_space_empty_state_title">"Legg til ditt første rom"</string>
|
||||||
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
|
<string name="screen_space_menu_action_members">"Vis medlemmer"</string>
|
||||||
|
<string name="screen_space_remove_rooms_confirmation_content">"Fjerning av et rom vil ikke påvirke tilgangen til rommet. For å endre tilgangen, gå til Rominformasjon > Personvern og sikkerhet."</string>
|
||||||
<plurals name="screen_space_remove_rooms_confirmation_title">
|
<plurals name="screen_space_remove_rooms_confirmation_title">
|
||||||
<item quantity="one">"Fjern %1$d rom fra %2$s"</item>
|
<item quantity="one">"Fjern %1$d rom fra %2$s"</item>
|
||||||
<item quantity="other">"Fjern %1$d rommene fra %2$s"</item>
|
<item quantity="other">"Fjern %1$d rommene fra %2$s"</item>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_leave_space_choose_owners_action">"Välj ägare"</string>
|
<string name="screen_leave_space_choose_owners_action">"Välj ägare"</string>
|
||||||
|
<string name="screen_leave_space_title">"Lämna %1$s?"</string>
|
||||||
|
<string name="screen_space_settings_leave_space">"Lämna utrymmet"</string>
|
||||||
<string name="screen_space_settings_roles_and_permissions">"Roller och behörigheter"</string>
|
<string name="screen_space_settings_roles_and_permissions">"Roller och behörigheter"</string>
|
||||||
<string name="screen_space_settings_security_and_privacy">"Säkerhet och sekretess"</string>
|
<string name="screen_space_settings_security_and_privacy">"Säkerhet och sekretess"</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<string name="screen_start_chat_error_starting_chat">"Keskustelun aloituksessa tapahtui virhe"</string>
|
<string name="screen_start_chat_error_starting_chat">"Keskustelun aloituksessa tapahtui virhe"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_action">"Liity huoneeseen osoitteella"</string>
|
<string name="screen_start_chat_join_room_by_address_action">"Liity huoneeseen osoitteella"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_invalid_address">"Osoite ei ole kelvollinen"</string>
|
<string name="screen_start_chat_join_room_by_address_invalid_address">"Osoite ei ole kelvollinen"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_placeholder">"Syötä…"</string>
|
<string name="screen_start_chat_join_room_by_address_placeholder">"Kirjoita…"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_room_found">"Täsmäävä huone löytyi"</string>
|
<string name="screen_start_chat_join_room_by_address_room_found">"Täsmäävä huone löytyi"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_room_not_found">"Huonetta ei löytynyt"</string>
|
<string name="screen_start_chat_join_room_by_address_room_not_found">"Huonetta ei löytynyt"</string>
|
||||||
<string name="screen_start_chat_join_room_by_address_supporting_text">"esim. #huoneen-nimi:matrix.org"</string>
|
<string name="screen_start_chat_join_room_by_address_supporting_text">"esim. #huoneen-nimi:matrix.org"</string>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
<string name="screen_session_verification_complete_subtitle">"Nyt voit lukea tai lähettää viestejä turvallisesti toisella laitteellasi."</string>
|
<string name="screen_session_verification_complete_subtitle">"Nyt voit lukea tai lähettää viestejä turvallisesti toisella laitteellasi."</string>
|
||||||
<string name="screen_session_verification_complete_user_subtitle">"Nyt voit luottaa tämän käyttäjän identiteettiin, kun lähetät tai vastaanotat viestejä."</string>
|
<string name="screen_session_verification_complete_user_subtitle">"Nyt voit luottaa tämän käyttäjän identiteettiin, kun lähetät tai vastaanotat viestejä."</string>
|
||||||
<string name="screen_session_verification_device_verified">"Laite vahvistettu"</string>
|
<string name="screen_session_verification_device_verified">"Laite vahvistettu"</string>
|
||||||
<string name="screen_session_verification_enter_recovery_key">"Syötä palautusavain"</string>
|
<string name="screen_session_verification_enter_recovery_key">"Anna palautusavain"</string>
|
||||||
<string name="screen_session_verification_failed_subtitle">"Joko pyyntö aikakatkaistiin, pyyntö hylättiin tai vahvistus ei täsmännyt."</string>
|
<string name="screen_session_verification_failed_subtitle">"Joko pyyntö aikakatkaistiin, pyyntö hylättiin tai vahvistus ei täsmännyt."</string>
|
||||||
<string name="screen_session_verification_open_existing_session_subtitle">"Vahvista, että se olet sinä, jotta näet aiemmat salatut viestisi."</string>
|
<string name="screen_session_verification_open_existing_session_subtitle">"Vahvista, että se olet sinä, jotta näet aiemmat salatut viestisi."</string>
|
||||||
<string name="screen_session_verification_open_existing_session_title">"Avaa laite, jossa olet jo kirjautuneena"</string>
|
<string name="screen_session_verification_open_existing_session_title">"Avaa laite, jossa olet jo kirjautuneena"</string>
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="screen_session_verification_cancelled_subtitle">"Kažkas atrodo ne taip. Baigėsi užklausos skirtasis laikas arba užklausa buvo atmesta."</string>
|
<string name="screen_session_verification_cancelled_subtitle">"Kažkas atrodo ne taip. Baigėsi užklausos skirtasis laikas arba užklausa buvo atmesta."</string>
|
||||||
<string name="screen_session_verification_compare_emojis_subtitle">"Patvirtinkite, kad žemiau esantys jaustukai atitinka tuos, kurie rodomi kitoje sesijoje."</string>
|
<string name="screen_session_verification_compare_emojis_subtitle">"Patvirtinkite, kad žemiau esantys jaustukai atitinka tuos, kurie rodomi kitame jūsų įrenginyje."</string>
|
||||||
<string name="screen_session_verification_compare_emojis_title">"Palyginkite jaustukus"</string>
|
<string name="screen_session_verification_compare_emojis_title">"Palyginkite jaustukus"</string>
|
||||||
<string name="screen_session_verification_complete_subtitle">"Jūsų nauja sesija dabar patvirtinta. Ji turi prieigą prie jūsų užšifruotų pranešimų, o kiti vartotojai matys ją kaip patikimą."</string>
|
<string name="screen_session_verification_complete_subtitle">"Dabar galite saugiai skaityti arba siųsti žinutes kitame savo įrenginyje."</string>
|
||||||
<string name="screen_session_verification_open_existing_session_subtitle">"Įrodykite, kad tai Jūs, norėdami pasiekti savo užšifruotų pranešimų istoriją."</string>
|
<string name="screen_session_verification_open_existing_session_subtitle">"Įrodykite, kad tai Jūs, norėdami pasiekti savo užšifruotų pranešimų istoriją."</string>
|
||||||
<string name="screen_session_verification_open_existing_session_title">"Atidaryti esamą sesiją"</string>
|
<string name="screen_session_verification_open_existing_session_title">"Atidaryti esamą sesiją"</string>
|
||||||
<string name="screen_session_verification_positive_button_canceled">"Pakartoti patvirtinimą"</string>
|
<string name="screen_session_verification_positive_button_canceled">"Pakartoti patvirtinimą"</string>
|
||||||
<string name="screen_session_verification_positive_button_initial">"Aš pasiruošęs"</string>
|
<string name="screen_session_verification_positive_button_initial">"Aš pasiruošęs"</string>
|
||||||
<string name="screen_session_verification_positive_button_verifying_ongoing">"Laukiama atitikimo…"</string>
|
<string name="screen_session_verification_positive_button_verifying_ongoing">"Laukiama atitikimo…"</string>
|
||||||
<string name="screen_session_verification_request_accepted_subtitle">"Palyginkite unikalius jaustukus, įsitikindami, kad jie rodomi ta pačia tvarka."</string>
|
<string name="screen_session_verification_request_accepted_subtitle">"Palyginkite unikalius jaustukus, įsitikindami, kad jie rodomi ta pačia tvarka."</string>
|
||||||
<string name="screen_session_verification_request_success_subtitle">"Jūsų nauja sesija dabar patvirtinta. Ji turi prieigą prie jūsų užšifruotų pranešimų, o kiti vartotojai matys ją kaip patikimą."</string>
|
<string name="screen_session_verification_request_success_subtitle">"Dabar galite saugiai skaityti arba siųsti žinutes kitame savo įrenginyje."</string>
|
||||||
<string name="screen_session_verification_they_dont_match">"Jie nesutampa"</string>
|
<string name="screen_session_verification_they_dont_match">"Jie nesutampa"</string>
|
||||||
<string name="screen_session_verification_they_match">"Jie sutampa"</string>
|
<string name="screen_session_verification_they_match">"Jie sutampa"</string>
|
||||||
<string name="screen_session_verification_waiting_to_accept_subtitle">"Kitoje sesijoje priimkite prašymą pradėti tikrinimo procesą, kad galėtumėte tęsti."</string>
|
<string name="screen_session_verification_waiting_to_accept_subtitle">"Kitoje sesijoje priimkite prašymą pradėti tikrinimo procesą, kad galėtumėte tęsti."</string>
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,7 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version
|
||||||
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
|
||||||
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
# All new features should not be implemented in the pull request that upgrades the version, developers should
|
||||||
# only fix API breaks and may add some TODOs.
|
# only fix API breaks and may add some TODOs.
|
||||||
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.05"
|
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.03.6"
|
||||||
|
|
||||||
# Others
|
# Others
|
||||||
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
|
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
|
||||||
|
|
@ -219,8 +219,8 @@ haze_materials = { module = "dev.chrisbanes.haze:haze-materials", version.ref =
|
||||||
color_picker = "io.mhssn:colorpicker:1.0.0"
|
color_picker = "io.mhssn:colorpicker:1.0.0"
|
||||||
|
|
||||||
# Analytics
|
# Analytics
|
||||||
posthog = "com.posthog:posthog-android:3.34.3"
|
posthog = "com.posthog:posthog-android:3.35.0"
|
||||||
sentry = "io.sentry:sentry-android:8.34.0"
|
sentry = "io.sentry:sentry-android:8.34.1"
|
||||||
# main branch can be tested replacing the version with main-SNAPSHOT
|
# main branch can be tested replacing the version with main-SNAPSHOT
|
||||||
matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.29.2"
|
matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.29.2"
|
||||||
|
|
||||||
|
|
@ -267,7 +267,7 @@ roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" }
|
||||||
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
|
sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" }
|
||||||
firebaseAppDistribution = { id = "com.google.firebase.appdistribution", version.ref = "firebaseAppDistribution" }
|
firebaseAppDistribution = { id = "com.google.firebase.appdistribution", version.ref = "firebaseAppDistribution" }
|
||||||
knit = { id = "org.jetbrains.kotlinx.knit", version = "0.5.1" }
|
knit = { id = "org.jetbrains.kotlinx.knit", version = "0.5.1" }
|
||||||
sonarqube = "org.sonarqube:7.2.2.6593"
|
sonarqube = "org.sonarqube:7.2.3.7755"
|
||||||
licensee = "app.cash.licensee:1.14.1"
|
licensee = "app.cash.licensee:1.14.1"
|
||||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||||
gms_google_services = { id = "com.google.gms.google-services", version = "4.4.4" }
|
gms_google_services = { id = "com.google.gms.google-services", version = "4.4.4" }
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,154 @@
|
||||||
|
package io.element.android.libraries.architecture.appyx
|
||||||
|
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.DisposableEffect
|
||||||
|
import androidx.compose.runtime.State
|
||||||
|
import androidx.compose.runtime.currentCompositeKeyHashCode
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
|
import androidx.compose.runtime.saveable.mapSaver
|
||||||
|
import androidx.compose.runtime.saveable.rememberSaveable
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.lifecycle.Lifecycle
|
||||||
|
import androidx.lifecycle.LifecycleEventObserver
|
||||||
|
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||||
|
import com.bumble.appyx.core.integration.NodeFactory
|
||||||
|
import com.bumble.appyx.core.integrationpoint.IntegrationPoint
|
||||||
|
import com.bumble.appyx.core.modality.BuildContext
|
||||||
|
import com.bumble.appyx.core.navigation.NavElement
|
||||||
|
import com.bumble.appyx.core.navigation.NavKey
|
||||||
|
import com.bumble.appyx.core.node.Node
|
||||||
|
import com.bumble.appyx.core.node.build
|
||||||
|
import com.bumble.appyx.core.state.SavedStateMap
|
||||||
|
import com.bumble.appyx.utils.customisations.NodeCustomisationDirectory
|
||||||
|
import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl
|
||||||
|
import timber.log.Timber
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2026 Element Creations Ltd.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
||||||
|
* Please see LICENSE files in the repository root for full details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contains the last captured navigation state in a human-readable format, which can be attached to crash reports to help
|
||||||
|
* with debugging `TransactionTooLargeException` crashes.
|
||||||
|
*/
|
||||||
|
var lastCapturedNavState: String = "No nav state captured yet"
|
||||||
|
|
||||||
|
private data class NodeEntry(
|
||||||
|
val navKey: Any?,
|
||||||
|
val children: List<NodeEntry> = emptyList()
|
||||||
|
) {
|
||||||
|
override fun toString(): String {
|
||||||
|
val key = navKey ?: return ""
|
||||||
|
return buildString {
|
||||||
|
append(key.javaClass.name)
|
||||||
|
if (children.isNotEmpty()) {
|
||||||
|
append("=[")
|
||||||
|
append(children.joinToString(", "))
|
||||||
|
append("]")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
private fun Map<String, Any?>.buildNavStateMap(): List<NodeEntry> {
|
||||||
|
val children = this["ChildrenState"] as? Map<NavKey<*>, Map<String, Any?>> ?: return emptyList()
|
||||||
|
return children.entries.map { (key, value) ->
|
||||||
|
NodeEntry(
|
||||||
|
navKey = key.navTarget,
|
||||||
|
children = value.buildNavStateMap()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
private fun Map<String, Any?>.buildNavModel(name: String): List<NodeEntry> {
|
||||||
|
val navModel = this[name] as? List<NavElement<*, *>> ?: return emptyList()
|
||||||
|
return navModel.map {
|
||||||
|
NodeEntry(
|
||||||
|
navKey = it.key.navTarget,
|
||||||
|
children = emptyList()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Once we have fixed the `TransactionTooLargeException` issues, we should remove this and use the default `NodeHost` implementation
|
||||||
|
@Suppress("ComposableParamOrder") // detekt complains as 'factory' param isn't a pure lambda
|
||||||
|
@Composable
|
||||||
|
fun <N : Node> DebugNavStateNodeHost(
|
||||||
|
integrationPoint: IntegrationPoint,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
customisations: NodeCustomisationDirectory = remember { NodeCustomisationDirectoryImpl() },
|
||||||
|
factory: NodeFactory<N>
|
||||||
|
) {
|
||||||
|
val node by rememberNode(factory, "AppyxMainNode", customisations, integrationPoint)
|
||||||
|
DisposableEffect(node) {
|
||||||
|
onDispose { node.updateLifecycleState(Lifecycle.State.DESTROYED) }
|
||||||
|
}
|
||||||
|
node.Compose(modifier = modifier)
|
||||||
|
val lifecycle = LocalLifecycleOwner.current.lifecycle
|
||||||
|
DisposableEffect(lifecycle) {
|
||||||
|
node.updateLifecycleState(lifecycle.currentState)
|
||||||
|
val observer = LifecycleEventObserver { source, _ ->
|
||||||
|
node.updateLifecycleState(source.lifecycle.currentState)
|
||||||
|
}
|
||||||
|
lifecycle.addObserver(observer)
|
||||||
|
onDispose { lifecycle.removeObserver(observer) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun <N : Node> rememberNode(
|
||||||
|
factory: NodeFactory<N>,
|
||||||
|
key: String,
|
||||||
|
customisations: NodeCustomisationDirectory,
|
||||||
|
integrationPoint: IntegrationPoint,
|
||||||
|
): State<N> {
|
||||||
|
fun createNode(savedStateMap: SavedStateMap?): N =
|
||||||
|
factory
|
||||||
|
.create(
|
||||||
|
buildContext = BuildContext.root(
|
||||||
|
savedStateMap = savedStateMap,
|
||||||
|
customisations = customisations
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.apply { this.integrationPoint = integrationPoint }
|
||||||
|
.build()
|
||||||
|
|
||||||
|
// This is deprecated because using the custom key would not make this unique, but we work around that by using the currentCompositeKeyHashCode
|
||||||
|
// as part of the key, which should be unique for each call site of rememberNode.
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
return rememberSaveable(
|
||||||
|
inputs = arrayOf(),
|
||||||
|
key = "$key:$currentCompositeKeyHashCode",
|
||||||
|
stateSaver = mapSaver(
|
||||||
|
save = { node ->
|
||||||
|
val result = node.saveInstanceState(this)
|
||||||
|
// We want to capture the nav state in a format that's easier to read and understand in crash reports, so we build a custom map for that.
|
||||||
|
val copy = result.toMutableMap()
|
||||||
|
copy["ChildrenState"] = copy.buildNavStateMap()
|
||||||
|
val navModelKey = "NavModel"
|
||||||
|
if (copy.contains(navModelKey)) {
|
||||||
|
copy[navModelKey] = copy.buildNavModel(navModelKey)
|
||||||
|
}
|
||||||
|
val permanentNavModelKey = "com.bumble.appyx.core.navigation.model.permanent.PermanentNavModel"
|
||||||
|
if (copy.contains(permanentNavModelKey)) {
|
||||||
|
copy[permanentNavModelKey] =
|
||||||
|
copy.buildNavModel(permanentNavModelKey)
|
||||||
|
}
|
||||||
|
Timber.d("Saving nav state: $copy")
|
||||||
|
// Store the last nav state in a global variable so that it can be attached to crash reports if the app crashes before the next save happens.
|
||||||
|
lastCapturedNavState = copy.toString()
|
||||||
|
result
|
||||||
|
},
|
||||||
|
restore = { state -> createNode(savedStateMap = state) },
|
||||||
|
),
|
||||||
|
) {
|
||||||
|
mutableStateOf(createNode(savedStateMap = null))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -229,8 +229,11 @@ class JoinedRustRoom(
|
||||||
is CreateTimelineParams.Threaded -> DateDividerMode.DAILY
|
is CreateTimelineParams.Threaded -> DateDividerMode.DAILY
|
||||||
}
|
}
|
||||||
|
|
||||||
// Track read receipts only for focused timeline for performance optimization
|
// Track read receipts only for focused and threaded timelines for performance optimization
|
||||||
val trackReadReceipts = createTimelineParams is CreateTimelineParams.Focused
|
val trackReadReceipts = when (createTimelineParams) {
|
||||||
|
is CreateTimelineParams.Focused, is CreateTimelineParams.Threaded -> true
|
||||||
|
is CreateTimelineParams.MediaOnly, is CreateTimelineParams.MediaOnlyFocused, CreateTimelineParams.PinnedOnly -> false
|
||||||
|
}
|
||||||
|
|
||||||
runCatchingExceptions {
|
runCatchingExceptions {
|
||||||
innerRoom.timelineWithConfiguration(
|
innerRoom.timelineWithConfiguration(
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,9 @@ class TimelineEventContentMapper(
|
||||||
}
|
}
|
||||||
is TimelineItemContent.CallInvite -> LegacyCallInviteContent
|
is TimelineItemContent.CallInvite -> LegacyCallInviteContent
|
||||||
is TimelineItemContent.RtcNotification -> CallNotifyContent
|
is TimelineItemContent.RtcNotification -> CallNotifyContent
|
||||||
|
is TimelineItemContent.LiveLocation -> {
|
||||||
|
UnknownContent
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,11 @@
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="notification_error_unified_push_unregistered_android">"Distributor oznámení UnifiedPush se nepodařilo zaregistrovat, takže již nebudete dostávat oznámení. Zkontrolujte nastavení oznámení v aplikaci a stav distributora push oznámění."</string>
|
<string name="notification_error_unified_push_unregistered_android">"Distributor oznámení UnifiedPush se nepodařilo zaregistrovat, takže již nebudete dostávat oznámení. Zkontrolujte nastavení oznámení v aplikaci a stav distributora push oznámění."</string>
|
||||||
<string name="notification_fallback_content">"Oznámení"</string>
|
<string name="notification_fallback_content">"Oznámení"</string>
|
||||||
|
<plurals name="notification_fallback_n_content">
|
||||||
|
<item quantity="one">"Máte %d novou zprávu."</item>
|
||||||
|
<item quantity="few">"Máte %d nové zprávy."</item>
|
||||||
|
<item quantity="other">"Máte %d nových zpráv."</item>
|
||||||
|
</plurals>
|
||||||
<string name="notification_incoming_call">"📹 Příchozí hovor"</string>
|
<string name="notification_incoming_call">"📹 Příchozí hovor"</string>
|
||||||
<string name="notification_inline_reply_failed">"** Nepodařilo se odeslat - otevřete prosím místnost"</string>
|
<string name="notification_inline_reply_failed">"** Nepodařilo se odeslat - otevřete prosím místnost"</string>
|
||||||
<string name="notification_invitation_action_join">"Vstoupit"</string>
|
<string name="notification_invitation_action_join">"Vstoupit"</string>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
<item quantity="one">"Sinulla on %d uusi viesti."</item>
|
<item quantity="one">"Sinulla on %d uusi viesti."</item>
|
||||||
<item quantity="other">"Sinulla on %d uutta viestiä."</item>
|
<item quantity="other">"Sinulla on %d uutta viestiä."</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<string name="notification_incoming_audio_call">"📞 Saapuva puhelu"</string>
|
||||||
<string name="notification_incoming_call">"📹 Saapuva puhelu"</string>
|
<string name="notification_incoming_call">"📹 Saapuva puhelu"</string>
|
||||||
<string name="notification_inline_reply_failed">"** Lähetys epäonnistui - avaa huone"</string>
|
<string name="notification_inline_reply_failed">"** Lähetys epäonnistui - avaa huone"</string>
|
||||||
<string name="notification_invitation_action_join">"Liity"</string>
|
<string name="notification_invitation_action_join">"Liity"</string>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
<item quantity="one">"Vous avez %d nouveau message."</item>
|
<item quantity="one">"Vous avez %d nouveau message."</item>
|
||||||
<item quantity="other">"Vous avez %d nouveaux messages."</item>
|
<item quantity="other">"Vous avez %d nouveaux messages."</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<string name="notification_incoming_audio_call">"📞 Appel entrant"</string>
|
||||||
<string name="notification_incoming_call">"📹 Appel entrant"</string>
|
<string name="notification_incoming_call">"📹 Appel entrant"</string>
|
||||||
<string name="notification_inline_reply_failed">"** Échec de l’envoi - veuillez ouvrir le salon"</string>
|
<string name="notification_inline_reply_failed">"** Échec de l’envoi - veuillez ouvrir le salon"</string>
|
||||||
<string name="notification_invitation_action_join">"Rejoindre"</string>
|
<string name="notification_invitation_action_join">"Rejoindre"</string>
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
<item quantity="other">"%d naujų žinučių"</item>
|
<item quantity="other">"%d naujų žinučių"</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="notification_room_action_quick_reply">"Sparčiai atsakyti"</string>
|
<string name="notification_room_action_quick_reply">"Sparčiai atsakyti"</string>
|
||||||
|
<string name="notification_room_invite_body">"Pakvietė jus jungtis prie kambario"</string>
|
||||||
<string name="notification_sender_me">"Aš"</string>
|
<string name="notification_sender_me">"Aš"</string>
|
||||||
<string name="notification_test_push_notification_content">"Jūs žiūrite pranešimą! Spustelėkite mane!"</string>
|
<string name="notification_test_push_notification_content">"Jūs žiūrite pranešimą! Spustelėkite mane!"</string>
|
||||||
<string name="notification_ticker_text_dm">"%1$s: %2$s"</string>
|
<string name="notification_ticker_text_dm">"%1$s: %2$s"</string>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
<item quantity="one">"Du har %d ny melding."</item>
|
<item quantity="one">"Du har %d ny melding."</item>
|
||||||
<item quantity="other">"Du har %d nye meldinger."</item>
|
<item quantity="other">"Du har %d nye meldinger."</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<string name="notification_incoming_audio_call">"📞 Innkommende anrop"</string>
|
||||||
<string name="notification_incoming_call">"📹 Innkommende anrop"</string>
|
<string name="notification_incoming_call">"📹 Innkommende anrop"</string>
|
||||||
<string name="notification_inline_reply_failed">"** Kunne ikke sende - vennligst åpne rommet"</string>
|
<string name="notification_inline_reply_failed">"** Kunne ikke sende - vennligst åpne rommet"</string>
|
||||||
<string name="notification_invitation_action_join">"Bli med"</string>
|
<string name="notification_invitation_action_join">"Bli med"</string>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="a11y_add_reaction">"Přidat reakci: %1$s"</string>
|
<string name="a11y_add_reaction">"Přidat reakci: %1$s"</string>
|
||||||
|
<string name="a11y_address">"Adresa"</string>
|
||||||
<string name="a11y_avatar">"Profilový obrázek"</string>
|
<string name="a11y_avatar">"Profilový obrázek"</string>
|
||||||
<string name="a11y_collapse_message_text_field">"Minimalizovat textové pole zprávy"</string>
|
<string name="a11y_collapse_message_text_field">"Minimalizovat textové pole zprávy"</string>
|
||||||
<string name="a11y_delete">"Smazat"</string>
|
<string name="a11y_delete">"Smazat"</string>
|
||||||
|
|
@ -28,8 +29,10 @@
|
||||||
<string name="a11y_paused_voice_message">"Hlasová zpráva, délka: %1$s, aktuální pozice: %2$s"</string>
|
<string name="a11y_paused_voice_message">"Hlasová zpráva, délka: %1$s, aktuální pozice: %2$s"</string>
|
||||||
<string name="a11y_pin_field">"Pole pro PIN"</string>
|
<string name="a11y_pin_field">"Pole pro PIN"</string>
|
||||||
<string name="a11y_play">"Přehrát"</string>
|
<string name="a11y_play">"Přehrát"</string>
|
||||||
|
<string name="a11y_playback_speed">"Rychlost přehrávání"</string>
|
||||||
<string name="a11y_poll">"Hlasování"</string>
|
<string name="a11y_poll">"Hlasování"</string>
|
||||||
<string name="a11y_poll_end">"Hlasování ukončeno"</string>
|
<string name="a11y_poll_end">"Hlasování ukončeno"</string>
|
||||||
|
<string name="a11y_qr_code">"QR kód"</string>
|
||||||
<string name="a11y_react_with">"Reagovat s %1$s"</string>
|
<string name="a11y_react_with">"Reagovat s %1$s"</string>
|
||||||
<string name="a11y_react_with_other_emojis">"Reagovat s dalšími emoji"</string>
|
<string name="a11y_react_with_other_emojis">"Reagovat s dalšími emoji"</string>
|
||||||
<string name="a11y_read_receipts_multiple">"%1$s a %2$s přečetli"</string>
|
<string name="a11y_read_receipts_multiple">"%1$s a %2$s přečetli"</string>
|
||||||
|
|
@ -155,6 +158,7 @@
|
||||||
<string name="action_send_voice_message">"Odeslat hlasovou zprávu"</string>
|
<string name="action_send_voice_message">"Odeslat hlasovou zprávu"</string>
|
||||||
<string name="action_share">"Sdílet"</string>
|
<string name="action_share">"Sdílet"</string>
|
||||||
<string name="action_share_link">"Sdílet odkaz"</string>
|
<string name="action_share_link">"Sdílet odkaz"</string>
|
||||||
|
<string name="action_share_live_location">"Sdílet aktuální polohu"</string>
|
||||||
<string name="action_show">"Zobrazit"</string>
|
<string name="action_show">"Zobrazit"</string>
|
||||||
<string name="action_sign_in_again">"Přihlásit se znovu"</string>
|
<string name="action_sign_in_again">"Přihlásit se znovu"</string>
|
||||||
<string name="action_signout">"Odhlásit se"</string>
|
<string name="action_signout">"Odhlásit se"</string>
|
||||||
|
|
@ -407,6 +411,7 @@ Důvod: %1$s."</string>
|
||||||
<string name="crypto_identity_change_profile_pin_violation">"Identita uživatele %1$s se změnila."</string>
|
<string name="crypto_identity_change_profile_pin_violation">"Identita uživatele %1$s se změnila."</string>
|
||||||
<string name="crypto_identity_change_verification_violation_new">"Identita uživatele %1$s %2$s se změnila. %3$s"</string>
|
<string name="crypto_identity_change_verification_violation_new">"Identita uživatele %1$s %2$s se změnila. %3$s"</string>
|
||||||
<string name="crypto_identity_change_withdraw_verification_action">"Zrušit ověření"</string>
|
<string name="crypto_identity_change_withdraw_verification_action">"Zrušit ověření"</string>
|
||||||
|
<string name="dialog_allow_access">"Povolit přístup"</string>
|
||||||
<string name="dialog_confirm_link_message">"Odkaz %1$s vás přesměruje na jinou stránku %2$s
|
<string name="dialog_confirm_link_message">"Odkaz %1$s vás přesměruje na jinou stránku %2$s
|
||||||
|
|
||||||
Opravdu chcete pokračovat?"</string>
|
Opravdu chcete pokračovat?"</string>
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
<string name="action_edit_poll">"Muokkaa kyselyä"</string>
|
<string name="action_edit_poll">"Muokkaa kyselyä"</string>
|
||||||
<string name="action_enable">"Ota käyttöön"</string>
|
<string name="action_enable">"Ota käyttöön"</string>
|
||||||
<string name="action_end_poll">"Lopeta kysely"</string>
|
<string name="action_end_poll">"Lopeta kysely"</string>
|
||||||
<string name="action_enter_pin">"Syötä PIN-koodi"</string>
|
<string name="action_enter_pin">"Anna PIN-koodi"</string>
|
||||||
<string name="action_explore_public_spaces">"Selaa julkisia tiloja"</string>
|
<string name="action_explore_public_spaces">"Selaa julkisia tiloja"</string>
|
||||||
<string name="action_finish">"Valmis"</string>
|
<string name="action_finish">"Valmis"</string>
|
||||||
<string name="action_forgot_password">"Unohditko salasanan?"</string>
|
<string name="action_forgot_password">"Unohditko salasanan?"</string>
|
||||||
|
|
@ -220,7 +220,7 @@
|
||||||
<string name="common_empty_file">"Tyhjä tiedosto"</string>
|
<string name="common_empty_file">"Tyhjä tiedosto"</string>
|
||||||
<string name="common_encryption">"Salaus"</string>
|
<string name="common_encryption">"Salaus"</string>
|
||||||
<string name="common_encryption_enabled">"Salaus käytössä"</string>
|
<string name="common_encryption_enabled">"Salaus käytössä"</string>
|
||||||
<string name="common_enter_your_pin">"Syötä PIN-koodisi"</string>
|
<string name="common_enter_your_pin">"Anna PIN-koodisi"</string>
|
||||||
<string name="common_error">"Virhe"</string>
|
<string name="common_error">"Virhe"</string>
|
||||||
<string name="common_error_registering_pusher_android">"Tapahtui virhe. Et välttämättä saa ilmoituksia uusista viesteistä. Tee ilmoitusten vianmääritys asetuksista.
|
<string name="common_error_registering_pusher_android">"Tapahtui virhe. Et välttämättä saa ilmoituksia uusista viesteistä. Tee ilmoitusten vianmääritys asetuksista.
|
||||||
|
|
||||||
|
|
@ -272,6 +272,7 @@ Syy: %1$s."</string>
|
||||||
<string name="common_offline">"Ei yhteyttä"</string>
|
<string name="common_offline">"Ei yhteyttä"</string>
|
||||||
<string name="common_open_source_licenses">"Avoimen lähdekoodin lisenssit"</string>
|
<string name="common_open_source_licenses">"Avoimen lähdekoodin lisenssit"</string>
|
||||||
<string name="common_or">"tai"</string>
|
<string name="common_or">"tai"</string>
|
||||||
|
<string name="common_other_options">"Muut vaihtoehdot"</string>
|
||||||
<string name="common_password">"Salasana"</string>
|
<string name="common_password">"Salasana"</string>
|
||||||
<string name="common_people">"Ihmiset"</string>
|
<string name="common_people">"Ihmiset"</string>
|
||||||
<string name="common_permalink">"Pysyvä linkki"</string>
|
<string name="common_permalink">"Pysyvä linkki"</string>
|
||||||
|
|
@ -453,6 +454,7 @@ Haluatko varmasti jatkaa?"</string>
|
||||||
<string name="screen_create_poll_remove_accessibility_label">"Poista %1$s"</string>
|
<string name="screen_create_poll_remove_accessibility_label">"Poista %1$s"</string>
|
||||||
<string name="screen_create_poll_settings_section_title">"Asetukset"</string>
|
<string name="screen_create_poll_settings_section_title">"Asetukset"</string>
|
||||||
<string name="screen_media_picker_error_failed_selection">"Median valinta epäonnistui, yritä uudelleen."</string>
|
<string name="screen_media_picker_error_failed_selection">"Median valinta epäonnistui, yritä uudelleen."</string>
|
||||||
|
<string name="screen_onboarding_welcome_back">"Tervetuloa takaisin"</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_description">"Paina viestiä ja valitse “%1$s” lisätäksesi sen tänne."</string>
|
<string name="screen_pinned_timeline_empty_state_description">"Paina viestiä ja valitse “%1$s” lisätäksesi sen tänne."</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_headline">"Kiinnitä tärkeät viestit, jotta ne löytyvät helposti."</string>
|
<string name="screen_pinned_timeline_empty_state_headline">"Kiinnitä tärkeät viestit, jotta ne löytyvät helposti."</string>
|
||||||
<plurals name="screen_pinned_timeline_screen_title">
|
<plurals name="screen_pinned_timeline_screen_title">
|
||||||
|
|
|
||||||
|
|
@ -156,6 +156,7 @@
|
||||||
<string name="action_send_voice_message">"Envoyer un message vocal"</string>
|
<string name="action_send_voice_message">"Envoyer un message vocal"</string>
|
||||||
<string name="action_share">"Partager"</string>
|
<string name="action_share">"Partager"</string>
|
||||||
<string name="action_share_link">"Partager le lien"</string>
|
<string name="action_share_link">"Partager le lien"</string>
|
||||||
|
<string name="action_share_live_location">"Partager la position en continu"</string>
|
||||||
<string name="action_show">"Afficher"</string>
|
<string name="action_show">"Afficher"</string>
|
||||||
<string name="action_sign_in_again">"Se connecter à nouveau"</string>
|
<string name="action_sign_in_again">"Se connecter à nouveau"</string>
|
||||||
<string name="action_signout">"Se déconnecter"</string>
|
<string name="action_signout">"Se déconnecter"</string>
|
||||||
|
|
@ -271,6 +272,7 @@ Raison : %1$s."</string>
|
||||||
<string name="common_offline">"Hors ligne"</string>
|
<string name="common_offline">"Hors ligne"</string>
|
||||||
<string name="common_open_source_licenses">"Licences open source"</string>
|
<string name="common_open_source_licenses">"Licences open source"</string>
|
||||||
<string name="common_or">"ou"</string>
|
<string name="common_or">"ou"</string>
|
||||||
|
<string name="common_other_options">"Autres options"</string>
|
||||||
<string name="common_password">"Mot de passe"</string>
|
<string name="common_password">"Mot de passe"</string>
|
||||||
<string name="common_people">"Personnes"</string>
|
<string name="common_people">"Personnes"</string>
|
||||||
<string name="common_permalink">"Permalien"</string>
|
<string name="common_permalink">"Permalien"</string>
|
||||||
|
|
@ -452,6 +454,7 @@ Raison : %1$s."</string>
|
||||||
<string name="screen_create_poll_remove_accessibility_label">"Supprimer %1$s"</string>
|
<string name="screen_create_poll_remove_accessibility_label">"Supprimer %1$s"</string>
|
||||||
<string name="screen_create_poll_settings_section_title">"Paramètres"</string>
|
<string name="screen_create_poll_settings_section_title">"Paramètres"</string>
|
||||||
<string name="screen_media_picker_error_failed_selection">"Échec de la sélection du média, veuillez réessayer."</string>
|
<string name="screen_media_picker_error_failed_selection">"Échec de la sélection du média, veuillez réessayer."</string>
|
||||||
|
<string name="screen_onboarding_welcome_back">"Bon retour parmi nous"</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_description">"Cliquez (clic long) sur un message et choisissez « %1$s » pour qu‘il apparaisse ici."</string>
|
<string name="screen_pinned_timeline_empty_state_description">"Cliquez (clic long) sur un message et choisissez « %1$s » pour qu‘il apparaisse ici."</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_headline">"Épinglez les messages importants pour leur donner plus de visibilité"</string>
|
<string name="screen_pinned_timeline_empty_state_headline">"Épinglez les messages importants pour leur donner plus de visibilité"</string>
|
||||||
<plurals name="screen_pinned_timeline_screen_title">
|
<plurals name="screen_pinned_timeline_screen_title">
|
||||||
|
|
|
||||||
|
|
@ -156,6 +156,7 @@
|
||||||
<string name="action_send_voice_message">"Hangüzenet küldése"</string>
|
<string name="action_send_voice_message">"Hangüzenet küldése"</string>
|
||||||
<string name="action_share">"Megosztás"</string>
|
<string name="action_share">"Megosztás"</string>
|
||||||
<string name="action_share_link">"Hivatkozás megosztása"</string>
|
<string name="action_share_link">"Hivatkozás megosztása"</string>
|
||||||
|
<string name="action_share_live_location">"Valós idejű hely megosztása"</string>
|
||||||
<string name="action_show">"Megjelenítés"</string>
|
<string name="action_show">"Megjelenítés"</string>
|
||||||
<string name="action_sign_in_again">"Jelentkezzen be újra"</string>
|
<string name="action_sign_in_again">"Jelentkezzen be újra"</string>
|
||||||
<string name="action_signout">"Kijelentkezés"</string>
|
<string name="action_signout">"Kijelentkezés"</string>
|
||||||
|
|
@ -402,6 +403,7 @@ Ok: %1$s."</string>
|
||||||
<string name="crypto_identity_change_profile_pin_violation">"%1$s személyazonossága megváltozott."</string>
|
<string name="crypto_identity_change_profile_pin_violation">"%1$s személyazonossága megváltozott."</string>
|
||||||
<string name="crypto_identity_change_verification_violation_new">"%1$s (%2$s) ellenőrzött személyazonossága megváltozott. %3$s"</string>
|
<string name="crypto_identity_change_verification_violation_new">"%1$s (%2$s) ellenőrzött személyazonossága megváltozott. %3$s"</string>
|
||||||
<string name="crypto_identity_change_withdraw_verification_action">"Ellenőrzés visszavonása"</string>
|
<string name="crypto_identity_change_withdraw_verification_action">"Ellenőrzés visszavonása"</string>
|
||||||
|
<string name="dialog_allow_access">"Hozzáférés engedélyezése"</string>
|
||||||
<string name="dialog_confirm_link_message">"A(z) %1$s hivatkozás átviszi egy másik webhelyre: %2$s
|
<string name="dialog_confirm_link_message">"A(z) %1$s hivatkozás átviszi egy másik webhelyre: %2$s
|
||||||
|
|
||||||
Biztos, hogy folytatja?"</string>
|
Biztos, hogy folytatja?"</string>
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@
|
||||||
<string name="action_copy_link_to_message">"Copia collegamento al messaggio"</string>
|
<string name="action_copy_link_to_message">"Copia collegamento al messaggio"</string>
|
||||||
<string name="action_copy_text">"Copia testo"</string>
|
<string name="action_copy_text">"Copia testo"</string>
|
||||||
<string name="action_create">"Crea"</string>
|
<string name="action_create">"Crea"</string>
|
||||||
<string name="action_create_room">"Crea una stanza"</string>
|
<string name="action_create_room">"Crea stanza"</string>
|
||||||
<string name="action_deactivate">"Disattiva"</string>
|
<string name="action_deactivate">"Disattiva"</string>
|
||||||
<string name="action_deactivate_account">"Disattiva account"</string>
|
<string name="action_deactivate_account">"Disattiva account"</string>
|
||||||
<string name="action_decline">"Rifiuta"</string>
|
<string name="action_decline">"Rifiuta"</string>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="a11y_add_reaction">"Pridėti reakciją: %1$s"</string>
|
<string name="a11y_add_reaction">"Pridėti reakciją: %1$s"</string>
|
||||||
|
<string name="a11y_address">"Adresas"</string>
|
||||||
<string name="a11y_avatar">"Pseudoportretas"</string>
|
<string name="a11y_avatar">"Pseudoportretas"</string>
|
||||||
|
<string name="a11y_collapse_message_text_field">"Sumažinti žinutės teksto lauką"</string>
|
||||||
|
<string name="a11y_delete">"Ištrinti"</string>
|
||||||
<string name="a11y_hide_password">"Slėpti slaptažodį"</string>
|
<string name="a11y_hide_password">"Slėpti slaptažodį"</string>
|
||||||
|
<string name="a11y_join_call">"Jungtis prie skambučio"</string>
|
||||||
<string name="a11y_send_files">"Siųsti failus"</string>
|
<string name="a11y_send_files">"Siųsti failus"</string>
|
||||||
<string name="a11y_show_password">"Rodyti slaptažodį"</string>
|
<string name="a11y_show_password">"Rodyti slaptažodį"</string>
|
||||||
<string name="a11y_user_menu">"Vartotojo meniu"</string>
|
<string name="a11y_user_menu">"Vartotojo meniu"</string>
|
||||||
|
<string name="a11y_your_avatar">"Jūsų pseudoportretas"</string>
|
||||||
<string name="action_accept">"Priimti"</string>
|
<string name="action_accept">"Priimti"</string>
|
||||||
<string name="action_back">"Atgal"</string>
|
<string name="action_back">"Atgal"</string>
|
||||||
<string name="action_cancel">"Atšaukti"</string>
|
<string name="action_cancel">"Atšaukti"</string>
|
||||||
|
|
@ -17,27 +22,32 @@
|
||||||
<string name="action_continue">"Tęsti"</string>
|
<string name="action_continue">"Tęsti"</string>
|
||||||
<string name="action_copy">"Kopijuoti"</string>
|
<string name="action_copy">"Kopijuoti"</string>
|
||||||
<string name="action_copy_link">"Kopijuoti nuorodą"</string>
|
<string name="action_copy_link">"Kopijuoti nuorodą"</string>
|
||||||
|
<string name="action_copy_link_to_message">"Kopijuoti nuorodą į žinutę"</string>
|
||||||
|
<string name="action_copy_text">"Kopijuoti tekstą"</string>
|
||||||
<string name="action_create">"Sukurti"</string>
|
<string name="action_create">"Sukurti"</string>
|
||||||
<string name="action_create_room">"Kurti kambarį"</string>
|
<string name="action_create_room">"Kurti kambarį"</string>
|
||||||
<string name="action_decline">"Atmesti"</string>
|
<string name="action_decline">"Atmesti"</string>
|
||||||
<string name="action_disable">"Išjungti"</string>
|
<string name="action_disable">"Išjungti"</string>
|
||||||
<string name="action_done">"Atlikta"</string>
|
<string name="action_done">"Atlikta"</string>
|
||||||
<string name="action_edit">"Taisyti"</string>
|
<string name="action_edit">"Redaguoti"</string>
|
||||||
<string name="action_enable">"Įjungti"</string>
|
<string name="action_enable">"Įjungti"</string>
|
||||||
<string name="action_forgot_password">"Pamiršote slaptažodį?"</string>
|
<string name="action_forgot_password">"Pamiršote slaptažodį?"</string>
|
||||||
|
<string name="action_forward">"Persiųsti"</string>
|
||||||
<string name="action_invite">"Kviesti"</string>
|
<string name="action_invite">"Kviesti"</string>
|
||||||
<string name="action_invite_friends">"Pakviesti žmonių"</string>
|
<string name="action_invite_friends">"Pakviesti žmonių"</string>
|
||||||
<string name="action_invite_friends_to_app">"Kviesti žmones į %1$s"</string>
|
<string name="action_invite_friends_to_app">"Kviesti žmones į %1$s"</string>
|
||||||
|
<string name="action_invite_people_to_app">"Kviesti žmones į „%1$s“"</string>
|
||||||
<string name="action_invites_list">"Kvietimai"</string>
|
<string name="action_invites_list">"Kvietimai"</string>
|
||||||
<string name="action_learn_more">"Sužinoti daugiau"</string>
|
<string name="action_learn_more">"Sužinoti daugiau"</string>
|
||||||
<string name="action_leave">"Palikti"</string>
|
<string name="action_leave">"Išeiti"</string>
|
||||||
<string name="action_leave_conversation">"Palikti pokalbį"</string>
|
<string name="action_leave_conversation">"Palikti pokalbį"</string>
|
||||||
<string name="action_leave_room">"Palikti kambarį"</string>
|
<string name="action_leave_room">"Palikti kambarį"</string>
|
||||||
<string name="action_load_more">"Įkelti daugiau"</string>
|
<string name="action_load_more">"Įkelti daugiau"</string>
|
||||||
<string name="action_next">"Toliau"</string>
|
<string name="action_next">"Tolesnis"</string>
|
||||||
<string name="action_no">"Ne"</string>
|
<string name="action_no">"Ne"</string>
|
||||||
<string name="action_not_now">"Ne dabar"</string>
|
<string name="action_not_now">"Ne dabar"</string>
|
||||||
<string name="action_ok">"Gerai"</string>
|
<string name="action_ok">"Gerai"</string>
|
||||||
|
<string name="action_open_with">"Atverti su"</string>
|
||||||
<string name="action_quick_reply">"Sparčiai atsakyti"</string>
|
<string name="action_quick_reply">"Sparčiai atsakyti"</string>
|
||||||
<string name="action_quote">"Cituoti"</string>
|
<string name="action_quote">"Cituoti"</string>
|
||||||
<string name="action_remove">"Šalinti"</string>
|
<string name="action_remove">"Šalinti"</string>
|
||||||
|
|
@ -59,15 +69,18 @@
|
||||||
<string name="action_start">"Pradėti"</string>
|
<string name="action_start">"Pradėti"</string>
|
||||||
<string name="action_start_chat">"Pradėti pokalbį"</string>
|
<string name="action_start_chat">"Pradėti pokalbį"</string>
|
||||||
<string name="action_start_verification">"Pradėti patvirtinimą"</string>
|
<string name="action_start_verification">"Pradėti patvirtinimą"</string>
|
||||||
|
<string name="action_static_map_load">"Palieskite norint įkelti žemėlapį"</string>
|
||||||
<string name="action_take_photo">"Fotografuoti"</string>
|
<string name="action_take_photo">"Fotografuoti"</string>
|
||||||
<string name="action_view_source">"Peržiūrėti šaltinį"</string>
|
<string name="action_view_source">"Peržiūrėti šaltinį"</string>
|
||||||
<string name="action_yes">"Taip"</string>
|
<string name="action_yes">"Taip"</string>
|
||||||
<string name="common_about">"Apie"</string>
|
<string name="common_about">"Apie"</string>
|
||||||
|
<string name="common_acceptable_use_policy">"Priimtino naudojimo politika"</string>
|
||||||
<string name="common_analytics">"Analitika"</string>
|
<string name="common_analytics">"Analitika"</string>
|
||||||
<string name="common_android_shortcuts_remove_reason_left_room">"Jūs išėjote iš kambario"</string>
|
<string name="common_android_shortcuts_remove_reason_left_room">"Jūs išėjote iš kambario"</string>
|
||||||
<string name="common_audio">"Garsas"</string>
|
<string name="common_audio">"Garsas"</string>
|
||||||
<string name="common_bubbles">"Burbulai"</string>
|
<string name="common_bubbles">"Burbulai"</string>
|
||||||
<string name="common_chat_backup">"Pokalbio atsarginė kopija"</string>
|
<string name="common_chat_backup">"Pokalbio atsarginė kopija"</string>
|
||||||
|
<string name="common_copyright">"Autorinės teisės"</string>
|
||||||
<string name="common_creating_room">"Kuriamas kambarys…"</string>
|
<string name="common_creating_room">"Kuriamas kambarys…"</string>
|
||||||
<string name="common_current_user_left_room">"Išėjo iš kambario"</string>
|
<string name="common_current_user_left_room">"Išėjo iš kambario"</string>
|
||||||
<string name="common_decryption_error">"Iššifravimo klaida"</string>
|
<string name="common_decryption_error">"Iššifravimo klaida"</string>
|
||||||
|
|
@ -80,6 +93,7 @@
|
||||||
<string name="common_error">"Klaida"</string>
|
<string name="common_error">"Klaida"</string>
|
||||||
<string name="common_file">"Failas"</string>
|
<string name="common_file">"Failas"</string>
|
||||||
<string name="common_file_saved_on_disk_android">"Failas išsaugotas aplanke Atsisiuntimai"</string>
|
<string name="common_file_saved_on_disk_android">"Failas išsaugotas aplanke Atsisiuntimai"</string>
|
||||||
|
<string name="common_forward_message">"Persiųsti žinutę"</string>
|
||||||
<string name="common_gif">"GIF"</string>
|
<string name="common_gif">"GIF"</string>
|
||||||
<string name="common_image">"Paveikslėlis"</string>
|
<string name="common_image">"Paveikslėlis"</string>
|
||||||
<string name="common_invite_unknown_profile">"Šio Matrix ID nepavyksta rasti, todėl kvietimas gali būti negautas."</string>
|
<string name="common_invite_unknown_profile">"Šio Matrix ID nepavyksta rasti, todėl kvietimas gali būti negautas."</string>
|
||||||
|
|
@ -95,18 +109,20 @@
|
||||||
<string name="common_message_layout">"Žinutės išdėstymas"</string>
|
<string name="common_message_layout">"Žinutės išdėstymas"</string>
|
||||||
<string name="common_message_removed">"Žinutė pašalinta"</string>
|
<string name="common_message_removed">"Žinutė pašalinta"</string>
|
||||||
<string name="common_modern">"Modernus"</string>
|
<string name="common_modern">"Modernus"</string>
|
||||||
|
<string name="common_mute">"Nutildyti"</string>
|
||||||
<string name="common_no_results">"Nėra rezultatų"</string>
|
<string name="common_no_results">"Nėra rezultatų"</string>
|
||||||
<string name="common_offline">"Neprisijungta"</string>
|
<string name="common_offline">"Neprisijungta"</string>
|
||||||
<string name="common_password">"Slaptažodis"</string>
|
<string name="common_password">"Slaptažodis"</string>
|
||||||
<string name="common_people">"Žmonės"</string>
|
<string name="common_people">"Žmonės"</string>
|
||||||
<string name="common_permalink">"Nuolatinė nuoroda"</string>
|
<string name="common_permalink">"Nuolatinė nuoroda"</string>
|
||||||
|
<string name="common_privacy_policy">"Privatumo politika"</string>
|
||||||
<string name="common_private_room">"Privatus kambarys"</string>
|
<string name="common_private_room">"Privatus kambarys"</string>
|
||||||
<string name="common_reactions">"Reakcijos"</string>
|
<string name="common_reactions">"Reakcijos"</string>
|
||||||
<string name="common_replying_to">"Atsakant %1$s"</string>
|
<string name="common_replying_to">"Atsakant %1$s"</string>
|
||||||
<string name="common_report_a_bug">"Pranešti apie klaidą"</string>
|
<string name="common_report_a_bug">"Pranešti apie klaidą"</string>
|
||||||
<string name="common_report_submitted">"Skundas pateiktas"</string>
|
<string name="common_report_submitted">"Skundas pateiktas"</string>
|
||||||
<string name="common_room_name">"Kambario pavadinimas"</string>
|
<string name="common_room_name">"Kambario pavadinimas"</string>
|
||||||
<string name="common_room_name_placeholder">"pvz., Jūsų projekto pavadinimas"</string>
|
<string name="common_room_name_placeholder">"pvz., jūsų projekto pavadinimas"</string>
|
||||||
<string name="common_search_for_someone">"Ieškoti ko nors"</string>
|
<string name="common_search_for_someone">"Ieškoti ko nors"</string>
|
||||||
<string name="common_search_results">"Paieškos rezultatai"</string>
|
<string name="common_search_results">"Paieškos rezultatai"</string>
|
||||||
<string name="common_security">"Saugumas"</string>
|
<string name="common_security">"Saugumas"</string>
|
||||||
|
|
@ -119,11 +135,14 @@
|
||||||
<string name="common_sticker">"Lipdukas"</string>
|
<string name="common_sticker">"Lipdukas"</string>
|
||||||
<string name="common_success">"Pavyko"</string>
|
<string name="common_success">"Pavyko"</string>
|
||||||
<string name="common_suggestions">"Pasiūlymai"</string>
|
<string name="common_suggestions">"Pasiūlymai"</string>
|
||||||
|
<string name="common_syncing">"Sinchronizuojama"</string>
|
||||||
|
<string name="common_third_party_notices">"Trečiųjų šalių pranešimai"</string>
|
||||||
<string name="common_topic">"Tema"</string>
|
<string name="common_topic">"Tema"</string>
|
||||||
<string name="common_topic_placeholder">"Apie ką šis kambarys?"</string>
|
<string name="common_topic_placeholder">"Apie ką yra šis kambarys?"</string>
|
||||||
<string name="common_unable_to_decrypt">"Nepavyko iššifruoti"</string>
|
<string name="common_unable_to_decrypt">"Nepavyko iššifruoti"</string>
|
||||||
<string name="common_unable_to_invite_message">"Kvietimų nepavyko išsiųsti vienam ar keliems vartotojams."</string>
|
<string name="common_unable_to_invite_message">"Kvietimų nepavyko išsiųsti vienam ar keliems vartotojams."</string>
|
||||||
<string name="common_unable_to_invite_title">"Nepavyko išsiųsti kvietimo (-ų)"</string>
|
<string name="common_unable_to_invite_title">"Nepavyko išsiųsti kvietimo (-ų)"</string>
|
||||||
|
<string name="common_unmute">"Atšaukti nutildymą"</string>
|
||||||
<string name="common_unsupported_event">"Nepalaikomas įvykis"</string>
|
<string name="common_unsupported_event">"Nepalaikomas įvykis"</string>
|
||||||
<string name="common_username">"Vartotojo vardas"</string>
|
<string name="common_username">"Vartotojo vardas"</string>
|
||||||
<string name="common_verification_cancelled">"Patvirtinimas atšauktas"</string>
|
<string name="common_verification_cancelled">"Patvirtinimas atšauktas"</string>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
<string name="a11y_pause">"Setter på pause"</string>
|
<string name="a11y_pause">"Setter på pause"</string>
|
||||||
<string name="a11y_paused_voice_message">"Talemelding, lengde: %1$s, nåværende posisjon: %2$s"</string>
|
<string name="a11y_paused_voice_message">"Talemelding, lengde: %1$s, nåværende posisjon: %2$s"</string>
|
||||||
<string name="a11y_pin_field">"PIN-felt"</string>
|
<string name="a11y_pin_field">"PIN-felt"</string>
|
||||||
|
<string name="a11y_pinned_location">"Festet lokasjon"</string>
|
||||||
<string name="a11y_play">"Spill av"</string>
|
<string name="a11y_play">"Spill av"</string>
|
||||||
<string name="a11y_playback_speed">"Avspillingshastighet"</string>
|
<string name="a11y_playback_speed">"Avspillingshastighet"</string>
|
||||||
<string name="a11y_poll">"Avstemning"</string>
|
<string name="a11y_poll">"Avstemning"</string>
|
||||||
|
|
@ -45,9 +46,11 @@
|
||||||
<string name="a11y_remove_reaction_with">"Fjern reaksjonen med %1$s"</string>
|
<string name="a11y_remove_reaction_with">"Fjern reaksjonen med %1$s"</string>
|
||||||
<string name="a11y_room_avatar">"Romavatar"</string>
|
<string name="a11y_room_avatar">"Romavatar"</string>
|
||||||
<string name="a11y_send_files">"Sende filer"</string>
|
<string name="a11y_send_files">"Sende filer"</string>
|
||||||
|
<string name="a11y_sender_location">"Avsenderens lokasjon"</string>
|
||||||
<string name="a11y_session_verification_time_limited_action_required">"Tidsbegrenset handling kreves, du har ett minutt på deg til å verifisere"</string>
|
<string name="a11y_session_verification_time_limited_action_required">"Tidsbegrenset handling kreves, du har ett minutt på deg til å verifisere"</string>
|
||||||
<string name="a11y_show_password">"Vis passord"</string>
|
<string name="a11y_show_password">"Vis passord"</string>
|
||||||
<string name="a11y_start_call">"Start en samtale"</string>
|
<string name="a11y_start_call">"Start en samtale"</string>
|
||||||
|
<string name="a11y_start_voice_call">"Start et taleanrop"</string>
|
||||||
<string name="a11y_tombstoned_room">"Deaktivert rom"</string>
|
<string name="a11y_tombstoned_room">"Deaktivert rom"</string>
|
||||||
<string name="a11y_user_avatar">"Brukeravatar"</string>
|
<string name="a11y_user_avatar">"Brukeravatar"</string>
|
||||||
<string name="a11y_user_menu">"Brukermeny"</string>
|
<string name="a11y_user_menu">"Brukermeny"</string>
|
||||||
|
|
@ -272,6 +275,7 @@
|
||||||
<string name="common_offline">"Frakoblet"</string>
|
<string name="common_offline">"Frakoblet"</string>
|
||||||
<string name="common_open_source_licenses">"Åpen kildekode-lisenser"</string>
|
<string name="common_open_source_licenses">"Åpen kildekode-lisenser"</string>
|
||||||
<string name="common_or">"eller"</string>
|
<string name="common_or">"eller"</string>
|
||||||
|
<string name="common_other_options">"Andre alternativer"</string>
|
||||||
<string name="common_password">"Passord"</string>
|
<string name="common_password">"Passord"</string>
|
||||||
<string name="common_people">"Personer"</string>
|
<string name="common_people">"Personer"</string>
|
||||||
<string name="common_permalink">"Permalenke"</string>
|
<string name="common_permalink">"Permalenke"</string>
|
||||||
|
|
@ -393,6 +397,8 @@
|
||||||
<string name="common_waiting_for_decryption_key">"Venter på denne meldingen"</string>
|
<string name="common_waiting_for_decryption_key">"Venter på denne meldingen"</string>
|
||||||
<string name="common_world_readable_history">"Alle kan se historikk"</string>
|
<string name="common_world_readable_history">"Alle kan se historikk"</string>
|
||||||
<string name="common_you">"Du"</string>
|
<string name="common_you">"Du"</string>
|
||||||
|
<string name="crypto_event_key_forwarded_known_profile_dialog_content">"%1$s(%2$s ) delte denne meldingen siden du ikke var i rommet da den ble sendt."</string>
|
||||||
|
<string name="crypto_event_key_forwarded_unknown_profile_dialog_content">"%1$s delte denne meldingen siden du ikke var i rommet da den ble sendt."</string>
|
||||||
<string name="crypto_history_visible">"Dette rommet er konfigurert slik at nye medlemmer kan lese historikken.%1$s"</string>
|
<string name="crypto_history_visible">"Dette rommet er konfigurert slik at nye medlemmer kan lese historikken.%1$s"</string>
|
||||||
<string name="crypto_identity_change_pin_violation">"%1$s\'s identitet ble tilbakestilt. %2$s"</string>
|
<string name="crypto_identity_change_pin_violation">"%1$s\'s identitet ble tilbakestilt. %2$s"</string>
|
||||||
<string name="crypto_identity_change_pin_violation_new">"%1$ss %2$s-identitet ble tilbakestilt. %3$s"</string>
|
<string name="crypto_identity_change_pin_violation_new">"%1$ss %2$s-identitet ble tilbakestilt. %3$s"</string>
|
||||||
|
|
@ -449,6 +455,7 @@ Er du sikker på at du vil fortsette?"</string>
|
||||||
<string name="screen_create_poll_remove_accessibility_label">"Fjern %1$s"</string>
|
<string name="screen_create_poll_remove_accessibility_label">"Fjern %1$s"</string>
|
||||||
<string name="screen_create_poll_settings_section_title">"Innstillinger"</string>
|
<string name="screen_create_poll_settings_section_title">"Innstillinger"</string>
|
||||||
<string name="screen_media_picker_error_failed_selection">"Kunne ikke velge medium, prøv igjen."</string>
|
<string name="screen_media_picker_error_failed_selection">"Kunne ikke velge medium, prøv igjen."</string>
|
||||||
|
<string name="screen_onboarding_welcome_back">"Velkommen tilbake"</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_description">"Trykk på en melding og velg “%1$s” for å inkludere her."</string>
|
<string name="screen_pinned_timeline_empty_state_description">"Trykk på en melding og velg “%1$s” for å inkludere her."</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_headline">"Fest viktige meldinger slik at de lett kan ses"</string>
|
<string name="screen_pinned_timeline_empty_state_headline">"Fest viktige meldinger slik at de lett kan ses"</string>
|
||||||
<plurals name="screen_pinned_timeline_screen_title">
|
<plurals name="screen_pinned_timeline_screen_title">
|
||||||
|
|
@ -483,12 +490,14 @@ Er du sikker på at du vil fortsette?"</string>
|
||||||
<string name="screen_share_open_apple_maps">"Åpne i Apple Maps"</string>
|
<string name="screen_share_open_apple_maps">"Åpne i Apple Maps"</string>
|
||||||
<string name="screen_share_open_google_maps">"Åpne i Google Maps"</string>
|
<string name="screen_share_open_google_maps">"Åpne i Google Maps"</string>
|
||||||
<string name="screen_share_open_osm_maps">"Åpne i OpenStreetMap"</string>
|
<string name="screen_share_open_osm_maps">"Åpne i OpenStreetMap"</string>
|
||||||
<string name="screen_share_this_location_action">"Del denne posisjonen"</string>
|
<string name="screen_share_this_location_action">"Del valgt lokasjon"</string>
|
||||||
<string name="screen_space_list_description">"Områder du har opprettet eller blitt med i."</string>
|
<string name="screen_space_list_description">"Områder du har opprettet eller blitt med i."</string>
|
||||||
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
||||||
<string name="screen_space_list_empty_state_title">"Opprett område for å organisere rom"</string>
|
<string name="screen_space_list_empty_state_title">"Opprett område for å organisere rom"</string>
|
||||||
<string name="screen_space_list_parent_space">"%1$s område"</string>
|
<string name="screen_space_list_parent_space">"%1$s område"</string>
|
||||||
<string name="screen_space_list_title">"Områder"</string>
|
<string name="screen_space_list_title">"Områder"</string>
|
||||||
|
<string name="screen_static_location_sheet_timestamp_description">"Delt %1$s"</string>
|
||||||
|
<string name="screen_static_location_sheet_title">"På kartet"</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Meldingen ble ikke sendt fordi %1$ss verifiserte identitet er tilbakestilt."</string>
|
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Meldingen ble ikke sendt fordi %1$ss verifiserte identitet er tilbakestilt."</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Meldingen ble ikke sendt fordi %1$s ikke har verifisert alle enheter."</string>
|
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Meldingen ble ikke sendt fordi %1$s ikke har verifisert alle enheter."</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Meldingen ble ikke sendt fordi du ikke har verifisert en eller flere av enhetene dine."</string>
|
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Meldingen ble ikke sendt fordi du ikke har verifisert en eller flere av enhetene dine."</string>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="a11y_add_reaction">"Lägg till reaktion: %1$s"</string>
|
<string name="a11y_add_reaction">"Lägg till reaktion: %1$s"</string>
|
||||||
<string name="a11y_avatar">"Avatar"</string>
|
<string name="a11y_avatar">"Avatar"</string>
|
||||||
|
<string name="a11y_collapse_message_text_field">"Krymp meddelandetextfältet"</string>
|
||||||
<string name="a11y_delete">"Radera"</string>
|
<string name="a11y_delete">"Radera"</string>
|
||||||
<plurals name="a11y_digits_entered">
|
<plurals name="a11y_digits_entered">
|
||||||
<item quantity="one">"%1$d siffra angiven"</item>
|
<item quantity="one">"%1$d siffra angiven"</item>
|
||||||
|
|
@ -10,6 +11,7 @@
|
||||||
<string name="a11y_edit_avatar">"Redigera avatar"</string>
|
<string name="a11y_edit_avatar">"Redigera avatar"</string>
|
||||||
<string name="a11y_edit_room_address_hint">"Den fullständiga adressen kommer att vara %1$s"</string>
|
<string name="a11y_edit_room_address_hint">"Den fullständiga adressen kommer att vara %1$s"</string>
|
||||||
<string name="a11y_encryption_details">"Krypteringsdetaljer"</string>
|
<string name="a11y_encryption_details">"Krypteringsdetaljer"</string>
|
||||||
|
<string name="a11y_expand_message_text_field">"Expandera meddelandetextfältet"</string>
|
||||||
<string name="a11y_hide_password">"Dölj lösenord"</string>
|
<string name="a11y_hide_password">"Dölj lösenord"</string>
|
||||||
<string name="a11y_join_call">"Anslut till samtal"</string>
|
<string name="a11y_join_call">"Anslut till samtal"</string>
|
||||||
<string name="a11y_jump_to_bottom">"Hoppa till botten"</string>
|
<string name="a11y_jump_to_bottom">"Hoppa till botten"</string>
|
||||||
|
|
@ -40,7 +42,7 @@
|
||||||
<string name="a11y_remove_reaction_with">"Ta bort reaktion med %1$s"</string>
|
<string name="a11y_remove_reaction_with">"Ta bort reaktion med %1$s"</string>
|
||||||
<string name="a11y_room_avatar">"Rumsavatar"</string>
|
<string name="a11y_room_avatar">"Rumsavatar"</string>
|
||||||
<string name="a11y_send_files">"Skicka filer"</string>
|
<string name="a11y_send_files">"Skicka filer"</string>
|
||||||
<string name="a11y_session_verification_time_limited_action_required">"Tidsbegränsad åtgärd krävs"</string>
|
<string name="a11y_session_verification_time_limited_action_required">"Tidsbegränsad åtgärd krävs, du har en minut på dig att verifiera"</string>
|
||||||
<string name="a11y_show_password">"Visa lösenord"</string>
|
<string name="a11y_show_password">"Visa lösenord"</string>
|
||||||
<string name="a11y_start_call">"Starta ett samtal"</string>
|
<string name="a11y_start_call">"Starta ett samtal"</string>
|
||||||
<string name="a11y_tombstoned_room">"Gravstensmärkt rum"</string>
|
<string name="a11y_tombstoned_room">"Gravstensmärkt rum"</string>
|
||||||
|
|
@ -103,6 +105,7 @@
|
||||||
<string name="action_leave">"Lämna"</string>
|
<string name="action_leave">"Lämna"</string>
|
||||||
<string name="action_leave_conversation">"Lämna konversation"</string>
|
<string name="action_leave_conversation">"Lämna konversation"</string>
|
||||||
<string name="action_leave_room">"Lämna rum"</string>
|
<string name="action_leave_room">"Lämna rum"</string>
|
||||||
|
<string name="action_leave_space">"Lämna utrymmet"</string>
|
||||||
<string name="action_load_more">"Ladda mer"</string>
|
<string name="action_load_more">"Ladda mer"</string>
|
||||||
<string name="action_manage_account">"Hantera konto"</string>
|
<string name="action_manage_account">"Hantera konto"</string>
|
||||||
<string name="action_manage_devices">"Hantera enheter"</string>
|
<string name="action_manage_devices">"Hantera enheter"</string>
|
||||||
|
|
@ -164,6 +167,8 @@
|
||||||
<string name="banner_migrate_to_native_sliding_sync_title">"Uppgradering tillgänglig"</string>
|
<string name="banner_migrate_to_native_sliding_sync_title">"Uppgradering tillgänglig"</string>
|
||||||
<string name="common_about">"Om"</string>
|
<string name="common_about">"Om"</string>
|
||||||
<string name="common_acceptable_use_policy">"Policy för godtagbar användning"</string>
|
<string name="common_acceptable_use_policy">"Policy för godtagbar användning"</string>
|
||||||
|
<string name="common_add_account">"Lägg till ett konto"</string>
|
||||||
|
<string name="common_add_another_account">"Lägg till ytterligare ett konto"</string>
|
||||||
<string name="common_adding_caption">"Lägga till bildtext"</string>
|
<string name="common_adding_caption">"Lägga till bildtext"</string>
|
||||||
<string name="common_advanced_settings">"Avancerade inställningar"</string>
|
<string name="common_advanced_settings">"Avancerade inställningar"</string>
|
||||||
<string name="common_an_image">"en bild"</string>
|
<string name="common_an_image">"en bild"</string>
|
||||||
|
|
@ -184,6 +189,7 @@
|
||||||
<string name="common_current_user_rejected_invite">"Inbjudan avvisad"</string>
|
<string name="common_current_user_rejected_invite">"Inbjudan avvisad"</string>
|
||||||
<string name="common_dark">"Mörkt"</string>
|
<string name="common_dark">"Mörkt"</string>
|
||||||
<string name="common_decryption_error">"Avkrypteringsfel"</string>
|
<string name="common_decryption_error">"Avkrypteringsfel"</string>
|
||||||
|
<string name="common_description">"Beskrivning"</string>
|
||||||
<string name="common_developer_options">"Utvecklaralternativ"</string>
|
<string name="common_developer_options">"Utvecklaralternativ"</string>
|
||||||
<string name="common_device_id">"Enhets-ID"</string>
|
<string name="common_device_id">"Enhets-ID"</string>
|
||||||
<string name="common_direct_chat">"Direktchatt"</string>
|
<string name="common_direct_chat">"Direktchatt"</string>
|
||||||
|
|
@ -293,12 +299,14 @@ Anledning:%1$s."</string>
|
||||||
<string name="common_search_results">"Sökresultat"</string>
|
<string name="common_search_results">"Sökresultat"</string>
|
||||||
<string name="common_security">"Säkerhet"</string>
|
<string name="common_security">"Säkerhet"</string>
|
||||||
<string name="common_seen_by">"Sett av"</string>
|
<string name="common_seen_by">"Sett av"</string>
|
||||||
|
<string name="common_select_account">"Välj ett konto"</string>
|
||||||
<string name="common_send_to">"Skicka till"</string>
|
<string name="common_send_to">"Skicka till"</string>
|
||||||
<string name="common_sending">"Skickar …"</string>
|
<string name="common_sending">"Skickar …"</string>
|
||||||
<string name="common_sending_failed">"Misslyckades att skicka"</string>
|
<string name="common_sending_failed">"Misslyckades att skicka"</string>
|
||||||
<string name="common_sent">"Skickat"</string>
|
<string name="common_sent">"Skickat"</string>
|
||||||
<string name="common_sentence_delimiter">". "</string>
|
<string name="common_sentence_delimiter">". "</string>
|
||||||
<string name="common_server_not_supported">"Servern stöds inte"</string>
|
<string name="common_server_not_supported">"Servern stöds inte"</string>
|
||||||
|
<string name="common_server_unreachable">"Servern kan inte nås"</string>
|
||||||
<string name="common_server_url">"Server-URL"</string>
|
<string name="common_server_url">"Server-URL"</string>
|
||||||
<string name="common_settings">"Inställningar"</string>
|
<string name="common_settings">"Inställningar"</string>
|
||||||
<string name="common_shared_location">"Delade plats"</string>
|
<string name="common_shared_location">"Delade plats"</string>
|
||||||
|
|
@ -376,6 +384,8 @@ Anledning:%1$s."</string>
|
||||||
<string name="dialog_video_quality_selector_subtitle_file_size">"Den maximala tillåtna filstorleken är: %1$s"</string>
|
<string name="dialog_video_quality_selector_subtitle_file_size">"Den maximala tillåtna filstorleken är: %1$s"</string>
|
||||||
<string name="dialog_video_quality_selector_subtitle_no_file_size">"Välj kvaliteten på videon du vill ladda upp."</string>
|
<string name="dialog_video_quality_selector_subtitle_no_file_size">"Välj kvaliteten på videon du vill ladda upp."</string>
|
||||||
<string name="dialog_video_quality_selector_title">"Välj videouppladdningskvalitet"</string>
|
<string name="dialog_video_quality_selector_title">"Välj videouppladdningskvalitet"</string>
|
||||||
|
<string name="emoji_picker_search_placeholder">"Sök emojier"</string>
|
||||||
|
<string name="error_account_already_logged_in">"Du är redan inloggad på den här enheten som %1$s."</string>
|
||||||
<string name="error_account_creation_not_possible">"Din hemserver måste uppgraderas för att stödja Matrix Authentication Service och skapande av konto."</string>
|
<string name="error_account_creation_not_possible">"Din hemserver måste uppgraderas för att stödja Matrix Authentication Service och skapande av konto."</string>
|
||||||
<string name="error_failed_creating_the_permalink">"Misslyckades att skapa permalänken"</string>
|
<string name="error_failed_creating_the_permalink">"Misslyckades att skapa permalänken"</string>
|
||||||
<string name="error_failed_loading_map">"%1$s kunde inte ladda kartan. Vänligen försök igen senare."</string>
|
<string name="error_failed_loading_map">"%1$s kunde inte ladda kartan. Vänligen försök igen senare."</string>
|
||||||
|
|
@ -436,7 +446,7 @@ Anledning:%1$s."</string>
|
||||||
<string name="screen_share_open_apple_maps">"Öppna i Apple Maps"</string>
|
<string name="screen_share_open_apple_maps">"Öppna i Apple Maps"</string>
|
||||||
<string name="screen_share_open_google_maps">"Öppna i Google Maps"</string>
|
<string name="screen_share_open_google_maps">"Öppna i Google Maps"</string>
|
||||||
<string name="screen_share_open_osm_maps">"Öppna i OpenStreetMap"</string>
|
<string name="screen_share_open_osm_maps">"Öppna i OpenStreetMap"</string>
|
||||||
<string name="screen_share_this_location_action">"Dela den här platsen"</string>
|
<string name="screen_share_this_location_action">"Dela fäst plats"</string>
|
||||||
<string name="screen_space_list_description">"Utrymmen som du har skapat eller gått med i."</string>
|
<string name="screen_space_list_description">"Utrymmen som du har skapat eller gått med i."</string>
|
||||||
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
||||||
<string name="screen_space_list_title">"Utrymmen"</string>
|
<string name="screen_space_list_title">"Utrymmen"</string>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
<string name="a11y_pause">"Pause"</string>
|
<string name="a11y_pause">"Pause"</string>
|
||||||
<string name="a11y_paused_voice_message">"Voice message, duration: %1$s, current position: %2$s"</string>
|
<string name="a11y_paused_voice_message">"Voice message, duration: %1$s, current position: %2$s"</string>
|
||||||
<string name="a11y_pin_field">"PIN field"</string>
|
<string name="a11y_pin_field">"PIN field"</string>
|
||||||
|
<string name="a11y_pinned_location">"Pinned location"</string>
|
||||||
<string name="a11y_play">"Play"</string>
|
<string name="a11y_play">"Play"</string>
|
||||||
<string name="a11y_playback_speed">"Playback speed"</string>
|
<string name="a11y_playback_speed">"Playback speed"</string>
|
||||||
<string name="a11y_poll">"Poll"</string>
|
<string name="a11y_poll">"Poll"</string>
|
||||||
|
|
@ -45,6 +46,7 @@
|
||||||
<string name="a11y_remove_reaction_with">"Remove reaction with %1$s"</string>
|
<string name="a11y_remove_reaction_with">"Remove reaction with %1$s"</string>
|
||||||
<string name="a11y_room_avatar">"Room avatar"</string>
|
<string name="a11y_room_avatar">"Room avatar"</string>
|
||||||
<string name="a11y_send_files">"Send files"</string>
|
<string name="a11y_send_files">"Send files"</string>
|
||||||
|
<string name="a11y_sender_location">"Sender location"</string>
|
||||||
<string name="a11y_session_verification_time_limited_action_required">"Time limited action required, you have one minute to verify"</string>
|
<string name="a11y_session_verification_time_limited_action_required">"Time limited action required, you have one minute to verify"</string>
|
||||||
<string name="a11y_show_password">"Show password"</string>
|
<string name="a11y_show_password">"Show password"</string>
|
||||||
<string name="a11y_start_call">"Start a call"</string>
|
<string name="a11y_start_call">"Start a call"</string>
|
||||||
|
|
@ -273,6 +275,7 @@ Reason: %1$s."</string>
|
||||||
<string name="common_offline">"Offline"</string>
|
<string name="common_offline">"Offline"</string>
|
||||||
<string name="common_open_source_licenses">"Open source licenses"</string>
|
<string name="common_open_source_licenses">"Open source licenses"</string>
|
||||||
<string name="common_or">"or"</string>
|
<string name="common_or">"or"</string>
|
||||||
|
<string name="common_other_options">"Other options"</string>
|
||||||
<string name="common_password">"Password"</string>
|
<string name="common_password">"Password"</string>
|
||||||
<string name="common_people">"People"</string>
|
<string name="common_people">"People"</string>
|
||||||
<string name="common_permalink">"Permalink"</string>
|
<string name="common_permalink">"Permalink"</string>
|
||||||
|
|
@ -454,6 +457,7 @@ Are you sure you want to continue?"</string>
|
||||||
<string name="screen_create_poll_remove_accessibility_label">"Remove %1$s"</string>
|
<string name="screen_create_poll_remove_accessibility_label">"Remove %1$s"</string>
|
||||||
<string name="screen_create_poll_settings_section_title">"Settings"</string>
|
<string name="screen_create_poll_settings_section_title">"Settings"</string>
|
||||||
<string name="screen_media_picker_error_failed_selection">"Failed selecting media, please try again."</string>
|
<string name="screen_media_picker_error_failed_selection">"Failed selecting media, please try again."</string>
|
||||||
|
<string name="screen_onboarding_welcome_back">"Welcome back"</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_description">"Press on a message and choose “%1$s” to include here."</string>
|
<string name="screen_pinned_timeline_empty_state_description">"Press on a message and choose “%1$s” to include here."</string>
|
||||||
<string name="screen_pinned_timeline_empty_state_headline">"Pin important messages so that they can be easily discovered"</string>
|
<string name="screen_pinned_timeline_empty_state_headline">"Pin important messages so that they can be easily discovered"</string>
|
||||||
<plurals name="screen_pinned_timeline_screen_title">
|
<plurals name="screen_pinned_timeline_screen_title">
|
||||||
|
|
@ -488,12 +492,14 @@ Are you sure you want to continue?"</string>
|
||||||
<string name="screen_share_open_apple_maps">"Open in Apple Maps"</string>
|
<string name="screen_share_open_apple_maps">"Open in Apple Maps"</string>
|
||||||
<string name="screen_share_open_google_maps">"Open in Google Maps"</string>
|
<string name="screen_share_open_google_maps">"Open in Google Maps"</string>
|
||||||
<string name="screen_share_open_osm_maps">"Open in OpenStreetMap"</string>
|
<string name="screen_share_open_osm_maps">"Open in OpenStreetMap"</string>
|
||||||
<string name="screen_share_this_location_action">"Share this location"</string>
|
<string name="screen_share_this_location_action">"Share selected location"</string>
|
||||||
<string name="screen_space_list_description">"Spaces you have created or joined."</string>
|
<string name="screen_space_list_description">"Spaces you have created or joined."</string>
|
||||||
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
<string name="screen_space_list_details">"%1$s • %2$s"</string>
|
||||||
<string name="screen_space_list_empty_state_title">"Create spaces to organize rooms"</string>
|
<string name="screen_space_list_empty_state_title">"Create spaces to organize rooms"</string>
|
||||||
<string name="screen_space_list_parent_space">"%1$s space"</string>
|
<string name="screen_space_list_parent_space">"%1$s space"</string>
|
||||||
<string name="screen_space_list_title">"Spaces"</string>
|
<string name="screen_space_list_title">"Spaces"</string>
|
||||||
|
<string name="screen_static_location_sheet_timestamp_description">"Shared %1$s"</string>
|
||||||
|
<string name="screen_static_location_sheet_title">"On the map"</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Message not sent because %1$s’s verified identity was reset."</string>
|
<string name="screen_timeline_item_menu_send_failure_changed_identity">"Message not sent because %1$s’s verified identity was reset."</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Message not sent because %1$s has not verified all devices."</string>
|
<string name="screen_timeline_item_menu_send_failure_unsigned_device">"Message not sent because %1$s has not verified all devices."</string>
|
||||||
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Message not sent because you have not verified one or more of your devices."</string>
|
<string name="screen_timeline_item_menu_send_failure_you_unsigned_device">"Message not sent because you have not verified one or more of your devices."</string>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ private const val versionMonth = 3
|
||||||
* Release number in the month. Value must be in [0,99].
|
* Release number in the month. Value must be in [0,99].
|
||||||
* Do not update this value. it is updated by the release script.
|
* Do not update this value. it is updated by the release script.
|
||||||
*/
|
*/
|
||||||
private const val versionReleaseNumber = 0
|
private const val versionReleaseNumber = 2
|
||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:b52b845a62029f35301b0bcc09400c9ba35d956a1c7cc82a3ed0a3cdedd4932d
|
oid sha256:4c0f9f0948da8553e64cbd3dd8643420dbbe0b2ee0655ef09b4d4869495f8f67
|
||||||
size 38134
|
size 38036
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:dca1955ed934e6b486decb34a6f0e29ab6539501834c45e8a525f2ad566315f4
|
oid sha256:53f201aeace81ee0564d41542bfc8ea904d71527746ead6cbd6e9faddf29e699
|
||||||
size 38519
|
size 38421
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:8347a215ae8d8c17ba9485d261ae13d13c30bddf9453621b95dd49dabbf9e88e
|
oid sha256:15200b3f62fbd9b0ecab51560faa4696f384daf7463a407445b2191f94c13645
|
||||||
size 38789
|
size 38695
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:da8ace309d8bee543c098698f96c119c7a6fce429723960f5e7c1433b730c92f
|
oid sha256:059452488e08fcb9f35afe0db8805665417108ed0593561251f648b91eb7c3ff
|
||||||
size 43752
|
size 43688
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:60bbde8473f333140b2a0191bb093a67e7f354a2f999356d809168dfa50c8eaf
|
oid sha256:30358430cd572face46c5d6e060fe0b93947670aa4c4caa091f8a50521ae36a7
|
||||||
size 35561
|
size 35467
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:9526607fd3b013a2061f98c5c9dd32dd134ae5e08faa21b15d9ba3a74c6a1f3e
|
oid sha256:7b3ed6ddd42ca136fdb7ad0f18d03e112594c0d9de93264bc2659e1b3a4e1e75
|
||||||
size 40678
|
size 40614
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7fd983551fdae995ad39739aadb1893d2870544138e514c1551ef93dc1cf5922
|
oid sha256:1b6828f3878d95a0357b399072acce35b073767fdbbfea90fe9eca73f60af802
|
||||||
size 31665
|
size 31600
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:db51d3123ccb4d8bcff21a665a794d8069dfa99e99c986d415e4fd4750d2b4f5
|
oid sha256:91a83c3de10fea2e5edf3d96bc9ecc1fd81000ec957970696bca6c13d4d9dca3
|
||||||
size 31888
|
size 31820
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:88f145979ddab968ef8ba7cc6e332d3382e812aa3fb08945f3df303a1b45c38d
|
oid sha256:fae8924163db1235fa1aa601e3a61615c606cbca907ffacfb988482b52156ae4
|
||||||
size 19531
|
size 19811
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:fb4f73f673f25ab306727f8dc194f380f196b4b15eec5847d9249d941b260506
|
oid sha256:285ff38423ef63928badae705273b66865f62bb2938f7c8598291e9978266707
|
||||||
size 17219
|
size 16885
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ddbf1f7c9a101256e4cb794f70529ac48d7815d154b89de5940911abef9c7503
|
oid sha256:2274075943410f96d90d8b232502bb0407a3009cb7ccdcfc9701ffbfb4bb0345
|
||||||
size 19333
|
size 19783
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:0bccc5989905f8ef3a9f377dbbc115536bb57109b06b6154c4bdc20c5e766aca
|
oid sha256:9333d00baec2b4378d134c71d7b96e3c0ff053ce128027e769fc06c0f01653e2
|
||||||
size 19228
|
size 19611
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:285ff38423ef63928badae705273b66865f62bb2938f7c8598291e9978266707
|
|
||||||
size 16885
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2274075943410f96d90d8b232502bb0407a3009cb7ccdcfc9701ffbfb4bb0345
|
|
||||||
size 19783
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9333d00baec2b4378d134c71d7b96e3c0ff053ce128027e769fc06c0f01653e2
|
|
||||||
size 19611
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:bdf518794265ae8575c3ebea6c15c00c8b5d00b60bb6f959632daeab7c26ee0e
|
oid sha256:ab9145524bb4aa2451827f92684a0a8be08db00be3cc3b69ac58f9e4d69c1bf2
|
||||||
size 37965
|
size 38097
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -49,6 +49,7 @@ class KonsistComposableTest {
|
||||||
"CompoundSemanticColorsDarkHc",
|
"CompoundSemanticColorsDarkHc",
|
||||||
"HorizontalFloatingToolbarItem",
|
"HorizontalFloatingToolbarItem",
|
||||||
"HorizontalFloatingToolbarSeparator",
|
"HorizontalFloatingToolbarSeparator",
|
||||||
|
"DebugNavStateNodeHost",
|
||||||
)
|
)
|
||||||
.assertTrue(
|
.assertTrue(
|
||||||
additionalMessage =
|
additionalMessage =
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:339d402bffbd0ddf8828c0a025e9521b7fcc28659dfb5b3c7eb143f5d3fe5696
|
oid sha256:95a8d94f223cdb1f45fb43406688c7ae103a0e6c8cead84c7726795c553a3b54
|
||||||
size 18750
|
size 19773
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:500749c5e5327dab22166a33eb0dbaa0fe027f161a38fd302d5460a76dc6d8aa
|
oid sha256:0cf81beb22fca6641de9e08d69da0b6f2ed1e2593296987ac7c052c89010ee75
|
||||||
size 34648
|
size 35449
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:7aa566b480a4b051a64f3a46a743df038a4924c2bc33c3218f6386cc6adb4bb8
|
oid sha256:0281adefc90c5ec6a9788a142bca2bc486f1957e943791bb61c1e20e707ab0a7
|
||||||
size 33134
|
size 33926
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:339d402bffbd0ddf8828c0a025e9521b7fcc28659dfb5b3c7eb143f5d3fe5696
|
oid sha256:95a8d94f223cdb1f45fb43406688c7ae103a0e6c8cead84c7726795c553a3b54
|
||||||
size 18750
|
size 19773
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f6fb324c833f5065586079f5e5dc5b89a7351a2ebdc25003839181766539c818
|
oid sha256:ece0a2814e93bf971c2bfd5309cd239d98795d8ae72041c0a48f0f304250a017
|
||||||
size 18380
|
size 19325
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:29761c66f1e2a21033097fcffb912ffe0df1604d3b4236316083f7f513713b93
|
oid sha256:982df0a262833543c2d4cd56059e48e9020f3bf5b00843acec5b92066dd6ffb3
|
||||||
size 32792
|
size 33522
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:dd6468e93b9fbb3e0c3f37d5be3577f8b576e1d4763b2f8efec35380d938090b
|
oid sha256:6d05adff48c9c6dff7178c556d746f8729e45cb100d074f3bb6a2d783211612a
|
||||||
size 31381
|
size 32108
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f6fb324c833f5065586079f5e5dc5b89a7351a2ebdc25003839181766539c818
|
oid sha256:ece0a2814e93bf971c2bfd5309cd239d98795d8ae72041c0a48f0f304250a017
|
||||||
size 18380
|
size 19325
|
||||||
|
|
|
||||||
|
|
@ -142,9 +142,14 @@ if not args.simulate:
|
||||||
# open file to write in binary mode
|
# open file to write in binary mode
|
||||||
with open(target, "wb") as file:
|
with open(target, "wb") as file:
|
||||||
# get request
|
# get request
|
||||||
response = requests.get(url, headers=headers)
|
with requests.get(url, headers=headers, stream=True) as response:
|
||||||
# write to file
|
total = int(response.headers.get('Content-Length', 0))
|
||||||
file.write(response.content)
|
totalStr = "{0:.2f}".format(total / 1024 / 1024)
|
||||||
|
for chunk in response.iter_content(chunk_size=65536):
|
||||||
|
if chunk: # filter out keep-alive new chunks
|
||||||
|
file.write(chunk)
|
||||||
|
current = "{0:.2f}".format(file.tell() / 1024 / 1024)
|
||||||
|
print(f"Downloaded {current}/{totalStr} MB", end="\r")
|
||||||
print("Verifying file size...")
|
print("Verifying file size...")
|
||||||
# get the file size
|
# get the file size
|
||||||
size = os.path.getsize(target)
|
size = os.path.getsize(target)
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,15 @@ git flow release start "${version}"
|
||||||
# Note: in case the release is already started and the script is started again, checkout the release branch again.
|
# Note: in case the release is already started and the script is started again, checkout the release branch again.
|
||||||
ret=$?
|
ret=$?
|
||||||
if [[ $ret -ne 0 ]]; then
|
if [[ $ret -ne 0 ]]; then
|
||||||
printf "Mmh, it seems that the release is already started. Checking out the release branch...\n"
|
printf "Mmh, it seems that the release is already started. I'm displaying the changes now:\n"
|
||||||
|
git diff --stat "release/${version}" origin/main
|
||||||
|
printf "Do you want to continue the release using its contents?\n\n"
|
||||||
|
read -r -p "Continue (yes/no) default to yes? " doContinue
|
||||||
|
doContinue=${doContinue:-yes}
|
||||||
|
if [ "${doContinue}" == "no" ]; then
|
||||||
|
printf "OK, exiting, you can start the release again with the command 'git flow release start %s'\n" "${version}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
git checkout "release/${version}"
|
git checkout "release/${version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue