<freeStyleProject _class='hudson.model.FreeStyleProject'><action></action><action _class='hudson.plugins.jobConfigHistory.JobConfigHistoryProjectAction'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/</displayUrl></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description></description><displayName>Meshrabiya</displayName><fullDisplayName>Meshrabiya</fullDisplayName><fullName>Meshrabiya</fullName><name>Meshrabiya</name><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/</url><buildable>true</buildable><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4</displayName><duration>123182</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>2476</queueId><result>SUCCESS</result><timestamp>1699269569550</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</commitId><timestamp>1699269470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Android 8 fixes.

1) Update UI - was using the wrong property to determine what to show on local node screen.

2) Note that IPv6 is not working as expected on Android 8 (Lava Iris). Issue #6 on Github.
</comment><date>2023-11-06 15:17:50 +0400</date><id>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</id><msg>Android 8 fixes.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#3</displayName><duration>114418</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #3</fullDisplayName><id>3</id><inProgress>false</inProgress><keepLog>false</keepLog><number>3</number><queueId>2428</queueId><result>FAILURE</result><timestamp>1697445359820</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/3/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</affectedPath><affectedPath>test-app/src/main/assets/open_source_licenses.html</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</commitId><timestamp>1692186706000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging: add relative timestamps, log level, device info, version info.
</comment><date>2023-08-16 15:51:46 +0400</date><id>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</id><msg>Improve logging: add relative timestamps, log level, device info, version info.</msg><path><editType>edit</editType><file>test-app/src/main/assets/open_source_licenses.html</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</file></path><path><editType>delete</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>delete</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</affectedPath><commitId>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</commitId><timestamp>1692187067000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.
</comment><date>2023-08-16 15:57:47 +0400</date><id>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</id><msg>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</affectedPath><affectedPath>README.md</affectedPath><commitId>267c3421d55a9277a5b343cda378fb0e21ee556d</commitId><timestamp>1692195767000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.

Update ipv6 bind to station network workaround createStationNetworkBoundSockets .
</comment><date>2023-08-16 18:22:47 +0400</date><id>267c3421d55a9277a5b343cda378fb0e21ee556d</id><msg>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><commitId>701312a6bacd937d95b255c991fccc5e8ecb373d</commitId><timestamp>1692203132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).
</comment><date>2023-08-16 20:25:32 +0400</date><id>701312a6bacd937d95b255c991fccc5e8ecb373d</id><msg>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>575d93561accacb63ed87ea4acacc95ab2ef273d</commitId><timestamp>1692349132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add initial support for creation of localonly hotspot.
</comment><date>2023-08-18 12:58:52 +0400</date><id>575d93561accacb63ed87ea4acacc95ab2ef273d</id><msg>Add initial support for creation of localonly hotspot.</msg><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</affectedPath><commitId>532e8596072e7109863be4b17e5cda6c49dccac3</commitId><timestamp>1692349229000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update FindFreePor to avoid port 1024 and below
</comment><date>2023-08-18 13:00:29 +0400</date><id>532e8596072e7109863be4b17e5cda6c49dccac3</id><msg>Update FindFreePor to avoid port 1024 and below</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</commitId><timestamp>1692349260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version on Build.gradle.
</comment><date>2023-08-18 13:01:00 +0400</date><id>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</id><msg>Update version on Build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</affectedPath><commitId>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</commitId><timestamp>1692358870000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.
Implement logic to stop local only hotspot.
Add preference and UI to allow user to override type of hotspot to create.
Implement random mac address creation when using custom config for localonlyhotspot
</comment><date>2023-08-18 15:41:10 +0400</date><id>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</id><msg>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>bdc6c6d060df129347855222d9ce1acb93d851b3</commitId><timestamp>1692370439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.
</comment><date>2023-08-18 18:53:59 +0400</date><id>bdc6c6d060df129347855222d9ce1acb93d851b3</id><msg>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>d514f960ad433a8eeb4970d8622b175812cd3669</commitId><timestamp>1692370603000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version in build.gradle.
</comment><date>2023-08-18 18:56:43 +0400</date><id>d514f960ad433a8eeb4970d8622b175812cd3669</id><msg>Update version in build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</commitId><timestamp>1692381453000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.
</comment><date>2023-08-18 21:57:33 +0400</date><id>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</id><msg>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.</msg><path><editType>edit</editType><file>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>add</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>62d7d87d3efc444dba643b7645ce1122436b0c9d</commitId><timestamp>1692381888000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README formatting.
</comment><date>2023-08-18 22:04:48 +0400</date><id>62d7d87d3efc444dba643b7645ce1122436b0c9d</id><msg>Update README formatting.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>6e0b3222f38cd06854f5a208019d9ac96169e9da</commitId><timestamp>1692382224000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Minor README update.
</comment><date>2023-08-18 22:10:24 +0400</date><id>6e0b3222f38cd06854f5a208019d9ac96169e9da</id><msg>Minor README update.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><commitId>aa68927ca82550a284ef4aad8330f48a1d3468d9</commitId><timestamp>1692386024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).

