Commit Graph

956 Commits

Author SHA1 Message Date
Harish Vishwakarma 4612031785 Badges support in the app 2026-03-23 19:47:31 +05:30
Harish Vishwakarma 5fb7e01dbf Fixes for back button navigation and black screen 2026-03-23 18:36:08 +05:30
Harish Vishwakarma 5f957d96f7 Server icons updated to be same as website 2026-01-29 18:38:58 +05:30
Harish Vishwakarma 3e8865060e Centered progress bar and remove the title 2026-01-29 17:46:34 +05:30
Harish Vishwakarma d783455ed8 Prevent crash and better discovery page 2026-01-29 17:10:13 +05:30
Harish Vishwakarma c65322fbf7 Fix order of discovery page 2026-01-23 14:51:38 +05:30
Harish Vishwakarma b8c6ff8531 Added iOS App links 2026-01-20 13:19:10 +05:30
Harish Vishwakarma da2e46ee1a added new pages 2026-01-16 07:35:49 +05:30
Harish Vishwakarma 69be81c467 Update zeko.chat website 2026-01-16 07:17:29 +05:30
Harish Vishwakarma d497546366 Add CLAUDE.md for Claude Code guidance
Provides build commands, architecture overview, and code organization
for future Claude Code instances working in this repository.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-15 09:48:59 +05:30
Harish Vishwakarma d69aa5a7b6 Android 16 Support added 2026-01-14 23:34:48 +05:30
Harish Vishwakarma 9fd1e8daac 16KB page size support 2026-01-14 23:22:20 +05:30
Harish Vishwakarma 2d432815b6 Added release signing keys 2025-11-30 23:06:53 +05:30
Harish Vishwakarma ce641a725a removed github links 2025-11-30 09:38:52 +05:30
Harish Vishwakarma fb1369ada2 Created website for Zeko 2025-11-28 09:58:42 +05:30
teamabron 8bdb6d0d9a feat: Add ability to add members to groups from Channel Info
This commit introduces a new bottom sheet that allows users to add or remove members from a group directly from the channel info screen.

- A new "Add Members" button is now available in the `ChannelInfoSheet` for group chats.
- Tapping this button opens the `AddMemberToGroupSheet`, which lists all friends.
- Users can search for friends and add or remove them from the group.
- The "Manage Notifications" button is now hidden for group chats.

Additionally, this commit includes the following changes:

- **Changelog**: The changelog fetching and display functionality has been temporarily disabled.
- **Splash Screen**: The splash screen icon has been updated and now uses an inset drawable (`splash_screen_icon_square.xml`) to adjust its padding, which also resolves an icon display issue on Android 13.
- **Build**: All build variants are now signed with the debug key to simplify development builds.
2025-10-15 15:54:15 +03:30
AbronStudio b728789fb1 refactor: change splash screen and change pep to zeko 2025-09-14 09:59:01 +03:30
AbronStudio 47c2ad564c res: Rename app to PepChat
The app name "Peptide" has been changed to "PepChat" in the
strings.xml resource file.
2025-09-07 11:17:04 +03:30
AbronStudio b1eb411ad4 ChatRouter: Remember last selected channel
This change ensures that the last selected channel remains highlighted
in the channel list even when navigating to other screens like server
settings.

The `lastSelectedChannelId` is updated whenever a channel destination
is navigated to. This stored ID is then used to determine the
`selectedChannelId` for the `ServerChannels` composable, ensuring
the correct channel remains visually selected.
2025-09-07 10:41:00 +03:30
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
AbronStudio 5596d56525 Refactor: Improve password input in RegisterDetailsScreen
- Set softInputMode to SOFT_INPUT_ADJUST_PAN to prevent keyboard from obscuring UI elements.
- Use `SecureTextField` for password input to provide obfuscation and a toggle to show/hide password.
- Make the screen vertically scrollable.
2025-08-24 12:54:45 +03:30
AbronStudio d128710f7b Rename peptide to revolt in API and About screen
This commit renames the `peptide` field to `revolt` in the `Root` data class and updates its usage in the `AboutScreen` to reflect this change.
2025-08-24 12:42:17 +03:30
Abron Studio 8e19376e29
Merge pull request #17 from archem-team/feat/messages-deeplink
Feat/messages deeplink
2025-08-24 12:19:45 +03:30
AbronStudio a596220d0e Refactor: Remove Sentry integration
This commit removes the Sentry error reporting integration from the application.

Specific changes:
- Removed Sentry dependencies and plugin from `app/build.gradle.kts`.
- Commented out Sentry initialization and usage in `MainActivity.kt`.
- Commented out Sentry API calls in various files:
    - `OverviewScreen.kt`
    - `ChatRouterScreen.kt`
    - `AppAPI.kt`
