Skip to content

Conversation

@ForbiddenKiwis
Copy link
Collaborator

Includes Features like:

  • New Debug Build Type
  • Timber Custom Logging which shows the Logs when in Debug and Hides when in release
  • Hides Log Tab When in Debug Mode
  • Refactored all the Logs into Timber.Log

ccoppo and others added 30 commits February 2, 2025 12:19
- Created messaging package structure
- Moved message-related code to dedicated files
- Added proper documentation
- Improved code organization and maintainability
Created button for chat screen as well as the chat screen itself.

Changes to files:
MainActivity.kt
BottomNavHost.kt
BottomNavItem.kt
strings.xml(All versions)
Fix for the app crashing when the IP field in chat is empty
…based chat selection

- Removed the old text field + button approach in the Chat route
- Introduced ChatNodeListScreen to display nodes from NetworkScreenViewModel
- Users now tap a node to navigate to the existing ChatScreen
Added message bubble feature to the chat screen.

work done in ChatScreen.kt
…reuse

- Relocated WifiListItem composable to `com.greybox.projectmesh.extension.WifiListItem`
- Removed old definitions from NetworkScreen and replaced them with imports of the new utility
- Updated ChatNodeListScreen and NetworkScreen to reference the shared component
- Ensures a single source of UI truth for node listing and improves code maintainability
Fixed the issue of the app crashing when message were being sent.
Deleted line that was for some reason added, wasn't in the latest version so unsure where it came from.
Added different colors for message bubbles based on whether or not a message is sent by the user, or being received by the user.
- Add test device infrastructure for chat testing
- Create mock virtual router and logger
- Implement test device in network screen
- Add basic test device appearance in chat list

This allows testing of chat functionality without requiring
a second physical device.
…dpoint

- Added OnboardingViewModel storing typed device name in both userRepository (DB) and SharedPreferences
- Created custom ViewModelProvider.Factory to avoid no-arg constructor crash in Onboarding
- Updated AppServer with /myinfo route + requestRemoteUserInfo() to retrieve remote user’s name
- Replaced DeviceInfoManager calls with userRepository-based lookups (DB approach)
- Settings screen now reads + displays the typed device name (shared DB/prefs)
- Currently not calling requestRemoteUserInfo() automatically; will add usage in next commit
…dpoint

- Added OnboardingViewModel storing typed device name in both userRepository (DB) and SharedPreferences
- Created custom ViewModelProvider.Factory to avoid no-arg constructor crash in Onboarding
- Updated AppServer with /myinfo route + requestRemoteUserInfo() to retrieve remote user’s name
- Replaced DeviceInfoManager calls with userRepository-based lookups (DB approach)
- Settings screen now reads + displays the typed device name (shared DB/prefs)
- Currently not calling requestRemoteUserInfo() automatically; will add usage in next commit
…idse2024' into messaging-updates-wil-mesh-asu-cidse2024

# Conflicts:
#	app/src/main/java/com/greybox/projectmesh/MainActivity.kt
#	app/src/main/java/com/greybox/projectmesh/messaging/ui/screens/ChatScreen.kt
- Updated SettingsScreen to trigger onDeviceNameChange when a new device name is submitted.
- Modified the onDeviceNameChange callback to:
  • Retrieve the local UUID from SharedPreferences.
  • Update the local user in the database via UserRepository.insertOrUpdateUser.
  • Query connected users (via getAllConnectedUsers) from the repository and iterate over each user’s IP address.
  • For each connected node, convert the IP to InetAddress and call appServer.pushUserInfoTo to broadcast the updated user info.
- Added detailed logging for debugging the update and broadcast processes.
- Refactored the broadcast mechanism to reuse existing user repository data instead of maintaining a separate global list.
Deleted some old test code from ChatScreen.kt
- Fixed onboarding screen bug so it only shows on first startup by properly setting/checking the hasRunBefore flag.
- Refactored OnboardingViewModel to use DI-provided local IP from AndroidVirtualNode.
- Updated user info update logic (get user info and update) to store clean user names and IP separately.
- Improved messaging logic to avoid appending the IP to the user name.
-Added time stamps to the bottom right of message bubbles.
-created conversation entity for tracking chat history
-implement conversationdao and repository for data management
-added ConversationHomeScreens UI with online/offline indicators
- update navigation
- integrate history with existing chat screen and user profiles
- added support for offline messaging history
- improved UX with status indicators and unread counts
- modified to 2 test users: one online and one offline
…ting app git status ! make sure to clear data on app before running this git status
…TTP Post

Was originally being sent via HTTP GET which has some problems.
kelvinlin9614 and others added 30 commits June 2, 2025 23:53
1. Moved Directory Creation task off the main thread (slightly reduce app startup time).
2. Reconstructed Home Screen UI (replaced Column with LazyColumn for faster UI rendering)
3. Added Splash Screen for Android 11 and below (Ensure a smooth UI transition during app launch)
4. Fixed an issue on Android 10 where the default directory for saving received files could not be created.
5. Fixed a bug where tapping the recycle bin icon on the Receive screen could sometimes delete multiple records instead of the selected one.
6. Implemented swipe-to-delete functionality on the Send Screen, allowing users to swipe left to remove the record.
7. Add Log Screen to display detailed information about network activity, internal Meshrabiya operations, and runtime errors.
8. Update Log Screen with Multi-Selection Copy.
Updated the navigation bar to be able to hold all the title of the icons to make it look better. While also adding a Preview so that we can see what is being changed in the backend of the BottomNavHost.
…Un-comment the lines 72-73 in order to check the logs for verification. Might fix the Username null crash
…roblem in order to generate automatically the Username for identification purposes by adding a Guest_Num in which the Num generates everytime there's a new user
…ing it a behavior when in release to not show the logs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants