When the WS connects (including first connection), pushReconnectEvent() triggers loadMessages(50, ignoreExisting=true). If the initial load already fetched the same messages, ignoreExisting filters them all out, producing an empty list that updateItems() uses to clear the channel. Skip the update entirely when ignoreExisting yields no new messages. Signed-off-by: sanasol <mail@sanasol.ws> |
||
|---|---|---|
| .devcontainer | ||
| .github/workflows | ||
| .idea | ||
| app | ||
| compliance | ||
| core/model | ||
| docs | ||
| gradle | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| LICENCE | ||
| OFL.txt | ||
| README.md | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| sentry.properties.example | ||
| settings.gradle.kts | ||
| stoatbuild.properties.example | ||
README.md
Description
The codebase includes the app itself, as well as an internal library for interacting with the Stoat API. The app is written in Kotlin, and wholly uses Jetpack Compose.
Stack
- Kotlin
- Jetpack Compose
- For some Material components, the View-based Material Components Android (MDC-Android) library is used.
- Ktor
- Dagger with Hilt
Resources
Stoat for Android
- Roadmap
- Stoat for Android Technical Documentation
- Android-specific Contribution Guide —read carefully before contributing!
Stoat
- Stoat Project Board (Submit feature requests here)
- Stoat Development Server
- Stoat Server
- General Stoat 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
