This commit enhances the pagination logic in the ChannelScreen to improve message loading behavior. - Introduced a new `isNearBottom` state to detect when the user is near the bottom of the message list, triggering loading of newer messages. - Refactored the existing pagination logic to handle both loading older messages when near the top and newer messages when near the bottom. - Added logic to preserve the scroll position when new messages are loaded, ensuring a smoother user experience. - Improved logging for better debugging and tracking of pagination events. |
||
|---|---|---|
| .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.peptide |
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