Update UI on SelectDestNodeScreen - show in progress indicator - avoid possibility of multiple clicks.
</comment><date>2023-08-18 23:13:44 +0400</date><id>aa68927ca82550a284ef4aad8330f48a1d3468d9</id><msg>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</file></path><path><editType>edit</editType><file>.idea/deploymentTargetDropDown.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/flow.svg</affectedPath><affectedPath>doc/network-layer.svg</affectedPath><affectedPath>doc/android-wifi-networking.svg</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><commitId>45064e143088a543c6098acd7e6cbddbbafeae56</commitId><timestamp>1692530696000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README and diagram.
</comment><date>2023-08-20 15:24:56 +0400</date><id>45064e143088a543c6098acd7e6cbddbbafeae56</id><msg>Update README and diagram.</msg><path><editType>delete</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>delete</editType><file>doc/flow.svg</file></path><path><editType>delete</editType><file>doc/network-layer.svg</file></path><path><editType>edit</editType><file>doc/android-wifi-networking.svg</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</commitId><timestamp>1692637827000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Replace discord server link with Matrix.org room.
</comment><date>2023-08-21 21:10:27 +0400</date><id>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</id><msg>Replace discord server link with Matrix.org room.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/mesh-image-attrib.txt</affectedPath><affectedPath>doc/mesh.png</affectedPath><commitId>1c58aaac375edd921e0ce7493a52a4fab9f8d735</commitId><timestamp>1692648025000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add temp icon png
</comment><date>2023-08-22 00:00:25 +0400</date><id>1c58aaac375edd921e0ce7493a52a4fab9f8d735</id><msg>Add temp icon png</msg><path><editType>add</editType><file>doc/mesh-image-attrib.txt</file></path><path><editType>add</editType><file>doc/mesh.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>30fcdc867c7688426c45a3f6d98eca953a58c367</commitId><timestamp>1692783157000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to Android Gradle Plugin 8.1.1
</comment><date>2023-08-23 13:32:37 +0400</date><id>30fcdc867c7688426c45a3f6d98eca953a58c367</id><msg>Update to Android Gradle Plugin 8.1.1</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>872a270724883235d7759239bc878baefb3533d6</commitId><timestamp>1693826866000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README to clarify that the project does not have any proprietary dependencies.
</comment><date>2023-09-04 15:27:46 +0400</date><id>872a270724883235d7759239bc878baefb3533d6</id><msg>Update README to clarify that the project does not have any proprietary dependencies.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</affectedPath><affectedPath>test-shared/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/res/xml/filepaths.xml</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>7cac4b313da87d147c28da9f41932cfb3b77a277</commitId><timestamp>1697445306000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging

1) Save logs to file and list in an additional screen. This allows users to retrieve logs from previous sessions, and ensures that when the log is shared the complete log can be shared.