- Commented out Sentry meta-data in `AndroidManifest.xml`.
- Removed `sentry.properties` from `.gitignore`.
- Updated `lintOptions` in `app/build.gradle.kts` to set `checkReleaseBuilds = false`.
- In `ChatRouterScreen.kt`, when `showChannelUnavailableAlert` is dismissed or confirmed, set the destination to `ChatRouterDestination.Discover`.
2025-08-21 13:21:28 +03:30
AbronStudio d49a63a80e ServerSheet: Add notification settings
This commit introduces a new page to the server context sheet that allows users to manage their notification settings for the server.

Users can now choose between the following notification options:
- Use default
- Muted
- All messages
- Mentions only
- None

The sheet now uses an `AnimatedContent` composable to switch between the main server information page and the new notification settings page.
2025-08-20 13:50:40 +03:30
AbronStudio 85c807a5c6 UserInfoSheet: Remove unused FeatureFlags import
This import is no longer needed after recent refactoring.
2025-08-20 13:17:39 +03:30
AbronStudio 100a00b8b0 Refactor: Update UserInfoSheet UI and add new message icon
This commit introduces the following changes:

- Adds a new vector drawable `icn_message_to_user.xml`.
- Updates `UserInfoSheet.kt`:
    - Removes the user card feature flag check for displaying server identity options.
    - Changes the message button text from "Message Friends" to "Message".
    - Updates the message button icon to the new `icn_message_to_user` drawable.
- Adds a new string resource "message".
2025-08-20 13:15:12 +03:30
AbronStudio 8026553e0e feat: Implement direct messaging functionality in UserInfoSheet
This commit adds the ability to open a direct message (DM) screen from the UserInfoSheet.

- Introduced a new onClick handler for the DM button that fetches the DM channel for the selected user.
- Implemented caching for the DM channel in PeptideAPI to improve performance.
- Added error handling to display a toast message if the DM channel cannot be opened.
- Cleaned up code for better readability and maintainability in UserInfoSheet.
2025-08-20 13:00:45 +03:30
AbronStudio e2a3fb38af refactor: Enhance ChannelSideDrawer and ServerContextSheet for improved user interactions
This commit refines the user interaction handling in ChannelSideDrawer and ServerContextSheet components.

- Improved the layout and click handling in ChannelSideDrawer for better user experience.
- Updated ServerContextSheet to handle server actions more efficiently, including copying server IDs and marking servers as read.
- Introduced a confirmation dialog for leaving servers and improved error handling during server actions.
- Cleaned up code for better readability and maintainability across the affected files.
2025-08-20 12:57:26 +03:30
AbronStudio c2790838df refactor: Improve user context handling in UserInfoSheet and UserButtons
This commit enhances the user context management in UserInfoSheet and UserButtons components.

- Removed unused parameters and improved the handling of user relationships in UserButtons.
- Updated UserInfoSheet to fetch user data more efficiently and reflect relationship changes.
- Introduced loading indicators for friend request actions in UserButtons to enhance user experience.
- Adjusted ModalBottomSheet states in MemberListSheet and ChatRouterScreen to skip partially expanded states for better usability.
- Cleaned up code and improved overall readability in the affected files.
2025-08-20 12:19:08 +03:30
AbronStudio d639048b5c refactor: Update ShareTargetActivity and ChannelSideDrawer for improved user context handling
This commit refines the user context handling in ShareTargetActivity and ChannelSideDrawer components.

- Modified the onOpenUserInfoSheet callback in ShareTargetActivity to accept a user ID parameter.
- Enhanced ChannelSideDrawer to utilize the updated onOpenUserInfoSheet callback for better user context interactions.
- Adjusted the ModalBottomSheet state in ChannelSideDrawer to skip partially expanded states for improved user experience.
- Cleaned up unused code and improved overall readability in the affected files.
2025-08-19 16:01:40 +03:30
AbronStudio 48513b761b feat: Add UserInfoSheet and enhance ChannelSideDrawer with user context functionality
This commit introduces a new UserInfoSheet for displaying user details and updates the ChannelSideDrawer to support user context interactions.

- Implemented UserInfoSheet to fetch and display user profiles, including error handling for user retrieval.
- Enhanced ChannelSideDrawer to manage user context sheets, allowing users to view detailed information about other users.
- Updated existing components to replace channel context interactions with user context interactions where applicable.
- Refactored related functions to maintain clean architecture principles and improve code organization.
2025-08-19 12:01:38 +03:30
AbronStudio bd4fd09559 feat: Enhance ChannelContextSheet with notification settings and invite functionality
This commit introduces a notifications page within the ChannelContextSheet, allowing users to manage notification preferences for channels. It also adds an invite dialog for inviting users to the channel.

- Implemented animated content transitions between the main actions and notifications page.
- Added notification options for default, muted, all messages, mentions only, and none.
- Created a reusable NotificationRadioRow component for managing notification settings.
- Integrated an invite dialog that can be triggered from the channel context sheet.
- Updated string resources to include labels for notification options.
2025-08-19 11:33:11 +03:30
AbronStudio 69a68788f8 Refactor: Remove unused imports
The following imports were removed as they were not being used in the code:
- androidx.compose.foundation.interaction.MutableInteractionSource
- androidx.compose.material3.TextButton
2025-08-18 16:22:55 +03:30
AbronStudio 0471526d2f refactor: Update button components and improve lint settings
This commit refactors button components across the application to use `PepTextButton` and `SquareButton` for consistency in UI design. Additionally, it updates the lint settings in `build.gradle.kts` to disable warnings for `NullSafeMutableLiveData`.

- Replaced instances of `TextButton` and `Button` with `PepTextButton` and `SquareButton` in various composables and screens.
- Adjusted lint settings to disable warnings for `NullSafeMutableLiveData`.
- Improved color usage in `Reaction` composable for better visual consistency.
- Updated drawable resources and string resources for better clarity and organization.
2025-08-18 16:22:02 +03:30
AbronStudio 664c623aeb chore: Update project assets and improve documentation
This commit includes various updates to project assets and documentation for better clarity and organization.

- Added new drawable resources for the application, including logos and icons.
- Introduced new font resources to enhance typography across the app.
- Updated `README.md` and `README_APP_LINKS.md` to provide clearer instructions and troubleshooting tips.
- Refactored `AndroidManifest.xml` to streamline asset references and ensure proper integration.
- Improved localization support by updating multiple `strings.xml` files for various languages.
- Removed obsolete drawable resources to reduce clutter and improve maintainability.
2025-08-17 10:23:16 +03:30
AbronStudio a18909476a feat: Integrate CameraX for photo capture in ChannelScreen
This commit adds CameraX functionality to the ChannelScreen, enabling users to capture photos directly within the app.

- Introduced CameraX dependencies in `build.gradle.kts` for camera features.
- Updated `AndroidManifest.xml` to include the necessary camera permission.
- Implemented a full-screen camera preview using `PreviewView` and a floating action button for capturing photos.
- Refactored the photo capture logic to handle image saving and error handling effectively.
- Enhanced user experience by providing feedback on camera permission status and capture success or failure.
2025-08-13 11:33:20 +03:30
AbronStudio 50e836b974 chore: Rename project from "Revolt" to "PepChat" and update related files
This commit updates the project name across various files to reflect the new branding.

- Changed the root project name in `settings.gradle.kts` from "Revolt" to "PepChat".
- Updated the project name in the `.idea/.name` file to "PepChat".
- Modified `ChatRouterScreen` to use a `Box` layout instead of `Column` for better UI structure.
- Adjusted the `SettingsScreen` to utilize `LargeTopAppBar` for improved design consistency.
- Removed unnecessary size specification in `ChannelScreen` for better visual clarity.
2025-08-12 11:30:13 +03:30
AbronStudio e121fc5774 feat: Implement pagination improvements in ChannelScreen
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.
2025-08-11 12:07:02 +03:30
AbronStudio 072fcbf5eb feat: Enhance channel navigation and message handling
This commit introduces improvements to the channel navigation and message handling within the chat application.

- Updated `ActionChannel` to include an optional `messageId` parameter in the `SwitchChannel` action for better context during channel switches.
- Modified `ChatRouterScreen` to parse and handle the new `messageId` parameter when navigating to channels.
- Enhanced `ChannelScreen` to load messages around a specified `messageId`, allowing users to jump directly to important messages.
- Implemented highlighting for the targeted message in the `ChannelScreen` to improve user experience.
- Updated `ChannelScreenViewModel` to support the new message loading logic based on the `messageId` parameter.
- Refactored related components to ensure clean architecture principles are maintained and improve overall code organization.
2025-08-11 11:45:19 +03:30
AbronStudio 7346bc393f refactor: Enhance application structure and improve code organization
This commit refactors various components across the application to improve maintainability and readability.

- Updated `AndroidManifest.xml` to streamline activity declarations and intent filters.
- Refined `build.gradle.kts` for better dependency management and project configuration.
- Improved proguard rules for better code obfuscation and optimization.
- Enhanced documentation in `README.md` and `README_APP_LINKS.md` for clarity on app links and setup.
- Refactored multiple Kotlin files to adhere to clean architecture principles, ensuring better separation of concerns and modularity.
- Optimized imports and removed unused code across various files to reduce clutter and improve performance.
- Updated UI components to align with Material 3 design guidelines, enhancing the overall user experience.
2025-08-10 15:10:52 +03:30
AbronStudio 73bb8b2b58 feat: Implement deep linking functionality
This commit introduces deep linking capabilities to the application.

