Commit Graph

47 Commits

Author SHA1 Message Date
melod1n 66deae6fc3 temp 2026-05-31 06:48:21 +03:00
melod1n 10453287a7 refactor(logging): introduce custom FastLogger and replace direct Android logging 2026-05-30 18:32:25 +03:00
melod1n 574b230b26 feat: add channel message support and refactor UI components
- Implement `VkChannelMessage` domain and data models for channel message attachments
- Add `CHANNEL_MESSAGE` to `AttachmentType` and map it to relevant UI resources and strings
- Refactor `Sticker` and `Gift` composables to accept URL strings instead of domain objects for better decoupling
- Simplify `AppTheme` by removing redundant color animations and passing the color scheme directly to `MaterialExpressiveTheme`
- Update `LoginScreen` to include a theme toggle (classic vs. light) and improve back-button behavior by resetting error states
- Bump VK API version from 5.238 to 5.263
- Adjust layout and padding for sticker and gift attachment previews
2026-05-19 22:54:44 +03:00
melod1n cb653eddc2 refactor(auth): reuse network ValidationType for validation flow
Remove duplicate auth ValidationType and use the shared network model instead.
Add support for both "sms" and "2fa_sms" SMS validation values.
2026-05-03 06:53:56 +03:00
melod1n df2c61d8d7 feat(auth): add web captcha handling
- replace manual captcha screen with WebView-based VK captcha flow
- handle captcha error 14 by showing the captcha overlay and retrying with success_token
- pass captcha redirect/result state through AppSettings
- remove old captcha ViewModel, navigation, validation, and DI
- add ACRA crash reporting
- add WIP message edit mode UI/state
- update Gradle wrapper, SDK config, and dependencies
2026-05-03 05:49:16 +03:00
melod1n 96b4fc8539 ui: improve Compose stability and message UI
- Add minute/second abbreviations and kotlin.time-based relative time formatter
- Introduce FastPreview and update previews to use AppTheme with dark/dynamic colors
- Refactor attachments preview grid & waveform to use ImmutableList and reduce recompositions
- Tweak message bubble reply styling and swipe-to-reply animation/haptics
- Add Compose Stability Analyzer plugin and enable it in debug builds
- Cache shared images by sha256 and improve share intent/chooser text
- Minor UX polish (e.g., “No views”) and immutability annotations
2026-02-06 22:14:01 +03:00
melod1n 1638d70ef2 update and refresh icons to Material Symbols;
update MaterialDialog style
2026-01-24 21:36:41 +03:00
melod1n 7b2c102470 feat(messages): Implement "message read by" counter
This commit introduces the ability to see how many people have read an outgoing message in a group chat. A "views" count is now displayed in the message options dialog for relevant messages.

- **API & Data Layer:**
  - Added `getMessageReadPeers` to `MessagesService` and `MessagesRepository` to fetch users who have read a specific message.
  - Introduced `MessagesGetReadPeersResponse` to handle the API response.
  - A new URL constant `GET_MESSAGE_READ_PEERS` was added.

- **Domain Layer:**
  - A new `GetMessageReadPeersUseCase` is created to provide the view count to the ViewModel.
  - The use case is registered in the `DomainModule`.

- **ViewModel:**
  - `MessagesHistoryViewModel` now includes `loadMessageReadPeers` to asynchronously fetch and return the view count for a message.

- **UI (Compose):**
  - The `MessageOptionsDialog` now displays a "views" count for outgoing chat messages.
  - It uses a `LaunchedEffect` to call `loadMessageReadPeers` when the dialog is shown.
  - The `visibility` icon has been updated and its XML file renamed to `round_visibility_24px.xml` to follow a consistent naming convention.

- **Refactoring & Minor Fixes:**
  - Simplified several `derivedStateOf` usages to direct calculations or property delegates in `MessageBubble.kt` and `MessagesList.kt` for minor performance improvements.
  - Renamed `IncomingMessageBubble.kt` and `OutgoingMessageBubble.kt` to `MessageBubbleIncoming.kt` and `MessageBubbleOutgoing.kt` respectively for consistency.
  - Removed an unnecessary log statement in `MessagesList.kt`.
