Skip to content

Commit 141cac7

Browse files
committed
Merge branch 'release/0.2.0' into main
2 parents fc40f69 + 5886e6b commit 141cac7

File tree

995 files changed

+13374
-3246
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

995 files changed

+13374
-3246
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
group: ${{ github.ref == 'refs/heads/develop' && format('build-develop-{0}-{1}', matrix.variant, github.sha) || format('build-{0}-{1}', matrix.variant, github.ref) }}
2828
cancel-in-progress: true
2929
steps:
30-
- uses: actions/checkout@v3
30+
- uses: actions/checkout@v4
3131
with:
3232
# Ensure we are building the branch and not the branch after being merged on develop
3333
# https://github.com/actions/checkout/issues/881

.github/workflows/danger.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: ubuntu-latest
88
name: Danger main check
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
- run: |
1212
npm install --save-dev @babel/plugin-transform-flow-strip-types
1313
- name: Danger

.github/workflows/gradle-wrapper-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
update-gradle-wrapper:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v3
11+
- uses: actions/checkout@v4
1212
- name: Update Gradle Wrapper
1313
uses: gradle-update/update-gradle-wrapper-action@v1
1414
# Skip in forks

.github/workflows/gradle-wrapper-validation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ jobs:
1111
runs-on: ubuntu-latest
1212
# No concurrency required, this is a prerequisite to other actions and should run every time.
1313
steps:
14-
- uses: actions/checkout@v3
14+
- uses: actions/checkout@v4
1515
- uses: gradle/wrapper-validation-action@v1

.github/workflows/maestro.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
group: ${{ format('maestro-{0}', github.ref) }}
2525
cancel-in-progress: true
2626
steps:
27-
- uses: actions/checkout@v3
27+
- uses: actions/checkout@v4
2828
with:
2929
# Ensure we are building the branch and not the branch after being merged on develop
3030
# https://github.com/actions/checkout/issues/881

.github/workflows/nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
if: ${{ github.repository == 'vector-im/element-x-android' }}
1818
steps:
19-
- uses: actions/checkout@v3
19+
- uses: actions/checkout@v4
2020
- name: Use JDK 17
2121
uses: actions/setup-java@v3
2222
with:

.github/workflows/nightlyReports.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
name: Dependency analysis
5656
runs-on: ubuntu-latest
5757
steps:
58-
- uses: actions/checkout@v3
58+
- uses: actions/checkout@v4
5959
- name: Use JDK 17
6060
uses: actions/setup-java@v3
6161
with:

.github/workflows/quality.yml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
name: Search for forbidden patterns
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121
- name: Run code quality check suite
2222
run: ./tools/check/check_code_quality.sh
2323

