Automatic upstream merge postprocessing

Change-Id: I0e91a6202bbfc2030185ca9761e970d90b7ea544
This commit is contained in:
SpiritCroc 2025-09-26 17:37:19 +02:00
parent f659f355c3
commit a0342a07c1
272 changed files with 268 additions and 268 deletions

View File

@ -1,67 +1,25 @@
[![Latest build](https://github.com/element-hq/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) [![Translation status](https://weblate.spiritcroc.de/widgets/schildichat/-/schildichat-android/svg-badge.svg)](https://weblate.spiritcroc.de/projects/schildichat/schildichat-android/)
[![Weblate](https://translate.element.io/widgets/element-android/-/svg-badge.svg)](https://translate.element.io/engage/element-android/?utm_source=widget) [![SchildiChat-Android Matrix room #android:schildi.chat](https://img.shields.io/matrix/android:schildi.chat.svg?label=%23android:schildi.chat&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#android:schildi.chat)
[![Element Android Matrix room #element-android:matrix.org](https://img.shields.io/matrix/element-android:matrix.org.svg?label=%23element-android:matrix.org&logo=matrix&server_fqdn=matrix.org)](https://matrix.to/#/#element-android:matrix.org)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=element-android)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=element-android)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=element-android&metric=bugs)](https://sonarcloud.io/summary/new_code?id=element-android)
# 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) <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>
[<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://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: [![GitHub Action](https://github.com/element-hq/element-android/actions/workflows/build.yml/badge.svg?query=branch%3Adevelop)](https://github.com/element-hq/element-android/actions/workflows/build.yml?query=branch%3Adevelop) Nightly test status: [![allScreensTest](https://github.com/element-hq/element-android/actions/workflows/nightly.yml/badge.svg)](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 <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"/>
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.

View File

@ -1,2 +1,2 @@
json_key_file("./fastlane/private/api-8525453667099313774-565354-aca0e6153603.json") 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("im.vector.app") package_name("de.spiritcroc.riotx") # e.g. com.krausefx.app

View File

@ -16,45 +16,49 @@
default_platform(:android) default_platform(:android)
platform :android do platform :android do
keystore = ENV["keystore"]
keystore_pass = ENV["keystorepass"]
key_alias = ENV["keyalias"]
key_pass = ENV["keypass"]
desc "Runs all the tests" desc "Runs all the tests"
lane :test do lane :test do
gradle(task: "test") gradle(task: "test")
end end
desc "Submit a new Beta Build to Crashlytics Beta" desc "Deploy a new version to Google Play"
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"
lane :deploy do lane :deploy do
gradle(task: "clean assembleRelease") gradle(
upload_to_play_store task: "clean bundleGplayRelease",
end properties: {
"android.injected.signing.store.file": keystore,
desc "Deploy Google Play metadata" "android.injected.signing.store.password": keystore_pass,
lane :deployMeta do "android.injected.signing.key.alias": key_alias,
# Doc: https://docs.fastlane.tools/actions/upload_to_play_store/ "android.injected.signing.key.password": key_pass
}
)
upload_to_play_store( upload_to_play_store(
skip_upload_apk: true, # apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH]
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
) )
end end
desc "Get version code" desc "Deploy a beta to Google Play"
lane :getVersionCode do lane :deploy_beta do
versions = google_play_track_version_codes(track: "production") gradle(
puts(versions) task: "clean bundleGplayRelease",
version_code = versions[0] properties: {
puts(version_code) "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
end end

View File

@ -23,37 +23,21 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do
Runs all the tests Runs all the tests
### android beta
```sh
[bundle exec] fastlane android beta
```
Submit a new Beta Build to Crashlytics Beta
### android deploy ### android deploy
```sh ```sh
[bundle exec] fastlane android deploy [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 ```sh
[bundle exec] fastlane android deployMeta [bundle exec] fastlane android deploy_beta
``` ```
Deploy Google Play metadata Deploy a beta to Google Play
### android getVersionCode
```sh
[bundle exec] fastlane android getVersionCode
```
Get version code
---- ----

View File

@ -1,2 +1,6 @@
Main changes in this version: performance improvement and bug fixes! - Update codebase to Element v1.5.25
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.3 - 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

View File

@ -1,2 +1,5 @@
Main changes in this version: performance improvement and bug fixes! - Update codebase to Element v1.5.26
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.4 - 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

View File

@ -1,2 +1,6 @@
Main changes in this version: hot fixes for 1.1.4 - Update codebase to Element v1.5.28
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.5 - 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

View File

@ -1,2 +1,7 @@
Main changes in this version: hot fixes for 1.1.5 - Update codebase to Element v1.5.30
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.6 - 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

View File

@ -1,2 +1,4 @@
Main changes in this version: beta support for Spaces. Compress video before sending. - Update codebase to Element v1.5.32
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.7 - 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

View File

@ -1,2 +1,5 @@
Main changes in this version: improvement for Spaces. - Render MSC2530 captions in notifications
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.8 - 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

View File

@ -1,2 +1 @@
Main changes in this version: add support for gitter.im network. - Update codebase to Element v1.6.3
Full changelog: https://github.com/element-hq/element-android/releases/tag/v1.1.9

View File

@ -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/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1 +1 @@
Previous generation Element Feature-rich messenger for Matrix based on Element with some extras and tweaks

View File

@ -1 +1 @@
Element Classic SchildiChat

Some files were not shown because too many files have changed in this diff Show More