2) Add logging messages for user events on node home screen.
</comment><date>2023-10-16 12:35:06 +0400</date><id>7cac4b313da87d147c28da9f41932cfb3b77a277</id><msg>Improve logging</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/res/xml/filepaths.xml</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</file></path><path><editType>edit</editType><file>test-shared/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>2</buildNumber><marked><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><branch><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><branch><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><branch><SHA1>505c6612e13b3396b27a435f080bc34be3d9be4e</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#2</displayName><duration>175220</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #2</fullDisplayName><id>2</id><inProgress>false</inProgress><keepLog>false</keepLog><number>2</number><queueId>2362</queueId><result>SUCCESS</result><timestamp>1692127683769</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/2/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><affectedPath>test-app/build.gradle</affectedPath><commitId>a6bf708de60291ad8e8fe6d45b6bdd1315ed0767</commitId><timestamp>1692127607000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README.
</comment><date>2023-08-15 23:26:47 +0400</date><id>a6bf708de60291ad8e8fe6d45b6bdd1315ed0767</id><msg>Update README.</msg><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><affectedPath>test-app/build.gradle</affectedPath><commitId>505c6612e13b3396b27a435f080bc34be3d9be4e</commitId><timestamp>1692127666000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove http3 deps from test-app gradle.
</comment><date>2023-08-15 23:27:46 +0400</date><id>505c6612e13b3396b27a435f080bc34be3d9be4e</id><msg>Remove http3 deps from test-app gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1</buildNumber><marked><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1</displayName><duration>34458</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #1</fullDisplayName><id>1</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1</number><queueId>2361</queueId><result>FAILURE</result><timestamp>1692127393985</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/1/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><color>blue</color><firstBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1</buildNumber><marked><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><branch><SHA1>8a58d0d0e8ee5ca990070d0cbf1a5008bb88f72f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1</displayName><duration>34458</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #1</fullDisplayName><id>1</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1</number><queueId>2361</queueId><result>FAILURE</result><timestamp>1692127393985</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/1/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></firstBuild><healthReport><description>Build stability: 2 out of the last 4 builds failed.</description><iconClassName>icon-health-40to59</iconClassName><iconUrl>health-40to59.png</iconUrl><score>50</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4</displayName><duration>123182</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>2476</queueId><result>SUCCESS</result><timestamp>1699269569550</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</commitId><timestamp>1699269470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Android 8 fixes.

1) Update UI - was using the wrong property to determine what to show on local node screen.

2) Note that IPv6 is not working as expected on Android 8 (Lava Iris). Issue #6 on Github.
</comment><date>2023-11-06 15:17:50 +0400</date><id>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</id><msg>Android 8 fixes.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastBuild><lastCompletedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4</displayName><duration>123182</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>2476</queueId><result>SUCCESS</result><timestamp>1699269569550</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</commitId><timestamp>1699269470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Android 8 fixes.

1) Update UI - was using the wrong property to determine what to show on local node screen.

2) Note that IPv6 is not working as expected on Android 8 (Lava Iris). Issue #6 on Github.
</comment><date>2023-11-06 15:17:50 +0400</date><id>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</id><msg>Android 8 fixes.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastCompletedBuild><lastFailedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#3</displayName><duration>114418</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #3</fullDisplayName><id>3</id><inProgress>false</inProgress><keepLog>false</keepLog><number>3</number><queueId>2428</queueId><result>FAILURE</result><timestamp>1697445359820</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/3/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</affectedPath><affectedPath>test-app/src/main/assets/open_source_licenses.html</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</commitId><timestamp>1692186706000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging: add relative timestamps, log level, device info, version info.
</comment><date>2023-08-16 15:51:46 +0400</date><id>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</id><msg>Improve logging: add relative timestamps, log level, device info, version info.</msg><path><editType>edit</editType><file>test-app/src/main/assets/open_source_licenses.html</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</file></path><path><editType>delete</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>delete</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</affectedPath><commitId>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</commitId><timestamp>1692187067000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.
</comment><date>2023-08-16 15:57:47 +0400</date><id>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</id><msg>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</affectedPath><affectedPath>README.md</affectedPath><commitId>267c3421d55a9277a5b343cda378fb0e21ee556d</commitId><timestamp>1692195767000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.