@@ -29,7 +29,7 @@ jobs:
2929
group: ${{ github.ref == 'refs/heads/main' && format('check-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('check-develop-{0}', github.sha) || format('check-{0}', github.ref) }}
3030
cancel-in-progress: true
3131
steps:
32-
- uses: actions/checkout@v3
32+
- uses: actions/checkout@v4
3333
with:
3434
# Ensure we are building the branch and not the branch after being merged on develop
3535
# https://github.com/actions/checkout/issues/881
@@ -52,12 +52,6 @@ jobs:
5252
name: linting-report
5353
path: |
5454
*/build/reports/**/*.*
55-
- name: 🔊 Publish results to Sonar
56-
env:
57-
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
58-
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
59-
if: ${{ always() && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }}
60-
run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES
6155
- name: Prepare Danger
6256
if: always()
6357
run: |

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
group: ${{ github.ref == 'refs/head/main' && format('build-release-main-{0}', github.sha) }}
1919
cancel-in-progress: true
2020
steps:
21-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@v4
2222
- name: Use JDK 17
2323
uses: actions/setup-java@v3
2424
with:

.github/workflows/sonar.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Code Quality Checks
1+
name: Sonar
22

33
on:
44
workflow_dispatch:
@@ -10,18 +10,18 @@ on:
1010
# Enrich gradle.properties for CI/CD
1111
env:
1212
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -XX:MaxMetaspaceSize=512m -Dkotlin.daemon.jvm.options="-Xmx2g" -Dkotlin.incremental=false
13-
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon --warn
13+
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 4 --no-daemon --warn
1414

1515
jobs:
1616
sonar:
17-
name: Project Check Suite
17+
name: Sonar Quality Checks
1818
runs-on: ubuntu-latest
1919
# Allow all jobs on main and develop. Just one per PR.
2020
concurrency:
2121
group: ${{ github.ref == 'refs/heads/main' && format('sonar-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('sonar-develop-{0}', github.sha) || format('sonar-{0}', github.ref) }}
2222
cancel-in-progress: true
2323
steps:
24-
- uses: actions/checkout@v3
24+
- uses: actions/checkout@v4
2525
with:
2626
# Ensure we are building the branch and not the branch after being merged on develop
2727
# https://github.com/actions/checkout/issues/881
@@ -41,9 +41,3 @@ jobs:
4141
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
4242
if: ${{ always() && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }}
4343
run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES
44-
- name: Prepare Danger
45-
if: always()
46-
run: |
47-
npm install --save-dev @babel/core
48-
npm install --save-dev @babel/plugin-transform-flow-strip-types
49-
yarn add danger-plugin-lint-report --dev

.github/workflows/sync-localazy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
# Skip in forks
1212
if: github.repository == 'vector-im/element-x-android'
1313
steps:
14-
- uses: actions/checkout@v3
14+
- uses: actions/checkout@v4
1515
- name: Set up Python 3.9
1616
uses: actions/setup-python@v4
1717
with:

.github/workflows/tests.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ jobs:
2222
group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('unit-tests-{0}', github.ref) }}
2323
cancel-in-progress: true
2424
steps:
25+
# Increase swapfile size to prevent screenshot tests getting terminated
26+
# https://github.com/actions/runner-images/discussions/7188#discussioncomment-6750749
27+
- name: 💽 Increase swapfile size
28+
run: |
29+
sudo swapoff -a
30+
sudo fallocate -l 8G /mnt/swapfile
31+
sudo chmod 600 /mnt/swapfile
32+
sudo mkswap /mnt/swapfile
33+
sudo swapon /mnt/swapfile
34+
sudo swapon --show
2535
- name: ⏬ Checkout with LFS
2636
uses: nschloe/[email protected]
2737
with:

.maestro/tests/account/changeServer.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ appId: ${APP_ID}
1515
- tapOn: "gnuradio.org"
1616
- extendedWaitUntil:
1717
visible: "This server currently doesn’t support sliding sync."
18-
timeout: 10_000
18+
timeout: 10000
1919
- tapOn: "Cancel"
2020
- back
2121
- back

.maestro/tests/assertions/assertAnalyticsDisplayed.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ appId: ${APP_ID}
22
---
33
- extendedWaitUntil:
44
visible: "Help improve Element X dbg"
5-
timeout: 10_000
5+
timeout: 10000

.maestro/tests/assertions/assertHomeDisplayed.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ appId: ${APP_ID}
22
---
33
- extendedWaitUntil:
44
visible: "All Chats"
5-
timeout: 10_000
5+
timeout: 10000

.maestro/tests/assertions/assertInitDisplayed.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ appId: ${APP_ID}
22
---
33
- extendedWaitUntil:
44
visible: "Be in your element"
5-
timeout: 10_000
5+
timeout: 10000

.maestro/tests/assertions/assertLoginDisplayed.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ appId: ${APP_ID}
22
---
33
- extendedWaitUntil:
44
visible: "Change account provider"
5-
timeout: 10_000
5+
timeout: 10000

.maestro/tests/assertions/assertRoomListSynced.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ appId: ${APP_ID}
22
---
33
- extendedWaitUntil:
44
visible: ${ROOM_NAME}
5-
timeout: 10_000
5+
timeout: 10000

.maestro/tests/assertions/assertWelcomeScreenDisplayed.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ appId: ${APP_ID}
33
- extendedWaitUntil:
44
visible:
55
id: "welcome_screen-title"
6-
timeout: 10_000
6+
timeout: 10000

.maestro/tests/roomList/timeline/messages/text.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
appId: ${APP_ID}
22
---
33
- takeScreenshot: build/maestro/510-Timeline
4-
- tapOn: "Message"
4+
- tapOn:
5+
id: "rich_text_editor"
56
- inputText: "Hello world!"
67
- tapOn: "Send"
78
- hideKeyboard

CHANGES.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
Changes in Element X v0.2.0 (2023-09-18)
2+
========================================
3+
4+
Features ✨
5+
----------
6+
- Bump Rust SDK to `v0.1.54`
7+
- Add a "Mute" shortcut icon and a "Notifications" section in the room details screen ([#506](https://github.com/vector-im/element-x-android/issues/506))
8+
- Add a notification permission screen to the initial flow. ([#897](https://github.com/vector-im/element-x-android/issues/897))
9+
- Integrate Element Call into EX by embedding a call in a WebView. ([#1300](https://github.com/vector-im/element-x-android/issues/1300))
10+
- Implement Bloom effect modifier. ([#1217](https://github.com/vector-im/element-x-android/issues/1217))
11+
- Set color on display name and default avatar in the timeline. ([#1224](https://github.com/vector-im/element-x-android/issues/1224))
12+
- Display a thread decorator in timeline so we know when a message is coming from a thread. ([#1236](https://github.com/vector-im/element-x-android/issues/1236))
13+
- [Rich text editor] Integrate rich text editor library. Note that markdown is now not supported and further formatting support will be introduced through the rich text editor. ([#1172](https://github.com/vector-im/element-x-android/issues/1172))
14+
- [Rich text editor] Add formatting menu (accessible via the '+' button) ([#1261](https://github.com/vector-im/element-x-android/issues/1261))
15+
- [Rich text editor] Add feature flag for rich text editor. Markdown support can now be enabled by disabling the rich text editor. ([#1289](https://github.com/vector-im/element-x-android/issues/1289))
16+
- [Rich text editor] Update design ([#1332](https://github.com/vector-im/element-x-android/issues/1332))
17+
18+
Bugfixes 🐛
19+
----------
20+
- Make links in room topic clickable ([#612](https://github.com/vector-im/element-x-android/issues/612))
21+
- Reply action: harmonize conditions in bottom sheet and swipe to reply. ([#1173](https://github.com/vector-im/element-x-android/issues/1173))
22+
- Fix system bar color after login on light theme. ([#1222](https://github.com/vector-im/element-x-android/issues/1222))
23+
- Fix long click on simple formatted messages ([#1232](https://github.com/vector-im/element-x-android/issues/1232))
24+
- Enable polls in release build. ([#1241](https://github.com/vector-im/element-x-android/issues/1241))
25+
- Fix top padding in room list when app is opened in offline mode. ([#1297](https://github.com/vector-im/element-x-android/issues/1297))
26+
- [Rich text editor] Fix 'text formatting' option only partially visible ([#1335](https://github.com/vector-im/element-x-android/issues/1335))
27+
- [Rich text editor] Ensure keyboard opens for reply and text formatting modes ([#1337](https://github.com/vector-im/element-x-android/issues/1337))
28+
- [Rich text editor] Fix placeholder spilling onto multiple lines ([#1347](https://github.com/vector-im/element-x-android/issues/1347))
29+
30+
Other changes
31+
-------------
32+
- Add a sub-screen "Notifications" in the existing application Settings ([#510](https://github.com/vector-im/element-x-android/issues/510))
33+
- Exclude some groups related to analytics to be included. ([#1191](https://github.com/vector-im/element-x-android/issues/1191))
34+
- Use the new SyncIndicator API. ([#1244](https://github.com/vector-im/element-x-android/issues/1244))
35+
- Improve RoomSummary mapping by using RoomInfo. ([#1251](https://github.com/vector-im/element-x-android/issues/1251))
36+
- Ensure Posthog data are sent to "https://posthog.element.io" ([#1269](https://github.com/vector-im/element-x-android/issues/1269))
37+
- New app icon, with monochrome support. ([#1363](https://github.com/vector-im/element-x-android/issues/1363))
38+
39+
140
Changes in Element X v0.1.6 (2023-09-04)
241
========================================
342

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ dependencies {
198198
allLibrariesImpl()
199199
allServicesImpl()
200200
allFeaturesImpl(rootDir, logger)
201+
implementation(projects.features.call)
201202
implementation(projects.anvilannotations)
202203
implementation(projects.appnav)
203204
anvil(projects.anvilcodegen)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="108dp"
3+
android:height="108dp"
4+
android:viewportWidth="108"
5+
android:viewportHeight="108">
6+
<path
7+
android:fillColor="#F7F07E"
8+
android:fillType="evenOdd"
9+
android:pathData="m0,0h108v108h-108z" />
10+
</vector>

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222

2323
<application
2424
android:name=".ElementXApplication"
25-
android:allowBackup="true"
25+
android:allowBackup="false"
2626
android:dataExtractionRules="@xml/data_extraction_rules"
27+
android:enableOnBackInvokedCallback="true"
2728
android:fullBackupContent="@xml/backup_rules"
2829
android:icon="@mipmap/ic_launcher"
2930
android:label="@string/app_name"
212 KB
Loading

app/src/main/kotlin/io/element/android/x/icon/IconPreview.kt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,20 @@
1717
package io.element.android.x.icon
1818

1919
import androidx.compose.foundation.Image
20+
import androidx.compose.foundation.background
2021
import androidx.compose.foundation.layout.Box
22+
import androidx.compose.foundation.layout.size
2123
import androidx.compose.foundation.shape.CircleShape
24+
import androidx.compose.foundation.shape.RoundedCornerShape
2225
import androidx.compose.runtime.Composable
26+
import androidx.compose.ui.Alignment
2327
import androidx.compose.ui.Modifier
2428
import androidx.compose.ui.draw.clip
29+
import androidx.compose.ui.graphics.Color
30+
import androidx.compose.ui.graphics.ColorFilter
2531
import androidx.compose.ui.res.painterResource
2632
import androidx.compose.ui.tooling.preview.Preview
33+
import androidx.compose.ui.unit.dp
2734
import io.element.android.x.R
2835

2936
@Preview
@@ -47,3 +54,23 @@ internal fun RoundIconPreview(
4754
Image(painter = painterResource(id = R.mipmap.ic_launcher_foreground), contentDescription = null)
4855
}
4956
}
57+
58+
@Preview
59+
@Composable
60+
internal fun MonochromeIconPreview(
61+
modifier: Modifier = Modifier,
62+
) {
63+
Box(
64+
modifier = modifier
65+
.size(108.dp)
66+
.background(Color(0xFF2F3133))
67+
.clip(shape = RoundedCornerShape(32.dp)),
68+
contentAlignment = Alignment.Center
69+
) {
70+
Image(
71+
painter = painterResource(id = R.mipmap.ic_launcher_monochrome),
72+
colorFilter = ColorFilter.tint(Color(0xFFC3E0F6)),
73+
contentDescription = null
74+
)
75+
}
76+
}

app/src/main/kotlin/io/element/android/x/initializer/TracingInitializer.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.element.android.x.initializer
1818

1919
import android.content.Context
20+
import android.system.Os
2021
import androidx.preference.PreferenceManager
2122
import androidx.startup.Initializer
2223
import io.element.android.features.preferences.impl.developer.tracing.SharedPrefTracingConfigurationStore
@@ -57,6 +58,8 @@ class TracingInitializer : Initializer<Unit> {
5758
}
5859
bugReporter.cleanLogDirectoryIfNeeded()
5960
tracingService.setupTracing(tracingConfiguration)
61+
// Also set env variable for rust back trace
62+
Os.setenv("RUST_BACKTRACE", "1", true)
6063
}
6164

6265
override fun dependencies(): List<Class<out Initializer<*>>> = mutableListOf()
Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
~ Copyright (c) 2023 New Vector Ltd
4+
~
5+
~ Licensed under the Apache License, Version 2.0 (the "License");
6+
~ you may not use this file except in compliance with the License.
7+
~ You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
-->
17+
218
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3-
<background android:drawable="@mipmap/ic_launcher_background"/>
19+
<background android:drawable="@drawable/ic_launcher_background"/>
420
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
5-
<!-- Waiting for design monochrome android:drawable="@mipmap/ic_launcher_monochrome" /-->
21+
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
622
</adaptive-icon>

0 commit comments

Comments
 (0)