- Added `DeepLinkActivity` to handle incoming deep links and navigate users to the appropriate content within the app.
- Created `DeepLinkUtils` to provide utility functions for parsing and creating deep link URIs.
- Updated `MainActivity` to receive and process deep link data from `DeepLinkActivity`.
- Modified `ChatRouterScreen` and its `ViewModel` to handle navigation based on deep link parameters.
- Updated `AndroidManifest.xml` to include intent filters for `DeepLinkActivity` to capture relevant URL schemes and paths.
- Added `assetlinks.json` and `README_APP_LINKS.md` to support Android App Links verification.
- Changed the `applicationId` in `app/build.gradle.kts` from "chat.revolt" to "chat.peptide".
- Renamed project in `.idea/.name` from "PEP" to "Revolt".
- Changed the default route in `ChatRouterScreen` from `Settings` to `Home`.
2025-08-10 12:18:56 +03:30
AbronStudio 9d53be9e41 feat: Implement deep linking functionality
This commit introduces deep linking capabilities to the application.

- Added `DeepLinkActivity` to handle incoming deep links and navigate users to the appropriate content within the app.
- Created `DeepLinkUtils` to provide utility functions for parsing and creating deep link URIs.
- Updated `MainActivity` to receive and process deep link data from `DeepLinkActivity`.
- Modified `ChatRouterScreen` and its `ViewModel` to handle navigation based on deep link parameters.
- Updated `AndroidManifest.xml` to include intent filters for `DeepLinkActivity` to capture relevant URL schemes and paths.
- Added `assetlinks.json` and `README_APP_LINKS.md` to support Android App Links verification.
- Changed the `applicationId` in `app/build.gradle.kts` from "chat.revolt" to "chat.peptide".
- Renamed project in `.idea/.name` from "PEP" to "Revolt".
- Changed the default route in `ChatRouterScreen` from `Settings` to `Home`.
2025-08-10 12:17:54 +03:30
Abron Studio b89b1e9415
Merge pull request #16 from archem-team/issue/platform-issue-when-restart-app
Initialize platform on app start and enhance platform handling
2025-08-09 11:56:45 +03:30
AbronStudio 1163567935 Refactor: Initialize platform on app start and enhance platform handling
- Add `setDefaultPlatformOnCreate` function to `MainActivityViewModel` to initialize the application platform from storage when the app starts. If the platform is not found or invalid, the user is logged out.
- Call `setDefaultPlatformOnCreate` in `MainActivity.onCreate`.
- Add `fromName` companion function to `ApplicationPlatform` enum to retrieve a platform by its name string.
2025-08-09 11:53:46 +03:30
Abron Studio 2e32b116df
Merge pull request #15 from archem-team/issue/handle-error-of-failed-fetch-in-discover
Improve error handling and UI in DiscoverServersList
2025-08-09 11:13:47 +03:30
AbronStudio 90de5ca6ad Refactor: Improve error handling and UI in DiscoverServersList
This commit enhances the error handling and user interface in `DiscoverServersList.kt`.

- Improved loading indicator alignment by centering it within a `Box` that takes up available space.
- Added a retry mechanism for scenarios where loading servers fails or no servers are found. This includes:
    - Displaying an error message.
    - Providing a "Retry" button (`SquareButton`) that triggers `viewModel::loadServers` on click.
    - Centering the error message and retry button within the screen.
2025-08-09 11:10:48 +03:30
Abron Studio 9c3ff5c40e
Merge pull request #14 from archem-team/issue/refactor-button-shapes-as-reusable-code
Refactor: Introduce SquareButton and SquareElevatedButton components …
2025-08-09 10:36:16 +03:30
AbronStudio bf6546725f Refactor: Introduce SquareButton and SquareElevatedButton components for consistent button styling
This commit adds two new composable functions, SquareButton and SquareElevatedButton, to standardize button styling across the application. The new components encapsulate the button shape and styling, promoting code reuse and cleaner UI implementation.

- Created SquareButton for standard button functionality with customizable onClick and content.
- Created SquareElevatedButton for elevated button functionality with similar customization options.
- Replaced instances of Button and ElevatedButton in various screens with the new SquareButton and SquareElevatedButton components for consistency and improved maintainability.
2025-08-09 10:29:40 +03:30
Abron Studio bc27106d30
Merge pull request #13 from archem-team/change/home-screen-design-like-pep
Change home screen design like pep
2025-08-09 10:12:59 +03:30