Automatic upstream merge postprocessing
Change-Id: I0e91a6202bbfc2030185ca9761e970d90b7ea544
74
README.md
@ -1,67 +1,25 @@
|
||||
[](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop)
|
||||
[](https://translate.element.io/engage/element-android/?utm_source=widget)
|
||||
[](https://matrix.to/#/#element-android:matrix.org)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-android)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-android)
|
||||
[](https://sonarcloud.io/summary/new_code?id=element-android)
|
||||
[](https://weblate.spiritcroc.de/projects/schildichat/schildichat-android/)
|
||||
[](https://matrix.to/#/#android:schildi.chat)
|
||||
|
||||
# Element Android
|
||||
# SchildiChat for Android
|
||||
|
||||
Element Classic Android is a previous-generation [Matrix](https://matrix.org/) client provided by [Element](https://element.io/). The app can be run on every Android devices with Android OS Lollipop and more (API 21). This client is still supported and receives security updates but no new features or usability enhancements are made. It is recommended to use [Element X](https://github.com/element-hq/element-x-android) that is the next-generation mobile app.
|
||||
SchildiChat for Android is a Matrix Client based on [Element Android](https://github.com/vector-im/element-android),
|
||||
featuring a different design and various extra tweaks, customization options, and additional community features.
|
||||
A list of changes compared to Element can be found [here](FEATURES.md) - but keep in mind this list might not be up-to-date at all times.
|
||||
|
||||
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
|
||||
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
|
||||
<a href="https://f-droid.org/packages/de.spiritcroc.riotx/" alt="Get it on F-Droid" target="_blank"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="80"></a>
|
||||
<a href="https://play.google.com/store/apps/details?id=de.spiritcroc.riotx" alt="Get it on Google Play" target="_blank"><img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="80"></a>
|
||||
|
||||
Build of develop branch: [](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [](https://github.com/element-hq/element-android/actions/workflows/nightly.yml)
|
||||
Information about available app variants can be found [on our website](https://schildi.chat/android/).
|
||||
|
||||
<a href="https://matrix.to/#/#android:schildi.chat" target="_blank">Join the discussion on matrix</a>
|
||||
<a href="https://matrix.to/#/#space:schildi.chat" target="_blank">Join our matrix community space</a>
|
||||
|
||||
# New Android SDK
|
||||
## Translations
|
||||
|
||||
Element is based on a new Android SDK fully written in Kotlin (like Element). In order to make the early development as fast as possible, Element and the new SDK currently share the same git repository.
|
||||
If you want to translate SchildiChat, visit its weblate [here](https://translate.schildi.chat/projects/schildichat/schildichat-android/).
|
||||
For translations that concern upstream Element code, visit their weblate [here](https://translate.element.io/engage/element-android/).
|
||||
|
||||
At each Element release, the SDK module is copied to a dedicated repository: https://github.com/matrix-org/matrix-android-sdk2. That way, third party apps can add a regular gradle dependency to use it. So more details on how to do that here: https://github.com/matrix-org/matrix-android-sdk2.
|
||||
## Screenshots
|
||||
|
||||
# Roadmap
|
||||
|
||||
The version 1.0.0 of Element still misses some features which was previously included in Riot-Android.
|
||||
The team will work to add them on a regular basis.
|
||||
|
||||
# Releases to app stores
|
||||
|
||||
There is some delay between when a release is created and when it appears in the app stores (Google Play Store and F-Droid). Here are some of the reasons:
|
||||
|
||||
* Not all versioned releases that appear on GitHub are considered stable. Each release is first considered beta: this continues for at least two days. If the release is stable (no serious issues or crashes are reported), then it is released as a production release in Google Play Store, and a request is sent to F-Droid too.
|
||||
* Each release on the Google Play Store undergoes review by Google before it comes out. This can take an unpredictable amount of time. In some cases it has taken several weeks.
|
||||
* In order for F-Droid to guarantee that the app you receive exactly matches the public source code, they build releases themselves. When a release is considered stable, Element staff inform the F-Droid maintainers and it is added to the build queue. Depending on the load on F-Droid's infrastructure, it can take some time for releases to be built. This always takes at least 24 hours, and can take several days.
|
||||
|
||||
If you would like to receive releases more quickly (bearing in mind that they may not be stable) you have a number of options:
|
||||
|
||||
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
|
||||
2. Install a [release APK](https://github.com/element-hq/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
|
||||
3. If you're really brave, install the [very latest dev build](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) - pick a build, then click on `Summary` to download the APKs from there: `vector-Fdroid-debug` and `vector-Gplay-debug` contains the APK for the desired store. Each file contains 5 APKs. 4 APKs for every supported specific architecture of device. In doubt you can install the `universal` APK.
|
||||
|
||||
## Contributing
|
||||
|
||||
Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
|
||||
|
||||
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#element-android:matrix.org).
|
||||
|
||||
Also [this documentation](./docs/_developer_onboarding.md) can hopefully help developers to start working on the project.
|
||||
|
||||
## Triaging issues
|
||||
|
||||
Issues are triaged by community members and the Android App Team, following the [triage process](https://github.com/element-hq/element-meta/wiki/Triage-process).
|
||||
|
||||
We use [issue labels](https://github.com/element-hq/element-meta/wiki/Issue-labelling) to sort all incoming issues.
|
||||
|
||||
## Copyright and License
|
||||
|
||||
Copyright (c) 2018 - 2025 New Vector Ltd
|
||||
|
||||
This software is dual licensed by New Vector Ltd (Element). It can be used either:
|
||||
|
||||
(1) for free under the terms of the GNU Affero General Public License (as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version); OR
|
||||
|
||||
(2) under the terms of a paid-for Element Commercial License agreement between you and Element (the terms of which may vary depending on what you and Element have agreed to).
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.
|
||||
<img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png" height="500"/> <img src="https://raw.githubusercontent.com/SchildiChat/SchildiChat-android/sc/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png" height="500"/>
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
json_key_file("./fastlane/private/api-8525453667099313774-565354-aca0e6153603.json")
|
||||
package_name("im.vector.app")
|
||||
json_key_file("../google-api-fastlane-release.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
|
||||
package_name("de.spiritcroc.riotx") # e.g. com.krausefx.app
|
||||
|
||||
@ -16,45 +16,49 @@
|
||||
default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
keystore = ENV["keystore"]
|
||||
keystore_pass = ENV["keystorepass"]
|
||||
key_alias = ENV["keyalias"]
|
||||
key_pass = ENV["keypass"]
|
||||
|
||||
desc "Runs all the tests"
|
||||
lane :test do
|
||||
gradle(task: "test")
|
||||
end
|
||||
|
||||
desc "Submit a new Beta Build to Crashlytics Beta"
|
||||
lane :beta do
|
||||
gradle(task: "clean assembleRelease")
|
||||
crashlytics
|
||||
|
||||
# sh "your_script.sh"
|
||||
# You can also use other beta testing services here
|
||||
end
|
||||
|
||||
desc "Deploy a new version to the Google Play"
|
||||
desc "Deploy a new version to Google Play"
|
||||
lane :deploy do
|
||||
gradle(task: "clean assembleRelease")
|
||||
upload_to_play_store
|
||||
end
|
||||
|
||||
desc "Deploy Google Play metadata"
|
||||
lane :deployMeta do
|
||||
# Doc: https://docs.fastlane.tools/actions/upload_to_play_store/
|
||||
gradle(
|
||||
task: "clean bundleGplayRelease",
|
||||
properties: {
|
||||
"android.injected.signing.store.file": keystore,
|
||||
"android.injected.signing.store.password": keystore_pass,
|
||||
"android.injected.signing.key.alias": key_alias,
|
||||
"android.injected.signing.key.password": key_pass
|
||||
}
|
||||
)
|
||||
upload_to_play_store(
|
||||
skip_upload_apk: true,
|
||||
skip_upload_aab: true,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true,
|
||||
skip_upload_changelogs: true,
|
||||
# Set to true to not update the PlayStore
|
||||
validate_only: false
|
||||
# apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
|
||||
)
|
||||
end
|
||||
|
||||
desc "Get version code"
|
||||
lane :getVersionCode do
|
||||
versions = google_play_track_version_codes(track: "production")
|
||||
puts(versions)
|
||||
version_code = versions[0]
|
||||
puts(version_code)
|
||||
desc "Deploy a beta to Google Play"
|
||||
lane :deploy_beta do
|
||||
gradle(
|
||||
task: "clean bundleGplayRelease",
|
||||
properties: {
|
||||
"android.injected.signing.store.file": keystore,
|
||||
"android.injected.signing.store.password": keystore_pass,
|
||||
"android.injected.signing.key.alias": key_alias,
|
||||
"android.injected.signing.key.password": key_pass
|
||||
}
|
||||
)
|
||||
upload_to_play_store(
|
||||
# apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
|
||||
track: 'beta',
|
||||
skip_upload_metadata: false,
|
||||
skip_upload_images: true,
|
||||
skip_upload_screenshots: true
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@ -23,37 +23,21 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
|
||||
|
||||
Runs all the tests
|
||||
|
||||
### android beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android beta
|
||||
```
|
||||
|
||||
Submit a new Beta Build to Crashlytics Beta
|
||||
|
||||
### android deploy
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deploy
|
||||
```
|
||||
|
||||
Deploy a new version to the Google Play
|
||||
Deploy a new version to Google Play
|
||||
|
||||
### android deployMeta
|
||||
### android deploy_beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deployMeta
|
||||
[bundle exec] fastlane android deploy_beta
|
||||
```
|
||||
|
||||
Deploy Google Play metadata
|
||||
|
||||
### android getVersionCode
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android getVersionCode
|
||||
```
|
||||
|
||||
Get version code
|
||||
Deploy a beta to Google Play
|
||||
|
||||
----
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 346 KiB After Width: | Height: | Size: 346 KiB |
|
Before Width: | Height: | Size: 221 KiB After Width: | Height: | Size: 221 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
@ -1,2 +1,6 @@
|
||||
Main changes in this version: performance improvement and bug fixes!
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.3
|
||||
- Update codebase to Element v1.5.25
|
||||
- Improve reply rendering
|
||||
- Themed icon for Material You
|
||||
- Add setting to not mention members when clicking on their name
|
||||
- Clear composer text when canceling message edits
|
||||
- Various bug fixes
|
||||
|
||||
@ -1,2 +1,5 @@
|
||||
Main changes in this version: performance improvement and bug fixes!
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.4
|
||||
- Update codebase to Element v1.5.26
|
||||
- Support webp rendering in the timeline
|
||||
- Support image captions in the overview
|
||||
- Fix bug rendering the wrong timeline after clicking a broken event link
|
||||
- Fixes related to URL preview image rendering
|
||||
|
||||
@ -1,2 +1,6 @@
|
||||
Main changes in this version: hot fixes for 1.1.4
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.5
|
||||
- Update codebase to Element v1.5.28
|
||||
- Escape @room in sent reply fallbacks to avoid unintentional pings in other clients
|
||||
- Support custom emote packs with state keys
|
||||
- Render emote pack names in autocompletion
|
||||
- Possibility to expand emote pack suggestions in autocompletion
|
||||
- Possibly fix bug with disappearing read receipts
|
||||
|
||||
@ -1,2 +1,7 @@
|
||||
Main changes in this version: hot fixes for 1.1.5
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.6
|
||||
- Update codebase to Element v1.5.30
|
||||
- Button to send supported custom emotes as sticker when entered as only content in the message composer
|
||||
- Fix sticker style in threads
|
||||
- Show sticker body instead of "Sticker" text in room previews
|
||||
- Move custom emojis below standard emojis in autocompletion
|
||||
- Fix possible crash when rendering certain formatted messages
|
||||
- Another attempt to fix all cases of wrong read receipt locations
|
||||
|
||||
@ -1,2 +1,4 @@
|
||||
Main changes in this version: beta support for Spaces. Compress video before sending.
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.7
|
||||
- Update codebase to Element v1.5.32
|
||||
- Fix crash for protected access settings
|
||||
- Do not ellipsize message previews because of a single trailing newline
|
||||
- Fix long freeform reactions hiding sender and timestamp from reaction info
|
||||
|
||||
@ -1,2 +1,5 @@
|
||||
Main changes in this version: improvement for Spaces.
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.8
|
||||
- Render MSC2530 captions in notifications
|
||||
- Labs setting to clear highlighted message on scroll
|
||||
- Adjust fallback height for sent custom emotes to match MSC2545
|
||||
- Fix possible crash from emoji-autocompletion
|
||||
- Fix crash when rendering live location on Android < 7
|
||||
|
||||
@ -1,2 +1 @@
|
||||
Main changes in this version: add support for gitter.im network.
|
||||
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.9
|
||||
- Update codebase to Element v1.6.3
|
||||
|
||||
@ -1 +1,7 @@
|
||||
Element Classic is the previous-generation of Element mobile app. Friends, family and communities should use the free and open source Element X app which is faster, easier to use, and more powerful. New users of public sector organisations, enterprises and professional teams users should use the Element Pro app that is built for work and organisations. Element Classic is available at least until the end of 2025 and will receive critical security updates but no further enhancements or new features.
|
||||
SchildiChat is a client for the matrix protocol, based on the Element app.
|
||||
The matrix protocol is a decentralized approach to modern messaging, allowing for end-to-end encryption, shared message history across multiple devices, and more.
|
||||
By building on Element, SchildiChat inherits all features of one of the most complete and feature-rich Matrix-clients currently available.
|
||||
On top, SchildiChat adds a different design and various extra tweaks, customization options, and additional community features.
|
||||
|
||||
SchildiChat is open source: https://github.com/SchildiChat/SchildiChat-android
|
||||
More information about the Matrix protocol: https://matrix.org/
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 342 KiB After Width: | Height: | Size: 342 KiB |
|
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 219 KiB |
|
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 161 KiB |
@ -1 +1 @@
|
||||
Previous generation Element
|
||||
Feature-rich messenger for Matrix based on Element with some extras and tweaks
|
||||
|
||||
@ -1 +1 @@
|
||||
Element Classic
|
||||
SchildiChat
|
||||
|
||||