# fast-messenger

Unofficial messenger for russian social network VKontakte

**Functionality**
- [x] Authorization
    - [x] 2FA support
        - [x] Resend otp
    - [x] Captcha support
    - [x] Support for new authorization with service and refresh tokens
    - [ ] Handle token expiration
    - [x] Ability to export/import tokens
- [x] Conversations list
    - [x] Pagination
    - [x] Manual refresh
    - [x] Pin & unpin conversations
    - [x] Delete conversations
    - [x] Archive
        - [x] View archived conversations
        - [x] Archive & unarchive conversations
- [x] Friends list
    - [x] Sort alphabetically, by priority or random
    - [x] Separate tab with only friends who are online
- [x] Settings screen
    - [ ] TODO
- [x] Chat screen
    - [x] Pagination
    - [x] Manual refresh
    - [x] Message bubbles
        - [x] Text
        - [x] Date
        - [x] Read status
        - [x] Edit status
        - [x] Sending status
        - [x] Message's attachments
            - [x] Photo
            - [x] Video
            - [x] Audio
            - [x] File
            - [x] Link
            - [x] Sticker
            - [x] Reply
            - [ ] Forwarded messages
            - [ ] Wall post
            - [ ] Comment in wall post
            - [ ] Comment in channel
            - [ ] Poll
            - [ ] TODO
    - [x] Send messages
    - [x] Pinned message
    - [x] Pin & unpin messages
    - [x] Reply to message
    - [x] Swipe to reply to message
    - [x] Delete message
    - [x] Select multiple messages
        - [x] Delete
        - [ ] Forward
        - [ ] Forward in current chat
    - [ ] Send attachments to chat
        - [ ] TODO
- [x] Chat materials (attachments)
    - [x] Separate tabs for each attachment type
        - [x] Pagination
        - [x] Manual refresh
    - [x] View attachments
        - [x] Open photo
            - [x] Internal viewer
            - [x] External viewer
        - [ ] Open video in external player
        - [ ] TODO
- [ ] Caching
    - [ ] TODO
