- Added a new state flow for loaded errors in `DiscoverServersListViewModel` to manage server loading errors. - Implemented `joinServerWithoutProcessingIndicator` method to join servers without affecting the loading state in the UI. - Updated `ServerInviteDialog` to display a loading indicator while joining a server and improved error handling. - Modified `ServerInviteHandler` to utilize the new error state and streamline the dialog's behavior. - Added a new string resource for the joining state message to enhance user feedback. |
||
|---|---|---|
| .github/workflows | ||
| .idea | ||
| app | ||
| compliance | ||
| docs | ||
| gradle/wrapper | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| LICENCE | ||
| OFL.txt | ||
| README.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| revoltbuild.properties.example | ||
| sentry.properties.example | ||
| settings.gradle.kts | ||
README.md
Revolt on Android
Description
This is the official Android app for the Revolt chat platform.
The codebase includes the app itself, as well as an internal library for interacting with the Revolt
API.
| Module | Package | Description |
|---|---|---|
:app |
chat.revolt |
The main app module. |
The API library is part of the app module, and is not intended to be used as a standalone library,
as it makes liberal use of Android-specific APIs for reactivity.
The app is written in Kotlin, and uses the Jetpack Compose UI toolkit, the current state of the art for Android UI development.
Stack
- Kotlin
- Jetpack Compose
- For some Material components, the View-based Material Components Android (MDC-Android) library is used.
- Ktor
- Dagger with Hilt
Resources
Revolt on Android
- Revolt on Android Technical Documentation
- Android-specific Contribution Guide —read carefully before contributing!
Revolt
- Revolt Project Board (Submit feature requests here)
- Revolt Testers Server
- General Revolt Contribution Guide
Quick Start
Open the project in Android Studio. You can then run the app on an emulator or a physical device by
running the app module.
In-depth setup instructions can be found at Setting up your Development Environment