Update ipv6 bind to station network workaround createStationNetworkBoundSockets .
</comment><date>2023-08-16 18:22:47 +0400</date><id>267c3421d55a9277a5b343cda378fb0e21ee556d</id><msg>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><commitId>701312a6bacd937d95b255c991fccc5e8ecb373d</commitId><timestamp>1692203132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).
</comment><date>2023-08-16 20:25:32 +0400</date><id>701312a6bacd937d95b255c991fccc5e8ecb373d</id><msg>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>575d93561accacb63ed87ea4acacc95ab2ef273d</commitId><timestamp>1692349132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add initial support for creation of localonly hotspot.
</comment><date>2023-08-18 12:58:52 +0400</date><id>575d93561accacb63ed87ea4acacc95ab2ef273d</id><msg>Add initial support for creation of localonly hotspot.</msg><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</affectedPath><commitId>532e8596072e7109863be4b17e5cda6c49dccac3</commitId><timestamp>1692349229000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update FindFreePor to avoid port 1024 and below
</comment><date>2023-08-18 13:00:29 +0400</date><id>532e8596072e7109863be4b17e5cda6c49dccac3</id><msg>Update FindFreePor to avoid port 1024 and below</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</commitId><timestamp>1692349260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version on Build.gradle.
</comment><date>2023-08-18 13:01:00 +0400</date><id>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</id><msg>Update version on Build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</affectedPath><commitId>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</commitId><timestamp>1692358870000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.
Implement logic to stop local only hotspot.
Add preference and UI to allow user to override type of hotspot to create.
Implement random mac address creation when using custom config for localonlyhotspot
</comment><date>2023-08-18 15:41:10 +0400</date><id>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</id><msg>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>bdc6c6d060df129347855222d9ce1acb93d851b3</commitId><timestamp>1692370439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.
</comment><date>2023-08-18 18:53:59 +0400</date><id>bdc6c6d060df129347855222d9ce1acb93d851b3</id><msg>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>d514f960ad433a8eeb4970d8622b175812cd3669</commitId><timestamp>1692370603000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version in build.gradle.
</comment><date>2023-08-18 18:56:43 +0400</date><id>d514f960ad433a8eeb4970d8622b175812cd3669</id><msg>Update version in build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</commitId><timestamp>1692381453000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.
</comment><date>2023-08-18 21:57:33 +0400</date><id>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</id><msg>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.</msg><path><editType>edit</editType><file>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>add</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>62d7d87d3efc444dba643b7645ce1122436b0c9d</commitId><timestamp>1692381888000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README formatting.
</comment><date>2023-08-18 22:04:48 +0400</date><id>62d7d87d3efc444dba643b7645ce1122436b0c9d</id><msg>Update README formatting.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>6e0b3222f38cd06854f5a208019d9ac96169e9da</commitId><timestamp>1692382224000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Minor README update.
</comment><date>2023-08-18 22:10:24 +0400</date><id>6e0b3222f38cd06854f5a208019d9ac96169e9da</id><msg>Minor README update.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><commitId>aa68927ca82550a284ef4aad8330f48a1d3468d9</commitId><timestamp>1692386024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).