2025-12-06 14:37:08 +03:00
melod1n 3a272376c1 Refactor: replace material icons with local drawables and bump libs 2025-12-02 02:21:45 +03:00
melod1n db92b261c0 vk.com -> vk.ru 2025-09-10 10:24:53 +03:00
melod1n 4677e484d9 move strings in core/ui module
disable generating android resources everywhere except core/ui module
replace UiR with R
2025-08-27 04:53:46 +03:00
melod1n 9e6b079bf6 ability to import/export auth data and some refactoring 2025-07-09 17:29:51 +03:00
melod1n 325211ad5f refactor: improve auth screen and bump haze version
* Bump haze version to 1.6.0.
* Blur now works on android 11 and older
* Add "Sign up" and "Forgot password?" links to the auth screen.
* Add logic to toggle dynamic colors on logo click in the auth screen (Android 12+).
2025-05-13 22:52:53 +03:00
melod1n 43539139e8 Simple attachments in messages history (#164)
* new attachments in messages history - photo, video, audio, file, link
* improve attachments in messages history and adjusted font size for logo's text in auth screen
* audio duration, file preview and url preview are now visible in attachments in messages history screen
* make MessageBubble width adapt to attachments container width
* topbar back icon crossfade animation
* implement rich text for message input
* handle click and long click on attachments
* added click and long click handlers for attachments in message bubbles
* enabled opening photos, files, and links when clicked.
* implemented basic long-click logging for photos.
* handled back press to return to Conversations from other tabs.
* corrected the logic for filtering and selecting video images.
* updated string resources for attachments, including a new "Clip" string.
* make MessageBubble mention text underline on out messages
2025-05-10 03:10:07 +03:00
melod1n 89748b72ed Update API version (#147)
* Bump VK Api version to 5.238
* Implemented new authorization flow (at the moment, without auto re-requesting token)
* Add support for sticker pack preview attachments
* Bump LongPoll to version 19
* Improved messages handling
* Fixed coloring issues
* Cache improvements
* Archive screen with full functionality
* Recomposition fixes
* Markdown support for messages bubbles
* Adjust app name font size based on screen width
* Navigation related improvements
* Add logout functionality
2025-04-04 20:43:59 +03:00
melod1n d46c72f7e6 improve login screen UI and logic & fixes for blur 2025-03-29 22:03:37 +03:00
melod1n 7e5843759d release/0.1.6 (#103)
* Bump com.google.guava:guava from 33.3.1-jre to 33.4.0-jre (#97)

* Bump coroutines from 1.9.0 to 1.10.1 (#100)

* some improvements + loading conversation on new message if it is not already in the list

* Bump koin from 4.0.0 to 4.0.1 (#101)

* minor update

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-11 06:38:08 +03:00
melod1n 7c14df1824 release 0.1.5 (#98)
* settings reorganization;
implement long press on emoji button for fast text;
some deprecations fixed;
some typos fixed;
etc

* ability to use more animations (experimental);
fix online friends loading;
conversation avatar in messages history screen;
test second tap on conversations item in bottom bar to scroll to top;
etc

* version up
2024-12-17 21:07:22 +03:00
melod1n 57a1f21c31 fix back button text color 2024-12-14 01:19:38 +03:00
melod1n babf20f62e return of debug token for auth; ability to disable haptic and set logging level; etc 2024-10-26 02:40:31 +03:00
melod1n 58e2906c0f separation of users use cases 2024-08-14 21:03:35 +03:00
melod1n c0726468ad remove debug access token & user id 2024-08-14 19:26:25 +03:00
melod1n ee8cf619f8 remove usage of context-receivers 2024-08-14 12:04:04 +03:00
melod1n 0500969d81 domain module 2024-08-11 17:40:13 +03:00
melod1n 648850f1c8 gradle build convention 2024-08-11 14:53:32 +03:00
melod1n d12047d861 little update 2024-08-09 18:14:00 +03:00
melod1n ce306c995e improvements in ui 2024-07-19 06:52:25 +03:00
melod1n 2b018add7c fast login with token 2024-07-19 06:01:16 +03:00
melod1n a696425dc8 more fixes 2024-07-16 07:43:08 +03:00
melod1n c8b1d72f08 update package name (even bigger one) 2024-07-16 07:02:50 +03:00
melod1n 4f9e49003b update package name (big one) 2024-07-16 06:37:37 +03:00
melod1n c77588c559 remove old material dialog 2024-07-16 02:55:11 +03:00
melod1n eb34c0c1cb improve ui in messages history screen 2024-07-16 02:50:58 +03:00
melod1n b252c03be7 clean up settings and some other things 2024-07-16 02:12:19 +03:00
melod1n 304c630d1d improvements for previewing validation & captcha screens 2024-07-15 19:02:49 +03:00
melod1n ee7499f117 move all ui-related classes and files to ui module 2024-07-15 18:31:58 +03:00
melod1n 9a1bce5707 some coil & compose improvements 2024-07-15 16:43:59 +03:00
melod1n eaf609c475 refactor default alerts 2024-07-15 06:02:25 +03:00
melod1n 654f47bb94 a lot of improvements for long polling service and notifications 2024-07-15 05:01:54 +03:00
melod1n c573803921 improve visuals for Logo & Login screens for compact devices 2024-07-14 00:57:44 +03:00
melod1n a4c20fac23 fix dependency for userbanned screen and some simple tests for login module 2024-07-13 22:59:23 +03:00
melod1n 733627f935 twoFa -> validation naming; fixes for preview for screens (separating view model from ui); some improvements & fixes 2024-07-13 22:45:49 +03:00
melod1n dbc0d71f32 remove logging 2024-07-13 02:06:31 +03:00
melod1n 08e82a309f fix navigating to captcha 2024-07-13 01:40:58 +03:00
melod1n ce1867c22c support for articles; ui & ux & logic fixes for 2fa and captcha screens; fix mentions; 2024-07-13 01:37:24 +03:00
melod1n 25acc6505b account's info on profile screen; storing users into cache 2024-07-12 23:20:24 +03:00
melod1n 3503ecffab Upstream changes (#23) 2024-07-10 16:12:32 -07:00