🔨 1 new commit to ComuCompose:master:
7a7edd5: Here is a concise commit message summarizing the changes:
Implement Firebase Cloud Messaging (FCM) support and optimize connection logic
- Add
- Update
- Implement
- Integrate Firebase dependencies (Messaging, Analytics, BoM) in build configuration
- Update
- Refactor
- Add
- Update UI components to reflect connection status based on the new logic
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
7a7edd5: Here is a concise commit message summarizing the changes:
Implement Firebase Cloud Messaging (FCM) support and optimize connection logic
- Add
ComuFirebaseService to handle incoming FCM messages and notifications- Update
LoginActivity to support token persistence, relaunch logic, and FCM initialization- Implement
TokenDb in Handlers for local token storage and retrieval- Integrate Firebase dependencies (Messaging, Analytics, BoM) in build configuration
- Update
AndroidManifest.xml with new permissions and service declarations- Refactor
SocketService and connection handling to support both socket and FCM modes- Add
google-services.json configuration for Firebase project integration- Update UI components to reflect connection status based on the new logic
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuServer:main:
b6d044b: Enhance token generation and response handling logic
Updated the token generation response to include
Added a conditional block to handle duplicate
keys in
Removed unnecessary
introduced an
b6d044b: Enhance token generation and response handling logic
Updated the token generation response to include
uname andverified fields using GetNameById and GetVerifiedById.Added a conditional block to handle duplicate
Ievent.datakeys in
rtokens, returning a failure response (resp).Removed unnecessary
continue after sending resp2 andintroduced an
else block for failure handling. by NikkaGames🔨 1 new commit to ComuCompose:master:
910dcad: Remove ServerService and refactor connection logic
- Delete
- Update
- Refactor
- Add automatic reconnection checks in
- Improve null safety for profile icons and average color calculations.
- Optimize login flow and service startup sequences in
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
910dcad: Remove ServerService and refactor connection logic
- Delete
ServerService and remove from Manifest.- Update
SocketService configuration and cleanup logic.- Refactor
TokenDb usage in Handlers to use a singleton instance.- Add automatic reconnection checks in
MainActivity and ChatActivity on resume.- Improve null safety for profile icons and average color calculations.
- Optimize login flow and service startup sequences in
LoginActivity.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
e045f51: Replace ACRA with Firebase Crashlytics
Add message timestamps and date separators in ChatActivity
Parse message time in Handlers and add formatting utilities
Redirect notification clicks to LoginActivity if not connected
Move heavy color calculation off the main thread in MainActivity
Fix potential null pointer issues in Handlers
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
e045f51: Replace ACRA with Firebase Crashlytics
Add message timestamps and date separators in ChatActivity
Parse message time in Handlers and add formatting utilities
Redirect notification clicks to LoginActivity if not connected
Move heavy color calculation off the main thread in MainActivity
Fix potential null pointer issues in Handlers
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
c82ea0d: Refactor message handling loop and remove unused methods
Optimize profile picture loading and caching mechanisms
Update ChatActivity reconnection logic and timestamp UI
Reduce polling delays and improve background thread management
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
c82ea0d: Refactor message handling loop and remove unused methods
Optimize profile picture loading and caching mechanisms
Update ChatActivity reconnection logic and timestamp UI
Reduce polling delays and improve background thread management
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
1ddbd2d: 3000-rc2 -> Implement custom loading animation and improve navigation flow
- Replace standard progress indicators with new
- Add
- Enhance intent handling in
- Move socket closure to a background thread in
- Enforce a character limit on the text input in
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
1ddbd2d: 3000-rc2 -> Implement custom loading animation and improve navigation flow
- Replace standard progress indicators with new
JumpSwapDots composable in ChatActivity and MainActivity.- Add
ReconScreen to LoginActivity for handling reconnection states using the new comu_circle resource.- Enhance intent handling in
LoginActivity and ComuFirebaseService to navigate directly to specific chats.- Move socket closure to a background thread in
SocketService.- Enforce a character limit on the text input in
MainActivity.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
4ec964d: Push latest changes
* Utils.kt: Add optional
* ChatActivity.kt: Adjust
* LoginActivity.kt: Replace
* MainActivity.kt: Replace
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
4ec964d: Push latest changes
* Utils.kt: Add optional
fill parameter to JumpSwapDots to control width behavior.* ChatActivity.kt: Adjust
JumpSwapDots animation speed to 125.* LoginActivity.kt: Replace
CircularProgressIndicator with JumpSwapDots during loading state; fix incorrect Handlers.messageCheck call (start -> run).* MainActivity.kt: Replace
CircularProgressIndicator with JumpSwapDots for UI consistency.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
5e2abaa: Revamp Profile UI and add Firebase Performance
- Rewrite ProfileActivity with collapsing droplet header, custom avatar morphing, and nested scroll handling.
- Integrate Firebase Performance Monitoring plugin and dependencies.
- Update JumpSwapDots utility with new layout parameters and animation logic.
- Add animated connecting indicator to MainActivity and adjust dot sizing in ChatActivity.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
5e2abaa: Revamp Profile UI and add Firebase Performance
- Rewrite ProfileActivity with collapsing droplet header, custom avatar morphing, and nested scroll handling.
- Integrate Firebase Performance Monitoring plugin and dependencies.
- Update JumpSwapDots utility with new layout parameters and animation logic.
- Add animated connecting indicator to MainActivity and adjust dot sizing in ChatActivity.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
9f3bcfe: Refactor event handling and cleanup code
- Replace hardcoded event name strings with constants in
- Introduce
- Convert
- Use
- Improve null safety checks and string building efficiency
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
9f3bcfe: Refactor event handling and cleanup code
- Replace hardcoded event name strings with constants in
Handlers.kt- Introduce
waitResult helper to deduplicate synchronous request logic- Convert
if-else chains to when expressions and improve formatting- Use
getIcon() accessor instead of direct property access in ProfileActivity- Improve null safety checks and string building efficiency
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuServer:main:
5307034: Refactor, clean up, and update protocol events
Refactored code for improved readability and consistency:
- Standardized
- Removed unused methods, exception variables, and legacy code.
- Replaced hardcoded event names with descriptive alternatives.
- Updated JSON response keys to match new event names.
Bug fixes and enhancements:
- Fixed typos in log messages.
- Added
- Refactored
- Introduced
Other changes:
- Added
- Replaced
5307034: Refactor, clean up, and update protocol events
Refactored code for improved readability and consistency:
- Standardized
if-else blocks and added braces {}.- Removed unused methods, exception variables, and legacy code.
- Replaced hardcoded event names with descriptive alternatives.
- Updated JSON response keys to match new event names.
Bug fixes and enhancements:
- Fixed typos in log messages.
- Added
time field to "msg.new" event for timestamps.- Refactored
msg.delete for better isdel handling.- Introduced
Encrypt method for string encryption.Other changes:
- Added
SharpCompress.Compressors.Xz library.- Replaced
GoogleUserOutputData deserialization with JsonDocument. by NikkaGames🔨 1 new commit to ComuCompose:master:
2204a63: Implement edge-to-edge UI and refactor profile animations
- Enable transparent status bars and edge-to-edge layout across Main, Login, Chat, and Profile activities
- Update themes.xml to support transparent system bars
- Refactor droplet background physics, avatar blur, and layout in ProfileActivity
- Add default profile image fallback logic in MainActivity
- Update incoming message event key in Firebase service
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
2204a63: Implement edge-to-edge UI and refactor profile animations
- Enable transparent status bars and edge-to-edge layout across Main, Login, Chat, and Profile activities
- Update themes.xml to support transparent system bars
- Refactor droplet background physics, avatar blur, and layout in ProfileActivity
- Add default profile image fallback logic in MainActivity
- Update incoming message event key in Firebase service
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
24f07c3: Refactor threading to Coroutines and remove Firebase Performance
- Migrate background tasks in
- Convert
- Update
- Remove Firebase Performance Monitoring dependency and plugin configuration.
- Simplify vibration logic in
- Remove redundant whitespace in
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
24f07c3: Refactor threading to Coroutines and remove Firebase Performance
- Migrate background tasks in
Handlers (LoadChats, NewChat, icon processing) from Java Threads/Executors to Kotlin Coroutines.- Convert
getIcon to a suspend function and remove CompletableFuture usage.- Update
LoginActivity, MainActivity, ChatActivity, and ComuFirebaseService to initialize and pass CoroutineScope for async operations.- Remove Firebase Performance Monitoring dependency and plugin configuration.
- Simplify vibration logic in
ComuFirebaseService by removing legacy SDK version checks.- Remove redundant whitespace in
ProfileActivity.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
6a9d4e6: Migrate to SQLCipher and implement message drafts
- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update
- Embed obfuscated SSL certificate in
- Enhance token validation using app signature and device ID
- Update
- Lock app orientation to portrait and add splash screen logic
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
6a9d4e6: Migrate to SQLCipher and implement message drafts
- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update
TokenDatabase to support encryption and store user data blobs- Embed obfuscated SSL certificate in
SocketService and remove commu.jks- Enhance token validation using app signature and device ID
- Update
MainActivity UI with new list item design and ripple effects- Lock app orientation to portrait and add splash screen logic
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 2 new commits to ComuCompose:master:
4b74d9e: Migrate to SQLCipher and implement message drafts
- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update
- Embed obfuscated SSL certificate in
- Enhance token validation using app signature and device ID
- Update
- Lock app orientation to portrait and add splash screen logic
Add proguard rules for SQLCipher
- Keep classes and members for net.sqlcipher.** and org.sqlite.** to prevent obfuscation issues.
- Add dontwarn rules for sqlcipher and sqlite packages.
- Specifically keep mNativeHandle in SQLiteDatabase to ensure native access works correctly.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
bb3a9cb: Merge remote-tracking branch 'origin/master' by NikkaGames
4b74d9e: Migrate to SQLCipher and implement message drafts
- Replace standard SQLite with SQLCipher for encrypted local storage
- Implement message draft saving, restoring, and preview in chat list
- Update
TokenDatabase to support encryption and store user data blobs- Embed obfuscated SSL certificate in
SocketService and remove commu.jks- Enhance token validation using app signature and device ID
- Update
MainActivity UI with new list item design and ripple effects- Lock app orientation to portrait and add splash screen logic
Add proguard rules for SQLCipher
- Keep classes and members for net.sqlcipher.** and org.sqlite.** to prevent obfuscation issues.
- Add dontwarn rules for sqlcipher and sqlite packages.
- Specifically keep mNativeHandle in SQLiteDatabase to ensure native access works correctly.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
bb3a9cb: Merge remote-tracking branch 'origin/master' by NikkaGames
🔨 1 new commit to ComuCompose:master:
7cffbb2: Refactor threading for chat loading, search, and login operations
Optimize image processing and icon loading in Handlers
Rename request queue in SocketService and update PendingIntent flags
Fix draft state updates and empty view logic in ChatActivity
Adjust chat list item padding and text styling in MainActivity
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
7cffbb2: Refactor threading for chat loading, search, and login operations
Optimize image processing and icon loading in Handlers
Rename request queue in SocketService and update PendingIntent flags
Fix draft state updates and empty view logic in ChatActivity
Adjust chat list item padding and text styling in MainActivity
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
42df7b6: Revamp Profile UI and adjust chat bubble width
- Update
- Add User Bio and "Joined at" sections to the profile layout.
- Implement logic to display a verified badge next to the username, utilizing a new
- Increase the maximum width of text messages in
- Add
- Remove unused blur animation logic from
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
42df7b6: Revamp Profile UI and adjust chat bubble width
- Update
ProfileActivity to include a row of action buttons (Message, Notify, Call, Add) with AnimatedVisibility.- Add User Bio and "Joined at" sections to the profile layout.
- Implement logic to display a verified badge next to the username, utilizing a new
brighter color extension function.- Increase the maximum width of text messages in
ChatActivity from 60% to 75% of the screen width.- Add
ic_notify vector resource.- Remove unused blur animation logic from
ProfileActivity.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
3397ced: Refactor profile data handling and user search flow
- Separate profile view data (UID, name, icon, verification) from current user data in
- Update
- Redirect user search in
- Update
- Rename "New Chat" to "Search user" and update the search icon in
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
3397ced: Refactor profile data handling and user search flow
- Separate profile view data (UID, name, icon, verification) from current user data in
Singleton to prevent conflicts.- Update
ProfileActivity to consume specific profile fields and handle from_profile navigation logic for chat initiation.- Redirect user search in
Handlers to open ProfileActivity instead of directly launching ChatActivity.- Update
ChatActivity and MainActivity to populate Singleton profile data before navigating to ProfileActivity.- Rename "New Chat" to "Search user" and update the search icon in
MainActivity.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuCompose:master:
ed4d6be: Extract average color from user icon and use it for verified badge tint
* Calculate average color from item icon in
* Add
* Apply the calculated
* Ensure a default profile icon is displayed if
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
ed4d6be: Extract average color from user icon and use it for verified badge tint
* Calculate average color from item icon in
Handlers.kt.* Add
color property to ItemClass with a default blue value.* Apply the calculated
item.color to the verified badge tint in MainActivity.kt.* Ensure a default profile icon is displayed if
item.icon is null in MainActivity.kt.Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to ComuServer:main:
0302964: Send empty message history if user has no messages to counterparty by NikkaGames
0302964: Send empty message history if user has no messages to counterparty by NikkaGames
🔨 1 new commit to ComuCompose:master:
ad42f65: Push latest changes
* ChatActivity: Refine
* deploymentTargetSelector: Update deployment target selection mode.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
ad42f65: Push latest changes
* ChatActivity: Refine
noMessages state logic during initial load to prevent empty state flash.* deploymentTargetSelector: Update deployment target selection mode.
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
🔨 1 new commit to AudioReceiver:master:
78c49b2: Refactor AudioReceiverService socket handling and update Gradle properties
- Make
- Ensure the socket is closed in
- Add exception handling for socket reception and thread sleep to gracefully exit the loop on interruption or error.
- Increase Gradle JVM heap size to 4GB.
- Clean up comments and add
Signed-off-by: NikkaGames <[email protected]> by NikkaGames
78c49b2: Refactor AudioReceiverService socket handling and update Gradle properties
- Make
DatagramSocket a class-level member in AudioReceiverService to allow proper cleanup.- Ensure the socket is closed in
onDestroy to prevent resource leaks.- Add exception handling for socket reception and thread sleep to gracefully exit the loop on interruption or error.
- Increase Gradle JVM heap size to 4GB.
- Clean up comments and add
android.deployInstruments, android.injected.testOnly, and android.baselineProfiles properties in gradle.properties.Signed-off-by: NikkaGames <[email protected]> by NikkaGames