Update UI on SelectDestNodeScreen - show in progress indicator - avoid possibility of multiple clicks.
</comment><date>2023-08-18 23:13:44 +0400</date><id>aa68927ca82550a284ef4aad8330f48a1d3468d9</id><msg>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</file></path><path><editType>edit</editType><file>.idea/deploymentTargetDropDown.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/flow.svg</affectedPath><affectedPath>doc/network-layer.svg</affectedPath><affectedPath>doc/android-wifi-networking.svg</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><commitId>45064e143088a543c6098acd7e6cbddbbafeae56</commitId><timestamp>1692530696000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README and diagram.
</comment><date>2023-08-20 15:24:56 +0400</date><id>45064e143088a543c6098acd7e6cbddbbafeae56</id><msg>Update README and diagram.</msg><path><editType>delete</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>delete</editType><file>doc/flow.svg</file></path><path><editType>delete</editType><file>doc/network-layer.svg</file></path><path><editType>edit</editType><file>doc/android-wifi-networking.svg</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</commitId><timestamp>1692637827000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Replace discord server link with Matrix.org room.
</comment><date>2023-08-21 21:10:27 +0400</date><id>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</id><msg>Replace discord server link with Matrix.org room.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/mesh-image-attrib.txt</affectedPath><affectedPath>doc/mesh.png</affectedPath><commitId>1c58aaac375edd921e0ce7493a52a4fab9f8d735</commitId><timestamp>1692648025000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add temp icon png
</comment><date>2023-08-22 00:00:25 +0400</date><id>1c58aaac375edd921e0ce7493a52a4fab9f8d735</id><msg>Add temp icon png</msg><path><editType>add</editType><file>doc/mesh-image-attrib.txt</file></path><path><editType>add</editType><file>doc/mesh.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>30fcdc867c7688426c45a3f6d98eca953a58c367</commitId><timestamp>1692783157000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to Android Gradle Plugin 8.1.1
</comment><date>2023-08-23 13:32:37 +0400</date><id>30fcdc867c7688426c45a3f6d98eca953a58c367</id><msg>Update to Android Gradle Plugin 8.1.1</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>872a270724883235d7759239bc878baefb3533d6</commitId><timestamp>1693826866000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README to clarify that the project does not have any proprietary dependencies.
</comment><date>2023-09-04 15:27:46 +0400</date><id>872a270724883235d7759239bc878baefb3533d6</id><msg>Update README to clarify that the project does not have any proprietary dependencies.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</affectedPath><affectedPath>test-shared/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/res/xml/filepaths.xml</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>7cac4b313da87d147c28da9f41932cfb3b77a277</commitId><timestamp>1697445306000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging

1) Save logs to file and list in an additional screen. This allows users to retrieve logs from previous sessions, and ensures that when the log is shared the complete log can be shared.

2) Add logging messages for user events on node home screen.
</comment><date>2023-10-16 12:35:06 +0400</date><id>7cac4b313da87d147c28da9f41932cfb3b77a277</id><msg>Improve logging</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/res/xml/filepaths.xml</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</file></path><path><editType>edit</editType><file>test-shared/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastFailedBuild><lastStableBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4</displayName><duration>123182</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>2476</queueId><result>SUCCESS</result><timestamp>1699269569550</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</commitId><timestamp>1699269470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Android 8 fixes.

1) Update UI - was using the wrong property to determine what to show on local node screen.

2) Note that IPv6 is not working as expected on Android 8 (Lava Iris). Issue #6 on Github.
</comment><date>2023-11-06 15:17:50 +0400</date><id>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</id><msg>Android 8 fixes.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastStableBuild><lastSuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>4</buildNumber><marked><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><branch><SHA1>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#4</displayName><duration>123182</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #4</fullDisplayName><id>4</id><inProgress>false</inProgress><keepLog>false</keepLog><number>4</number><queueId>2476</queueId><result>SUCCESS</result><timestamp>1699269569550</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/4/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</commitId><timestamp>1699269470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Android 8 fixes.

1) Update UI - was using the wrong property to determine what to show on local node screen.

