Stoat for Android — App and internal API library
Go to file
AbronStudio da28d50b18 Refactor: Improve navigation and UI for channel and login screens
This commit introduces several improvements to the navigation and user interface, primarily focused on the channel screen and login/registration flows.

**Channel Screen & Navigation:**

- Implement swipe-to-go-back gesture on the ChannelScreen.
- Persist the ChannelSideDrawer as a background layer when a channel is open. This allows for a smoother transition when returning to the channel list.
- Allow swiping from the left edge of the screen (when not in a channel view) to reopen the last viewed channel.
- Ensure the correct channel is highlighted in the ChannelSideDrawer when a channel is active.
- The back button on the ChannelScreen now navigates to the previous non-channel screen or the server's channel list, providing a more intuitive backstack behavior.

**Login/Registration:**

- Disable HTTP request retries for login attempts to prevent unexpected behavior with MFA or incorrect credentials.
- Add loading indicators to the Login and RegisterDetails screens to provide visual feedback during network operations.
- Display error messages more prominently on the Login and RegisterDetails screens.
- Adjust the soft input mode on the LoginScreen to `SOFT_INPUT_ADJUST_PAN` to prevent UI elements from being obscured by the keyboard.
- Fix a bug where the default notification type was incorrectly mapped.

**Other Changes:**

- Update the monochrome notification icon.
- Modify the primary color in `colors.xml`.
- Minor cleanups and toast message improvements in ChannelScreen camera handling.
2025-09-06 17:01:12 +03:30
.github/workflows chore: Update project assets and improve documentation 2025-08-17 10:23:16 +03:30
.idea chore: Rename project from "Revolt" to "PepChat" and update related files 2025-08-12 11:30:13 +03:30
app Refactor: Improve navigation and UI for channel and login screens 2025-09-06 17:01:12 +03:30
compliance chore: add BSD and ML Kit licenses 2025-07-24 11:35:37 +03:30
docs chore: Update project assets and improve documentation 2025-08-17 10:23:16 +03:30
gradle/wrapper chore: upgrade AGP 2024-11-02 21:44:02 +01:00
scripts feat(jbm): support for katex and tables 2025-01-02 03:51:38 +01:00
.editorconfig style: run ktlint on code 2023-10-21 16:27:05 +02:00
.gitignore Refactor: Remove Sentry integration 2025-08-21 13:21:28 +03:30
.gitmodules feat(stendal): initial implementation/switch 2024-02-12 02:11:59 +01:00
LICENCE chore: create LICENCE 2024-06-07 00:31:43 +02:00
OFL.txt feat: update font versions, replace jb mono 2024-03-02 21:56:24 +01:00
README.md chore: Update project assets and improve documentation 2025-08-17 10:23:16 +03:30
build.gradle.kts chore: upgrade aboutlibraries 2024-12-07 00:03:31 +01:00
gradle.properties chore: ensure licence compliance using AL 2024-12-24 21:32:57 +01:00
gradlew feat: error analysis 2023-03-05 06:05:35 +01:00
gradlew.bat feat: initial commit 🎉 2022-12-05 16:08:17 +01:00
revoltbuild.properties.example chore: remove USE_ALPHA_API property as it is not used 2025-07-23 02:52:04 +02:00
sentry.properties.example chore: Update project assets and improve documentation 2025-08-17 10:23:16 +03:30
settings.gradle.kts chore: Rename project from "Revolt" to "PepChat" and update related files 2025-08-12 11:30:13 +03:30

README.md

Peptide on Android

Description

This is the official Android app for the Peptide chat platform.
The codebase includes the app itself, as well as an internal library for interacting with the Peptide 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

Resources

Peptide on Android

Peptide

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