Skip to content

Merge Debug build type#41

Open
ForbiddenKiwis wants to merge 118 commits intomainfrom
Debug-Build-Type
Open

Merge Debug build type#41
ForbiddenKiwis wants to merge 118 commits intomainfrom
Debug-Build-Type

Conversation

@ForbiddenKiwis
Copy link
Copy Markdown
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.
@ccameron-gb ccameron-gb requested a review from taimuradam March 17, 2026 00:23
Copy link
Copy Markdown
Collaborator

@taimuradam taimuradam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good, I have proposed 3 small changes in app/src/main/java/com/greybox/projectmesh/MainActivity.kt (line 97), app/src/main/AndroidManifest.xml (line 86) and app/build.gradle.kts (line 33).

@ccameron-gb ccameron-gb requested a review from taimuradam March 31, 2026 00:03
Copy link
Copy Markdown
Collaborator

@procrastinator007 procrastinator007 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good my comments should summarize that all file changes were appropriate and consistent. In some of them there where unnecessary cleanup or lines that were added which was not so necessary but at the same time, it doesn't affect the functionality of the code and is ready to be pushed on to the main branch as long as it has been tested on a android physical device to see if the logger is setup correctly. emulator looks good.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good no problem

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setup of debug functionality looks good and categorised

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Timber logging added appropriately replacing the older version

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent changes made

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

timber has been added appropriately

@ccameron-gb
Copy link
Copy Markdown
Collaborator

@Kteja03 Can you try running this on your Android device? You'll need to build the debug build and check the log option on the app (we think this exists?). You might get more help from here: https://www.notion.so/grey-box/Build-variants-and-what-they-do-217815ddf30b807caeb8eaed05a6e0f6

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.