Skip to content

Commit cf3f1e8

Browse files
committed
Merge branch 'release/0.1.0' into main
2 parents ce73999 + 629462c commit cf3f1e8

File tree

2,617 files changed

+115553
-10
lines changed

Some content is hidden

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

2,617 files changed

+115553
-10
lines changed

.editorconfig

Lines changed: 906 additions & 0 deletions
Large diffs are not rendered by default.

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/snapshots/**/*.png filter=lfs diff=lfs merge=lfs -text

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Bug report for the Element X Android app
2+
description: Report any issues that you have found with the Element X app. Please [check open issues](https://github.com/vector-im/element-x-android/issues) first, in case it has already been reported.
3+
labels: [T-Defect]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to fill out this bug report!
9+
10+
Please report security issues by email to [email protected]
11+
- type: textarea
12+
id: reproduction-steps
13+
attributes:
14+
label: Steps to reproduce
15+
description: Please attach screenshots, videos or logs if you can.
16+
placeholder: Tell us what you see!
17+
value: |
18+
1. Where are you starting? What can you see?
19+
2. What do you click?
20+
3. More steps…
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: result
25+
attributes:
26+
label: Outcome
27+
placeholder: Tell us what went wrong
28+
value: |
29+
#### What did you expect?
30+
31+
#### What happened instead?
32+
validations:
33+
required: true
34+
- type: input
35+
id: device
36+
attributes:
37+
label: Your phone model
38+
placeholder: e.g. Samsung S6
39+
validations:
40+
required: false
41+
- type: input
42+
id: os
43+
attributes:
44+
label: Operating system version
45+
placeholder: e.g. Android 10.0
46+
validations:
47+
required: false
48+
- type: input
49+
id: version
50+
attributes:
51+
label: Application version and app store
52+
description: You can find the version information in Settings -> Help & About.
53+
placeholder: e.g. Element X version 1.7.34, olm version 3.2.3 from F-Droid
54+
validations:
55+
required: false
56+
- type: input
57+
id: homeserver
58+
attributes:
59+
label: Homeserver
60+
description: |
61+
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
62+
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
63+
validations:
64+
required: false
65+
- type: dropdown
66+
id: rageshake
67+
attributes:
68+
label: Will you send logs?
69+
description: |
70+
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug (it's helpful if you can include a link to the bug). Send the report to submit anonymous logs to the developers.
71+
options:
72+
- 'Yes'
73+
- 'No'
74+
validations:
75+
required: true
76+
- type: dropdown
77+
id: pr
78+
attributes:
79+
label: Are you willing to provide a PR?
80+
description: |
81+
Providing a PR can drastically speed up the process of fixing this bug. Don't worry, it's still OK to answer 'No' :).
82+
options:
83+
- 'Yes'
84+
- 'No'
85+
validations:
86+
required: true
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Enhancement request
2+
description: Do you have a suggestion or feature request?
3+
labels: [T-Enhancement]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas).
9+
- type: textarea
10+
id: usecase
11+
attributes:
12+
label: Your use case
13+
description: Please feel welcome to include screenshots or mock ups.
14+
placeholder: Tell us what you would like to do!
15+
value: |
16+
#### What would you like to do?
17+
18+
#### Why would you like to do it?
19+
20+
#### How would you like to achieve it?
21+
validations:
22+
required: true
23+
- type: textarea
24+
id: alternative
25+
attributes:
26+
label: Have you considered any alternatives?
27+
placeholder: A clear and concise description of any alternative solutions or features you've considered.
28+
validations:
29+
required: false
30+
- type: textarea
31+
id: additional-context
32+
attributes:
33+
label: Additional context
34+
placeholder: Is there anything else you'd like to add?
35+
validations:
36+
required: false
37+
- type: dropdown
38+
id: pr
39+
attributes:
40+
label: Are you willing to provide a PR?
41+
description: |
42+
Don't worry, it's still OK to answer 'No' :).
43+
options:
44+
- 'Yes'
45+
- 'No'
46+
validations:
47+
required: true

.github/ISSUE_TEMPLATE/story.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: User story issue
2+
description: Second-level planning issue template. A story should take about a week or a sprint to finish.
3+
title: "[Story] <title>"
4+
labels: [T-Story]
5+
6+
body:
7+
- type: textarea
8+
attributes:
9+
label: Story
10+
description: A story should take roughly a week or a sprint to finish. Each story is usually made up of a number of tasks that take half to a full day.
11+
value: |
12+
As a user…
13+
I want to…
14+
so that I can…
15+
16+
## Scope
17+
<!--These should be a list of technical tasks which take ½-1 day to complete-->
18+
```[tasklist]
19+
### Tasklist
20+
- [ ] Task 1
21+
```
22+
23+
- [ ] QA signoff on completion
24+
- [ ] Design signoff on completion
25+
- [ ] Product signoff on completion
26+
27+
28+
## Stretch goals
29+
None at this time
30+
<!--or add a tasklist-->
31+
32+
## Out of scope
33+
-
34+
validations:
35+
required: false
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
2+
3+
## Type of change
4+
5+
- [ ] Feature
6+
- [ ] Bugfix
7+
- [ ] Technical
8+
- [ ] Other :
9+
10+
## Content
11+
12+
<!-- Describe shortly what has been changed -->
13+
14+
## Motivation and context
15+
16+
<!-- Provide link to the corresponding issue if applicable or explain the context -->
17+
18+
## Screenshots / GIFs
19+
20+
<!-- Only if UI have been changed
21+
You can use a table like this to show screenshots comparison.
22+
Uncomment this markdown table below and edit the last line `|||`:
23+
|copy screenshot of before here|copy screenshot of after here|
24+
-->
25+
26+
<!--
27+
|Before|After|
28+
|-|-|
29+
|||
30+
-->
31+
32+
## Tests
33+
34+
<!-- Explain how you tested your development -->
35+
36+
- Step 1
37+
- Step 2
38+
- Step ...
39+
40+
## Tested devices
41+
42+
- [ ] Physical
43+
- [ ] Emulator
44+
- OS version(s):
45+
46+
## Checklist
47+
48+
<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->
49+
50+
- [ ] Changes has been tested on an Android device or Android emulator with API 21
51+
- [ ] UI change has been tested on both light and dark themes
52+
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
53+
- [ ] Pull request is based on the develop branch
54+
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
55+
- [ ] Pull request includes screenshots or videos if containing UI changes
56+
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
57+
- [ ] You've made a self review of your PR

.github/dependabot.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
# Updates for Github Actions used in the repo
9+
- package-ecosystem: "github-actions"
10+
directory: "/"
11+
schedule:
12+
interval: "daily"
13+
ignore:
14+
- dependency-name: "*"
15+
reviewers:
16+
- "vector-im/element-x-android-reviewers"
17+
# Updates for Gradle dependencies used in the app
18+
- package-ecosystem: "gradle"
19+
directory: "/"
20+
schedule:
21+
interval: "daily"
22+
open-pull-requests-limit: 200
23+
ignore:
24+
- dependency-name: "*"
25+
reviewers:
26+
- "vector-im/element-x-android-reviewers"

.github/renovate.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"$schema" : "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends" : [
4+
"config:base"
5+
],
6+
"labels" : [
7+
"dependencies"
8+
],
9+
"ignoreDeps" : [
10+
"string:app_name"
11+
],
12+
"packageRules" : [
13+
{
14+
"matchPackagePatterns" : [
15+
"^org.jetbrains.kotlin",
16+
"^com.google.devtools.ksp",
17+
"^androidx.compose.compiler"
18+
],
19+
"groupName" : "kotlin"
20+
},
21+
{
22+
"matchPackageNames" : [
23+
"org.jetbrains.kotlinx.kover"
24+
],
25+
"enabled" : false
26+
},
27+
{
28+
"matchPackagePatterns" : [
29+
"^org.maplibre"
30+
],
31+
"versioning" : "semver"
32+
}
33+
]
34+
}