2) Note that IPv6 is not working as expected on Android 8 (Lava Iris). Issue #6 on Github.
</comment><date>2023-11-06 15:17:50 +0400</date><id>2da8bb9228f29a29c1cfb3a653e9c8944daf77ef</id><msg>Android 8 fixes.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastSuccessfulBuild><lastUnsuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>3</buildNumber><marked><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><branch><SHA1>7cac4b313da87d147c28da9f41932cfb3b77a277</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Meshrabiya.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#3</displayName><duration>114418</duration><estimatedDuration>137607</estimatedDuration><fullDisplayName>Meshrabiya #3</fullDisplayName><id>3</id><inProgress>false</inProgress><keepLog>false</keepLog><number>3</number><queueId>2428</queueId><result>FAILURE</result><timestamp>1697445359820</timestamp><url>https://devserver3.ustadmobile.com/jenkins/view/all/job/Meshrabiya/3/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</affectedPath><affectedPath>test-app/src/main/assets/open_source_licenses.html</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</commitId><timestamp>1692186706000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging: add relative timestamps, log level, device info, version info.
</comment><date>2023-08-16 15:51:46 +0400</date><id>ae2a6ca95c0a8ab99435a69c627b0cd42bea9b75</id><msg>Improve logging: add relative timestamps, log level, device info, version info.</msg><path><editType>edit</editType><file>test-app/src/main/assets/open_source_licenses.html</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectBluetooth.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLoggerStdout.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/LogLine.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/InfoViewModel.kt</file></path><path><editType>delete</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/HttpOverBluetoothConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/server/AbstractHttpOverBluetoothServer.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>delete</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/LogLine.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/log/MNetLogger.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/bluetooth/VirtualNodeGattServer.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/ReceiveViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/client/HttpOverBluetoothClient.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pGroupExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</affectedPath><commitId>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</commitId><timestamp>1692187067000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.
</comment><date>2023-08-16 15:57:47 +0400</date><id>fe1c4625658e2ea9e279c2d931e199a2c3dabdbc</id><msg>Add ap station concurrency info. Avoid unnecessary call to stopWifiDirectGroup on startup.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiDirectManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</affectedPath><affectedPath>README.md</affectedPath><commitId>267c3421d55a9277a5b343cda378fb0e21ee556d</commitId><timestamp>1692195767000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.

