mattrglobal / osma Goto Github PK
View Code? Open in Web Editor NEWAn open source mobile agent for achieving SSI
License: Apache License 2.0
An open source mobile agent for achieving SSI
License: Apache License 2.0
Using MediatorAgent Service in aries-framework-dotnet/samples/routing/MediatorAgentService
I started the MediatorAgent on http://localhost:5000 and provided this URI as endpoint for Osma Mobile application.
Wanted to understand the role and requirement of a Mediator Cloud agent for A2A connection i.e between Osma app with agents running on aries-framework-dotnet (after executing ./start-web-agents.sh).
Also, how to issue credentials after successful establishment of connection.
Is your feature request related to a problem? Please describe.
To discover the features of a newly connected agent a discovery query can be sent to the agent to discover the protocols it supports. This functionality should be added and used to populate the list view on the ConnectionPage
with a list of supported protocols and any actions able to be taken with these protocols.
Describe the solution you'd like
Add the DiscoveryService
to the ConnectionPage
, use this to query the current connection for a list of protocols. Build a list of TransactionItem
s to populate the listview with representing each supported protocol.
Is your feature request related to a problem? Please describe.
Connections should be able to be deleted, currently a button exists in the more options (three dots) on the ConnectionPage, this button should delete the connection.
Describe the solution you'd like
Wire the delete button to delete the connection and pop the current page back to the main tab view.
Is your feature request related to a problem? Please describe.
In order for a user of OSMA to have a view of any pending actions requiring the users input. A notification page should be added as a base page, here a list of any pending actions (e.g credential offers, new basic message recieved, proof request) will be displayed.
Describe the solution you'd like
Add a new page called NotificationPage which is a tabbed page to MainPage, this page should render a list of TransactionItems
(support already in the app) for any pending actions/unread notifications in the app.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Host Details (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
Connection status is stuck on "Negotiating" after scanning the QR code of web-agent created using aries-framework-dotnet demo (using docker-compose up command)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The connection status should have changed to 'Connected', the mobile (edge-agent) could issue and verify credentials.
Host Details (please complete the following information):
Additional context
While debugging the following exception is Thrown in 'AcceptInviteViewModel' class, post QR code scanning:
ClassName: AcceptInviteViewModel
Method: CreateConnection(context, connectionInviteMessage)
System.Threading.Tasks.TaskCanceledException
{System.Threading.Tasks.TaskCanceledException: The operation was canceled. ---> System.Net.Sockets.SocketException: Connection timed out
at System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken cancellationToken) [0x000c8] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectHelper.cs:65
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync (System.String host, System.Int32 port, System.Threading.CancellationToken cancellationToken) [0x00180] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectHelper.cs:84
at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813
at System.Net.Http.HttpConnectionPool.CreateConnectionAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000ea] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:371
at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813
at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync (System.Threading.Tasks.ValueTask`1[TResult] creationTask) [0x000a2] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:529
at System.Threading.Tasks.ValueTask`1[TResult].get_Result () [0x0001b] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/Common/src/CoreLib/System/Threading/Tasks/ValueTask.cs:813
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync (System.Net.Http.HttpRequestMessage request, System.Boolean doRequestAuth, System.Threading.CancellationToken cancellationToken) [0x0003f] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:284
at System.Net.Http.RedirectHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00070] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/RedirectHandler.cs:32
at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000a0] in <a1e13f54f7de43399f5ed249a523faff>:0
at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x000be] in <a1e13f54f7de43399f5ed249a523faff>:0
at System.Net.Http.HttpClient.FinishSendAsyncBuffered (System.Threading.Tasks.Task`1[TResult] sendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean disposeCts) [0x0017e] in /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/HttpClient.cs:506
at Hyperledger.Aries.Agents.HttpMessageDispatcher.DispatchAsync (System.Uri endpointUri, Hyperledger.Aries.Agents.PackedMessageContext message) [0x0008c] in D:\a\1\s\src\Hyperledger.Aries\Agents\Transport\HttpMessageDispatcher.cs:41
at Hyperledger.Aries.Agents.DefaultMessageService.SendReceiveAsync (Hyperledger.Indy.WalletApi.Wallet
…
Is your feature request related to a problem? Please describe.
Currently the base page is of type TabbedPage
, which prevents navigation using the navigation controls and displaying the built in navigation bar.
Describe the solution you'd like
Wrap the base TabbedPage
with a navigation page so that this functionality can be leveraged.
Is your feature request related to a problem? Please describe.
Add a simple chat interface to allow basic messaging other connected parties.
Describe the solution you'd like
Add a ChatPage
that renders the current chat for a connection and supports the sending of basic messages. An example is present the AspNetCore sample of agent framework. Sample chat interface for Xamarin forms can be found here. Use the protocol discovery support to determine whether an agent supports the basic message, if they do then render a TransactionItem
on the ConnectionPage
that has an action button that allows opening of the chat window.
Is your feature request related to a problem? Please describe.
A consistent approach to error handling should be added to OSMA.
Describe the solution you'd like
Is your feature request related to a problem? Please describe.
Currently there is no support for processing messages for the agent at the edge. Because of missing support in cloud agents. A message processor should be added in preparation for support of this functionality.
Describe the solution you'd like
Create an MessageProcessor that extends the AgentMessageProcessorBase
in Agent Framework that exposes the ability to process messages for the agent.
Is your feature request related to a problem? Please describe.
Setup a CI pipeline for testing and an ad-hoc distribution pipeline using App Center.
When trying to create an invitation on the osma app it shows the error Provision record has no endpoint information specified
Osma currently depends on AgentFramework.Core 4.0.0-preview.662.
When trying to accept an invite from an agent running aries-framework-dotnet commit 5d30511eb829fe the agent fails with "No valid leaving transitions are permitted from state 'Connected' for trigger 'InvitationAccept'."
Updating the dependency to AgentFramework.Core 4.3.0 creates several compile failures I am still working my way through.
More generally: what's the expected state of this project? Is it meant to work with the latest agent release?
Is your feature request related to a problem? Please describe.
Add trust ping support so connections can be pinged to detect if the connections are still active.
Describe the solution you'd like
TransactionItem
to the ConnectionPage
if this protocol is found with an action that allows execution of a trust ping to the current connection.Project builds in VS 2019 but don't really know where to go from there. Might be because I'm not a VS user.
Hi, I'm using windows 10 and trying to install osma but it's giving me a bundle of errors.
I followed the same steps as told to:
Clone it locally,
Run git lfs pull in order to pull the dependent native libraries with LFS.
Open osma-mobile-app.sln and build!
Severity Code Description Project File Line Suppression State
Error NETSDK1004 Assets file 'C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. Osma.Mobile.App C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 234
Error NETSDK1004 Assets file 'C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.Services\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. Osma.Mobile.App.Services C:\Program Files\dotnet\sdk\3.1.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 234
Error List
Severity Code Description Project File Line Suppression State Error Failed to download package 'WebSocket4Net.0.15.1' from 'https://api.nuget.org/v3-flatcontainer/websocket4net/0.15.1/websocket4net.0.15.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/websocket4net/0.15.1/websocket4net.0.15.1.nupkg' has timed out after 100000ms. Osma.Mobile.App.iOS C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.iOS\Osma.Mobile.App.iOS.csproj 1 Error Failed to download package 'UXDivers.GorillaPlayer.SDK.1.5.0' from 'https://api.nuget.org/v3-flatcontainer/uxdivers.gorillaplayer.sdk/1.5.0/uxdivers.gorillaplayer.sdk.1.5.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/uxdivers.gorillaplayer.sdk/1.5.0/uxdivers.gorillaplayer.sdk.1.5.0.nupkg' has timed out after 100000ms. Osma.Mobile.App.iOS C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.iOS\Osma.Mobile.App.iOS.csproj 1 Error Failed to download package 'System.Threading.Tasks.Extensions.4.4.0' from 'https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.4.0/system.threading.tasks.extensions.4.4.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.4.0/system.threading.tasks.extensions.4.4.0.nupkg' has timed out after 100000ms. Osma.Mobile.App.Android C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.Android\Osma.Mobile.App.Android.csproj 1 Error Failed to download package 'Xamarin.Android.Support.v7.MediaRouter.27.0.2.1' from 'https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v7.mediarouter/27.0.2.1/xamarin.android.support.v7.mediarouter.27.0.2.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v7.mediarouter/27.0.2.1/xamarin.android.support.v7.mediarouter.27.0.2.1.nupkg' has timed out after 100000ms. Osma.Mobile.App.Android C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.Android\Osma.Mobile.App.Android.csproj 1 Error Failed to download package 'System.Reactive.4.1.3' from 'https://api.nuget.org/v3-flatcontainer/system.reactive/4.1.3/system.reactive.4.1.3.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/system.reactive/4.1.3/system.reactive.4.1.3.nupkg' has timed out after 100000ms. Osma.Mobile.App.Android C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.Android\Osma.Mobile.App.Android.csproj 1 Error Failed to download package 'Microsoft.AppCenter.Analytics.2.0.0' from 'https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.analytics/2.0.0/microsoft.appcenter.analytics.2.0.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.analytics/2.0.0/microsoft.appcenter.analytics.2.0.0.nupkg' has timed out after 100000ms. Osma.Mobile.App.Android C:\Users\XEMO\Documents\aries-mobile\osma\src\Osma.Mobile.App.Android\Osma.Mobile.App.Android.csproj 1
Output - Package Manager
Failed to download package 'System.Threading.Tasks.Extensions.4.4.0' from 'https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.4.0/system.threading.tasks.extensions.4.4.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.4.0/system.threading.tasks.extensions.4.4.0.nupkg' has timed out after 100000ms. Failed to download package 'Xamarin.FFImageLoading.Transformations.2.4.4.859' from 'https://api.nuget.org/v3-flatcontainer/xamarin.ffimageloading.transformations/2.4.4.859/xamarin.ffimageloading.transformations.2.4.4.859.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.ffimageloading.transformations/2.4.4.859/xamarin.ffimageloading.transformations.2.4.4.859.nupkg' has timed out after 100000ms. Failed to download package 'Acr.UserDialogs.7.0.1' from 'https://api.nuget.org/v3-flatcontainer/acr.userdialogs/7.0.1/acr.userdialogs.7.0.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/acr.userdialogs/7.0.1/acr.userdialogs.7.0.1.nupkg' has timed out after 100000ms. Failed to download package 'Microsoft.AppCenter.Analytics.2.0.0' from 'https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.analytics/2.0.0/microsoft.appcenter.analytics.2.0.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.analytics/2.0.0/microsoft.appcenter.analytics.2.0.0.nupkg' has timed out after 100000ms. Failed to download package 'Xamarin.Essentials.1.0.0' from 'https://api.nuget.org/v3-flatcontainer/xamarin.essentials/1.0.0/xamarin.essentials.1.0.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.essentials/1.0.0/xamarin.essentials.1.0.0.nupkg' has timed out after 100000ms. Failed to download package 'Xamarin.Forms.3.6.0.264807' from 'https://api.nuget.org/v3-flatcontainer/xamarin.forms/3.6.0.264807/xamarin.forms.3.6.0.264807.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.forms/3.6.0.264807/xamarin.forms.3.6.0.264807.nupkg' has timed out after 100000ms. Failed to download package 'Xamarin.Android.Support.v7.MediaRouter.27.0.2.1' from 'https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v7.mediarouter/27.0.2.1/xamarin.android.support.v7.mediarouter.27.0.2.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v7.mediarouter/27.0.2.1/xamarin.android.support.v7.mediarouter.27.0.2.1.nupkg' has timed out after 100000ms. Failed to download package 'Xamarin.Android.Support.v4.27.0.2.1' from 'https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v4/27.0.2.1/xamarin.android.support.v4.27.0.2.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/xamarin.android.support.v4/27.0.2.1/xamarin.android.support.v4.27.0.2.1.nupkg' has timed out after 100000ms. Failed to download package 'Microsoft.AppCenter.Crashes.2.0.0' from 'https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.crashes/2.0.0/microsoft.appcenter.crashes.2.0.0.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/microsoft.appcenter.crashes/2.0.0/microsoft.appcenter.crashes.2.0.0.nupkg' has timed out after 100000ms. Failed to download package 'Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1' from 'https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/2.1.1/microsoft.extensions.dependencyinjection.abstractions.2.1.1.nupkg'. The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/2.1.1/microsoft.extensions.dependencyinjection.abstractions.2.1.1.nupkg' has timed out after 100000ms.
Anyone? please help me figure it out.
Regards
Is your feature request related to a problem? Please describe.
When a connection is made to a new party and they did not specify a profile image in the connection information a placeholder view should be shown.
Describe the solution you'd like
Create a new view that renders a colored circle with the connected parties initials inside the circle. Implement logic throughout the application to render this view when no profile image is specified for the connection.
I have tried to generate android build on emulator but its showing "Detecting installed packages..." in output window under build. can you please help me out to generate android build on emulator.
After QR Scan on OSMA to make a connection with aries-framework-dotnet Web Agent, I get the following error.
Error Log on OSMA
Failed to send A2A message with an HTTP status code of InternaIServerError and content Hyperledger.Aries. AriesFrameworkException: Failed to un-pack message -> Hyperledger.lndy.WaI|etApi.Wal letltemNotFoundException: No value with the specified key exists in the wallet from which it was requested.
at Hyperledger.Aries.Utils.Cr yptoUtils.UnpackAsync(Wallet wallet, Bytel] message) in /src/ src/Hyperledger.Aries/Utils/ CryptoUtils.cs:|ine 66
at Hyperledger.Aries.Agents.Agen tBase.UnpackAsync(lAgentContext agentContext, PackedMessageContext message) in /src/src/ Hyperledger.Aries/Agents/ AgentBase.cs:line 170
-End of inner exception stack trace -
at Hyperledger.Aries.Agents.Agen tBase.UnpackAsync(lAgentContext agentContext, PackedMessageContext message) in /src/src/ Hyperledger.Aries/Agents/ AgentBase.cs:line 175
at Hyperledger.Aries.Agents.AgentBa se.ProcessMessage(lAgentContext agentContext, MessageContext messageContext) in /src/src/ Hyperledger.ArieS/Agents/ AgentBase.cs:line 124
at Hyperledger.Aries.Agents.Agent Base.ProcessAsync(lAgentContext context, MessageContext messageContext) in /src/src/ Hyperledger.Aries/Agents/ AgentBase.cs:line 112
at Hyperledger.Aries.AspNetCore.A gentMiddleware.Invoke(HttpContext httpContext, lAgentProvider agentProvider) in /src/src/ Hyperledger.Aries.AspNetCore/ AgentMiddleware.cs:line 48
at Microsoft.AspNetCore.Diagn ostics.DeveloperExceptionPage Middleware.|nvoke(HttpContext context)
On CLI:
web-agent-1_1 | Request finished in 55.9901ms 200 text/html; charset=utf-8
web-agent-2_1 | info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
web-agent-2_1 | Request starting HTTP/1.1 POST http://localhost:8000/ application/ssi-agent-wire 2405
web-agent-2_1 | fail: Hyperledger.Aries.Agents.AgentBase[0]
web-agent-2_1 | Failed to un-pack message
web-agent-2_1 | fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
web-agent-2_1 | An unhandled exception has occurred while executing the request.
web-agent-2_1 | Hyperledger.Aries.AriesFrameworkException: Failed to un-pack message
web-agent-2_1 | ---> Hyperledger.Indy.WalletApi.WalletItemNotFoundException: No value with the specified key exists in the wallet from which it was requested.
web-agent-2_1 | at Hyperledger.Aries.Utils.CryptoUtils.UnpackAsync(Wallet wallet, Byte[] message) in /src/src/Hyperledger.Aries/Utils/CryptoUtils.cs:line 66
Screenshots: https://www.dropbox.com/sh/tz9l9iv3wxbhncr/AADtdghXmK9PHlvaxDAVkeK4a?dl=0
Is your feature request related to a problem? Please describe.
Currently when a new connection is made, the connection list must be pulled to refresh in order to see the new connection.
Describe the solution you'd like
Automatically refresh the connection list when a new connection is made by using the EventAggregator built into agent framework.
Describe alternatives you've considered
No alternatives considered
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.