.github/workflows/build.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: APK Build
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request: { }
6+
push:
7+
branches: [ main, develop ]
8+
9+
# Enrich gradle.properties for CI/CD
10+
env:
11+
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3072m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false
12+
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 2 --no-daemon
13+
14+
jobs:
15+
debug:
16+
name: Build debug APKs
17+
runs-on: ubuntu-latest
18+
if: github.ref != 'refs/heads/main'
19+
strategy:
20+
fail-fast: false
21+
# Allow all jobs on develop. Just one per PR.
22+
concurrency:
23+
group: ${{ github.ref == 'refs/heads/develop' && format('build-develop-{0}', github.sha) || format('build-debug-{0}', github.ref) }}
24+
cancel-in-progress: true
25+
steps:
26+
- uses: actions/checkout@v3
27+
with:
28+
# Ensure we are building the branch and not the branch after being merged on develop
29+
# https://github.com/actions/checkout/issues/881
30+
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }}
31+
- name: Use JDK 17
32+
uses: actions/setup-java@v3
33+
with:
34+
distribution: 'temurin' # See 'Supported distributions' for available options
35+
java-version: '17'
36+
- name: Configure gradle
37+
uses: gradle/[email protected]
38+
with:
39+
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
40+
- name: Assemble debug APK
41+
env:
42+
ELEMENT_ANDROID_MAPTILER_API_KEY: ${{ secrets.MAPTILER_KEY }}
43+
run: ./gradlew assembleDebug $CI_GRADLE_ARG_PROPERTIES
44+
- name: Upload debug APKs
45+
uses: actions/upload-artifact@v3
46+
with:
47+
name: elementx-debug
48+
path: |
49+
app/build/outputs/apk/debug/*.apk
50+
- uses: rnkdsh/[email protected]
51+
id: diawi
52+
# Do not fail the whole build if Diawi upload fails
53+
continue-on-error: true
54+
env:
55+
token: ${{ secrets.DIAWI_TOKEN }}
56+
if: ${{ github.event_name == 'pull_request' && env.token != '' }}
57+
with:
58+
token: ${{ env.token }}
59+
file: app/build/outputs/apk/debug/app-arm64-v8a-debug.apk
60+
- name: Add or update PR comment with QR Code to download APK.
61+
if: ${{ github.event_name == 'pull_request' && steps.diawi.conclusion == 'success' }}
62+
uses: NejcZdovc/comment-pr@v2
63+
with:
64+
message: |
65+
:iphone: Scan the QR code below to install the build (arm64 only) for this PR.
66+
![QR code](${{ steps.diawi.outputs['qrcode'] }})
67+
If you can't scan the QR code you can install the build via this link: ${{ steps.diawi.outputs['url'] }}
68+
# Enables to identify and update existing Ad-hoc release message on new commit in the PR
69+
identifier: "GITHUB_COMMENT_QR_CODE"
70+
env:
71+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72+
- name: Compile release sources
73+
run: ./gradlew compileReleaseSources $CI_GRADLE_ARG_PROPERTIES
74+
- name: Compile nightly sources
75+
run: ./gradlew compileNightlySources $CI_GRADLE_ARG_PROPERTIES
76+
- name: Compile samples minimal
77+
run: ./gradlew :samples:minimal:assemble $CI_GRADLE_ARG_PROPERTIES

.github/workflows/danger.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Danger CI
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
name: Danger main check
9+
steps:
10+
- uses: actions/checkout@v3
11+
- run: |
12+
npm install --save-dev @babel/plugin-transform-flow-strip-types
13+
- name: Danger
14+
uses: danger/[email protected]
15+
with:
16+
args: "--dangerfile ./tools/danger/dangerfile.js"
17+
env:
18+
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }}
19+
# Fallback for forks
20+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)