Update ipv6 bind to station network workaround createStationNetworkBoundSockets .
</comment><date>2023-08-16 18:22:47 +0400</date><id>267c3421d55a9277a5b343cda378fb0e21ee556d</id><msg>Work in progress: use link local ipv6 address to determine BSSID instead of CompanionDeviceManager.</msg><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfigTest.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/ConnectBand.kt</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><commitId>701312a6bacd937d95b255c991fccc5e8ecb373d</commitId><timestamp>1692203132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).
</comment><date>2023-08-16 20:25:32 +0400</date><id>701312a6bacd937d95b255c991fccc5e8ecb373d</id><msg>Add logic to send originating messages if in station mode to access point provider even if none were received (e.g. to restore connection if send/receive of messages dropped temporarily).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/WifiStationState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>575d93561accacb63ed87ea4acacc95ab2ef273d</commitId><timestamp>1692349132000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add initial support for creation of localonly hotspot.
</comment><date>2023-08-18 12:58:52 +0400</date><id>575d93561accacb63ed87ea4acacc95ab2ef273d</id><msg>Add initial support for creation of localonly hotspot.</msg><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/LocalOnlyHotspotState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/ContextExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/ByteBufferExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiP2pManagerExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiP2pConfigExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</affectedPath><commitId>532e8596072e7109863be4b17e5cda6c49dccac3</commitId><timestamp>1692349229000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update FindFreePor to avoid port 1024 and below
</comment><date>2023-08-18 13:00:29 +0400</date><id>532e8596072e7109863be4b17e5cda6c49dccac3</id><msg>Update FindFreePor to avoid port 1024 and below</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/util/FindFreePort.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</commitId><timestamp>1692349260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version on Build.gradle.
</comment><date>2023-08-18 13:01:00 +0400</date><id>ab1ddf122dd2fff4533642e54be5737e1a6bdc0f</id><msg>Update version on Build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</affectedPath><commitId>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</commitId><timestamp>1692358870000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.
Implement logic to stop local only hotspot.
Add preference and UI to allow user to override type of hotspot to create.
Implement random mac address creation when using custom config for localonlyhotspot
</comment><date>2023-08-18 15:41:10 +0400</date><id>436e2b45f29cea9d5e0f56760c41f07dc5ace6f4</id><msg>Update start hotspot logic to ensure that wifidirect is stopped when starting local only hotspot and vice versa.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiConnectConfig.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalOnlyHotspotManager.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MacAddressUtils.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/AndroidVirtualNode.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/SoftApConfigurationExt.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/composable/ConnectWifiLauncher.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/WifiManagerLocalOnlyHotspotExt.kt</file></path><path><editType>add</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/ext/WifiConfigurationExt.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/state/MeshrabiyaWifiState.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/mmcp/MmcpHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/LocalHotspotRequest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNode.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><commitId>bdc6c6d060df129347855222d9ce1acb93d851b3</commitId><timestamp>1692370439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.
</comment><date>2023-08-18 18:53:59 +0400</date><id>bdc6c6d060df129347855222d9ce1acb93d851b3</id><msg>Update UI to use filter chips instead of dropdowns that are unreliable on jetpack compose when hidden/disabled and brought back. Replace toggle switch to start hotspot with button.</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>d514f960ad433a8eeb4970d8622b175812cd3669</commitId><timestamp>1692370603000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version in build.gradle.
</comment><date>2023-08-18 18:56:43 +0400</date><id>d514f960ad433a8eeb4970d8622b175812cd3669</id><msg>Update version in build.gradle.</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</affectedPath><affectedPath>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><commitId>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</commitId><timestamp>1692381453000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.
</comment><date>2023-08-18 21:57:33 +0400</date><id>57fab8ff94a43b72d3e4e609f6ca3faae67afdc8</id><msg>Fix TCP connections when using LocalOnlyHotspot. This required TCP sockets to be bound to the network object. Update README documentation.</msg><path><editType>edit</editType><file>test-shared/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/MeshrabiyaWifiManagerAndroid.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketNextHop.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/OriginatingMessageManager.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>add</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/VirtualNodeDatagramSocket.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/wifi/HotspotType.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryImpl.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketFactoryTest.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/src/test/java/com/ustadmobile/meshrabiya/vnet/socket/ChainSocketServerTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>62d7d87d3efc444dba643b7645ce1122436b0c9d</commitId><timestamp>1692381888000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README formatting.
</comment><date>2023-08-18 22:04:48 +0400</date><id>62d7d87d3efc444dba643b7645ce1122436b0c9d</id><msg>Update README formatting.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>6e0b3222f38cd06854f5a208019d9ac96169e9da</commitId><timestamp>1692382224000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Minor README update.
</comment><date>2023-08-18 22:10:24 +0400</date><id>6e0b3222f38cd06854f5a208019d9ac96169e9da</id><msg>Minor README update.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><commitId>aa68927ca82550a284ef4aad8330f48a1d3468d9</commitId><timestamp>1692386024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).

