723555f63486eff6001e3604a10aa275c4172590
This commit introduces the ability to reply to messages. - **API & Data Layer:** - Replaced `replyTo` parameter with `forward` in `sendMessage` calls across the data, domain, and repository layers to support the new reply mechanism. - **ViewModel:** - Added logic to handle the reply state, including storing the replied message's ID (`replyToCmId`). - When a message is sent, it now correctly constructs a `forward` JSON object if it is a reply. - The UI state (`MessagesHistoryScreenState`) is updated to show and hide the reply preview. - Added a `onReplyCloseClicked` handler to cancel a reply. - The ViewModel interface was removed, and the implementation class `MessagesHistoryViewModelImpl` is used directly. - **UI (Compose):** - A new `ReplyContainer` is displayed above the message input bar when a reply is active. - The input bar's corner radius animates to integrate with the reply container. - Added a `FocusRequester` to automatically focus the input field when the reply action is selected. - Added spacing in the message list to prevent the reply preview from overlapping messages. - The message options dialog now passes the `messageId` and `cmId` when an option is picked.
fast-messenger
Unofficial messenger for russian social network VKontakte
Functionality
- Authorization
- 2FA support
- Resend otp
- Captcha support
- Support for new authorization with service and refresh tokens
- Handle token expiration
- Ability to export/import tokens
- 2FA support
- Conversations list
- Pagination
- Manual refresh
- Pin & unpin conversations
- Delete conversations
- Archive
- View archived conversations
- Archive & unarchive conversations
- Friends list
- Sort alphabetically, by priority or random
- Separate tab with only friends who are online
- Settings screen
- TODO
- Chat screen
- Pagination
- Manual refresh
- Message bubbles
- Text
- Date
- Read status
- Edit status
- Sending status
- Message's attachments
- Photo
- Video
- Audio
- File
- Link
- Sticker
- Reply
- Forwarded messages
- Wall post
- Comment in wall post
- Poll
- TODO
- Send messages
- Pinned message
- Pin & unpin messages
- Reply to message
- Delete message
- Select multiple messages
- Delete
- Forward
- Forward in current chat
- Send attachments to chat
- TODO
- Chat materials (attachments)
- Separate tabs for each attachment type
- Pagination
- Manual refresh
- View attachments
- Open photo
- Internal viewer
- External viewer
- Open video in external player
- TODO
- Open photo
- Separate tabs for each attachment type
- Caching
- TODO
Languages
Kotlin
100%