Update UI on SelectDestNodeScreen - show in progress indicator - avoid possibility of multiple clicks.
</comment><date>2023-08-18 23:13:44 +0400</date><id>aa68927ca82550a284ef4aad8330f48a1d3468d9</id><msg>Increase timeouts on test-app server. Local network can have high latency even when throughput is high (may need to investigate which WiFi lock to use on different Android versions).</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/ReceiveScreen.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/SelectDestNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/SelectDestNodeViewModel.kt</file></path><path><editType>edit</editType><file>.idea/deploymentTargetDropDown.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/flow.svg</affectedPath><affectedPath>doc/network-layer.svg</affectedPath><affectedPath>doc/android-wifi-networking.svg</affectedPath><affectedPath>.idea/deploymentTargetDropDown.xml</affectedPath><affectedPath>README.md</affectedPath><commitId>45064e143088a543c6098acd7e6cbddbbafeae56</commitId><timestamp>1692530696000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README and diagram.
</comment><date>2023-08-20 15:24:56 +0400</date><id>45064e143088a543c6098acd7e6cbddbbafeae56</id><msg>Update README and diagram.</msg><path><editType>delete</editType><file>.idea/deploymentTargetDropDown.xml</file></path><path><editType>delete</editType><file>doc/flow.svg</file></path><path><editType>delete</editType><file>doc/network-layer.svg</file></path><path><editType>edit</editType><file>doc/android-wifi-networking.svg</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</commitId><timestamp>1692637827000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Replace discord server link with Matrix.org room.
</comment><date>2023-08-21 21:10:27 +0400</date><id>d48f0f1fd9d32c78048f843620e8d3e32c89e22e</id><msg>Replace discord server link with Matrix.org room.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>doc/mesh-image-attrib.txt</affectedPath><affectedPath>doc/mesh.png</affectedPath><commitId>1c58aaac375edd921e0ce7493a52a4fab9f8d735</commitId><timestamp>1692648025000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add temp icon png
</comment><date>2023-08-22 00:00:25 +0400</date><id>1c58aaac375edd921e0ce7493a52a4fab9f8d735</id><msg>Add temp icon png</msg><path><editType>add</editType><file>doc/mesh-image-attrib.txt</file></path><path><editType>add</editType><file>doc/mesh.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>build.gradle</affectedPath><commitId>30fcdc867c7688426c45a3f6d98eca953a58c367</commitId><timestamp>1692783157000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to Android Gradle Plugin 8.1.1
</comment><date>2023-08-23 13:32:37 +0400</date><id>30fcdc867c7688426c45a3f6d98eca953a58c367</id><msg>Update to Android Gradle Plugin 8.1.1</msg><path><editType>edit</editType><file>build.gradle</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>872a270724883235d7759239bc878baefb3533d6</commitId><timestamp>1693826866000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README to clarify that the project does not have any proprietary dependencies.
</comment><date>2023-09-04 15:27:46 +0400</date><id>872a270724883235d7759239bc878baefb3533d6</id><msg>Update README to clarify that the project does not have any proprietary dependencies.</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>test-app/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</affectedPath><affectedPath>lib-meshrabiya/build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</affectedPath><affectedPath>build.gradle</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</affectedPath><affectedPath>test-shared/build.gradle</affectedPath><affectedPath>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</affectedPath><affectedPath>test-app/src/main/res/xml/filepaths.xml</affectedPath><affectedPath>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</affectedPath><commitId>7cac4b313da87d147c28da9f41932cfb3b77a277</commitId><timestamp>1697445306000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging

1) Save logs to file and list in an additional screen. This allows users to retrieve logs from previous sessions, and ensures that when the log is shared the complete log can be shared.

2) Add logging messages for user events on node home screen.
</comment><date>2023-10-16 12:35:06 +0400</date><id>7cac4b313da87d147c28da9f41932cfb3b77a277</id><msg>Improve logging</msg><path><editType>edit</editType><file>lib-meshrabiya/src/main/java/com/ustadmobile/meshrabiya/MeshrabiyaConstants.kt</file></path><path><editType>edit</editType><file>test-app/src/main/res/xml/filepaths.xml</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LocalVirtualNodeScreen.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LocalVirtualNodeViewModel.kt</file></path><path><editType>edit</editType><file>build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/MNetLoggerAndroid.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/InfoScreen.kt</file></path><path><editType>edit</editType><file>lib-meshrabiya/build.gradle</file></path><path><editType>edit</editType><file>test-app/build.gradle</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/VNetTestActivity.kt</file></path><path><editType>edit</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/App.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/viewmodel/LogListViewModel.kt</file></path><path><editType>add</editType><file>test-app/src/main/java/com/ustadmobile/meshrabiya/testapp/screens/LogListScreen.kt</file></path><path><editType>edit</editType><file>test-shared/build.gradle</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></lastUnsuccessfulBuild><nextBuildNumber>5</nextBuildNumber><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'><browser _class='hudson.plugins.git.browser.GithubWeb'></browser><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm></freeStyleProject>