text:
Make dcp and dashboard communication reliable and robust

It seems like we have a set of issues that all have to do with launching and connecting to DCP and making sure that it's reliable. We should harder this code to make sure we a resilient to launching DCP (retrying if it fails to launch) and making sure it's healthy and if it goes unhealthy having a good way to recover.

https://github.com/dotnet/aspire/issues/2198
https://github.com/dotnet/aspire/issues/2019
https://github.com/dotnet/aspire/issues/2187
https://github.com/dotnet/aspire/issues/1976
https://github.com/dotnet/aspire/issues/2017
https://github.com/dotnet/aspire/issues/2539
https://github.com/dotnet/aspire/issues/2542

cc @karolz-ms @danegsta

All what I have seen so far in terms of inability to start DCP/dashboard fell into one of 3 buckets:

Mismatched Aspire/DCP (workload) binaries. We should be on the look-out to minimize opportunities for such mismatch and I believe the workload set work that Jose and co are doing should be a big help. However, once you are in this situation, no amount of compensation/retrying will help. One thing that we can do now is to improve the error message like https://github.com/dotnet/aspire/issues/1976 suggested, e.g. by instructing developers how to ensure that their workload installation is healthy (DcpHostService would be the place I'd consider). Maybe a troubleshooting documentation page could also help here.

DCP shutting down too slowly. @danegsta has fixed all known problems in this area and these fixes have already been integrated into Aspire (DCP release 0.1.54).

"Arctic" run times out. By that I mean the very first run of a particular DCP version on a given machine. On my dev machine, which is no slouch, it routinly takes close to 10 seconds for the "advanced threat protection" AV software to scan new DCP binaries before they start running, every time I build. This makes me think that our retry timeout for establishing communication between app host and DCP is currently too small (5 seconds) and this PR https://github.com/dotnet/aspire/pull/2435/files#diff-a3e877b57b19124a6d9810e8072e6f1892acf96a26246fc4fcfa34570ed77028 is bumping it up to 20 seconds.

These are the things that IMO have/will make a difference--hope this helps and happy to hear more thoughts on the subject.

Seems like we also have issues around the dashboard connecting to the app host as well. I've seen 2 people with complaints like this https://github.com/dotnet/aspire/issues/2539 ( @drewnoakes @JamesNK ), there might be work to do on the dashboard side of things as well.

Our validation team also reported the issue in #2539 earlier this week but they said that they didn't open a new issue because they weren't able to get a stable repro. I'll ask them to get more logs the next time they see it.

@balachir I plan to work on some of these issues in preview 5 so a reliable repro or more data would be great. I'll try to add more logs so we can see what might be happening when we get into this state.

@danegsta will take an initial look here.

Just saw this one:
fail: Aspire.Hosting.Dashboard.DcpDataSource[0]
      Watch task over kubernetes Container resources terminated
      System.Net.Http.HttpRequestException: Error while copying content to a stream.
       ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
         at k8s.LineSeparatedHttpContent.PeekableStreamReader.PeekLineAsync()
         at k8s.LineSeparatedHttpContent.SerializeToStreamAsync(Stream stream, TransportContext context)
         at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
         --- End of inner exception stack trace ---
         at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
         at System.Net.Http.HttpContent.WaitAndReturnAsync[TState,TResult](Task waitTask, TState state, Func`2 returnFunc)
         at k8s.Kubernetes.CreateResultAsync[T](HttpRequestMessage httpRequest, HttpResponseMessage httpResponse, Nullable`1 watch, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.ICustomObjectsOperations_ListClusterCustomObjectWithHttpMessagesAsync[T](String group, String version, String plural, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.k8s.ICustomObjectsOperations.ListClusterCustomObjectWithHttpMessagesAsync(String group, String version, String plural, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at k8s.WatcherExt.<>c__DisplayClass1_0`2.<<MakeStreamReaderCreator>b__0>d.MoveNext()
      --- End of stack trace from previous location ---
         at k8s.Watcher`1.<>c.<CreateWatchEventEnumerator>b__21_1[TR](Task`1 t)
         at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
      --- End of stack trace from previous location ---
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
      --- End of stack trace from previous location ---
         at k8s.Watcher`1.CreateWatchEventEnumerator(Func`1 streamReaderCreator, Action`1 onError, CancellationToken cancellationToken)+MoveNext()
         at k8s.Watcher`1.CreateWatchEventEnumerator(Func`1 streamReaderCreator, Action`1 onError, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+MoveNext() in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 169
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+MoveNext() in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 169
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
         at Aspire.Hosting.Dashboard.DcpDataSource.<>c__DisplayClass10_1.<<-ctor>g__WatchKubernetesResource|1>d`1.MoveNext() in C:\dev\git\aspire\src\Aspire.Hosting\Dashboard\DcpDataSource.cs:line 88
      --- End of stack trace from previous location ---
         at Aspire.Hosting.Dashboard.DcpDataSource.<>c__DisplayClass10_1.<<-ctor>g__WatchKubernetesResource|1>d`1.MoveNext() in C:\dev\git\aspire\src\Aspire.Hosting\Dashboard\DcpDataSource.cs:line 88

PC went to sleep and the background thread watching resources died.

We should probably have a way to restart the watchers. It is part of the K8s contract that the API server might end them occasionally. We just need to be careful not to try to restart them in a tight loop. In other words, retry with exponential backoff, and ideally have means to indicate in the dashboard UI that the data is stale.

Hi,
I think I'm facing one of the issues reported here. It's started suddenly.
Aspire.Hosting
8.0.0-preview.3.24105.21
Dashboard exception:
blazor.web.js:1 [2024-03-06T22:09:16.464Z] Error: Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Error connecting to subchannel.", DebugException="System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it.")
 ---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
   at Grpc.Net.Client.Balancer.Internal.SocketConnectivitySubchannelTransport.TryConnectAsync(ConnectContext context)
   --- End of inner exception stack trace ---
   at Grpc.Net.Client.Balancer.Internal.ConnectionManager.PickAsync(PickContext context, Boolean waitForReady, CancellationToken cancellationToken)
   at Grpc.Net.Client.Balancer.Internal.BalancerHttpHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpMessageInvoker.<SendAsync>g__SendAsyncWithTelemetry|6_0(HttpMessageHandler handler, HttpRequestMessage request, CancellationToken cancellationToken)
   at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage request, Nullable`1 timeout)
   at Grpc.Net.Client.Internal.Retry.RetryCallBase`2.GetResponseCoreAsync()
   at Aspire.Dashboard.Model.DashboardClient.<>c__DisplayClass23_0.<<EnsureInitialized>g__ConnectAsync|2>d.MoveNext() in /_/src/Aspire.Dashboard/Model/DashboardClient.cs:line 158
--- End of stack trace from previous location ---
   at Aspire.Dashboard.Components.ApplicationName.OnInitializedAsync() in /_/src/Aspire.Dashboard/Components/Controls/ApplicationName.razor.cs:line 32
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

AppHost logs:
dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      Hosting starting
trce: Grpc.AspNetCore.Server.Model.Internal.ServiceRouteBuilder[2]
      Discovering gRPC methods for Aspire.Hosting.Dashboard.DashboardService.
trce: Grpc.AspNetCore.Server.Model.Internal.ServiceRouteBuilder[1]
      Added gRPC method 'GetApplicationInformation' to service 'aspire.v1.DashboardService'. Method type: Unary, HTTP method: POST, route pattern: '/aspire.v1.DashboardService/GetApplicationInformation'.
trce: Grpc.AspNetCore.Server.Model.Internal.ServiceRouteBuilder[1]
      Added gRPC method 'WatchResources' to service 'aspire.v1.DashboardService'. Method type: ServerStreaming, HTTP method: POST, route pattern: '/aspire.v1.DashboardService/WatchResources'.
trce: Grpc.AspNetCore.Server.Model.Internal.ServiceRouteBuilder[1]
      Added gRPC method 'WatchResourceConsoleLogs' to service 'aspire.v1.DashboardService'. Method type: ServerStreaming, HTTP method: POST, route pattern: '/aspire.v1.DashboardService/WatchResourceConsoleLogs'.
trce: Grpc.AspNetCore.Server.Model.Internal.ServiceRouteBuilder[1]
      Added gRPC method 'ExecuteResourceCommand' to service 'aspire.v1.DashboardService'. Method type: Unary, HTTP method: POST, route pattern: '/aspire.v1.DashboardService/ExecuteResourceCommand'.
info: Aspire.Hosting.DistributedApplication[0]
      Distributed application starting.
info: Aspire.Hosting.DistributedApplication[0]
      Application host directory is: D:\projects\trailsmory\trailsmory\src\SiRiff.Trailsmory.Aspire.AppHost
dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      Hosting starting
dbug: Microsoft.AspNetCore.Hosting.Diagnostics[13]
      Loaded hosting startup assembly SiRiff.Trailsmory.Aspire.AppHost
dbug: Microsoft.Extensions.Hosting.Internal.Host[2]
      Hosting started
info: Aspire.Hosting.Dcp.DcpHostService[0]
      Starting DCP with arguments: start-apiserver --monitor 70836 --detach --kubeconfig "C:\Users\User\AppData\Local\Temp\aspire.zy2zduqx.mpc\kubeconfig"
info: Aspire.Hosting.Dcp.start-apiserver.dcp-host[0]
      Starting DCP API server
info: Aspire.Hosting.Dcp.start-apiserver.dcp-host[0]
      Starting DCP controller host
info: Aspire.Hosting.Dcp.start-apiserver.dcp-host[0]
      Started all services      {"count": 2}
info: Aspire.Hosting.Dcp.api-server[0]
      Starting API server...
info: Aspire.Hosting.Dcp.api-server[0]
      API server started        {"Address": "127.0.0.1", "Port": 62409}
info: Aspire.Hosting.Dcp.dcpctrl[0]
      starting controller manager
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      starting process...       {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"aspire-dashboard"}, "Reconciliation": 2, "executable": "C:\\Program Files\\dotnet\\packs\\Aspire.Dashboard.Sdk.win-x64\\8.0.0-preview.3.24105.21\\tools\\Aspire.Dashboard.exe"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      process started   {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"aspire-dashboard"}, "Reconciliation": 2, "executable": "C:\\Program Files\\dotnet\\packs\\Aspire.Dashboard.Sdk.win-x64\\8.0.0-preview.3.24105.21\\tools\\Aspire.Dashboard.exe", "PID": 71072}
info: Aspire.Hosting.DistributedApplication[0]
      Now listening on: http://localhost:15051
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service proxy started     {"ServiceName": {"name":"trailsmory-postgres"}, "Reconciliation": 3, "EffectiveAddress": "localhost", "EffectivePort": 62414}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres is now in state NotReady     {"ServiceName": {"name":"trailsmory-postgres"}, "Reconciliation": 3}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres is now running on localhost:62414    {"ServiceName": {"name":"trailsmory-postgres"}, "Reconciliation": 3}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service proxy started     {"ServiceName": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5, "EffectiveAddress": "localhost", "EffectivePort": 62415}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres-pgadmin is now in state NotReady     {"ServiceName": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres-pgadmin is now running on localhost:62415    {"ServiceName": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service proxy started     {"ServiceName": {"name":"trailsmory-api"}, "Reconciliation": 7, "EffectiveAddress": "localhost", "EffectivePort": 5162}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-api is now in state NotReady  {"ServiceName": {"name":"trailsmory-api"}, "Reconciliation": 7}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-api is now running on localhost:5162  {"ServiceName": {"name":"trailsmory-api"}, "Reconciliation": 7}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service proxy started     {"ServiceName": {"name":"trailsmory-webapp"}, "Reconciliation": 11, "EffectiveAddress": "localhost", "EffectivePort": 5080}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-webapp is now in state NotReady       {"ServiceName": {"name":"trailsmory-webapp"}, "Reconciliation": 11}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-webapp is now running on localhost:5080       {"ServiceName": {"name":"trailsmory-webapp"}, "Reconciliation": 11}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      scheduling container start        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres"}, "Reconciliation": 2, "image": "postgres:latest"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      starting container        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres"}, "Reconciliation": 2, "image": "postgres:latest"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      scheduling container start        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5, "image": "dpage/pgadmin4:latest"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      starting container        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5, "image": "dpage/pgadmin4:latest"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReplicaSetReconciler[0]
      created Executable        {"Controller": "usvc-dev.developer.microsoft.com/executable-replica-set-reconciler", "ExecutableReplicaSet": {"name":"trailsmory-api"}, "Reconciliation": 2, "DesiredReplicas": 1, "TotalReplicas": 0, "ActiveReplicas": 0, "exe": {"metadata":{"name":"trailsmory-api-mq1hf4g","uid":"2891be0e-6c16-4c5f-8fb6-61609bbd7917","resourceVersion":"24","creationTimestamp":"2024-03-06T22:09:11Z","annotations":{"csharp-project-path":"D:\\projects\\trailsmory\\trailsmory\\src\\backend\\SiRiff.Trailsmory.Api\\SiRiff.Trailsmory.Api.csproj","executable-replica-set.usvc-dev.developer.microsoft.com/display-name":"trailsmory-api-1","executable-replica-set.usvc-dev.developer.microsoft.com/replica-state":"active","otel-service-name":"trailsmory-api","service-producer":"[{\"serviceName\":\"trailsmory-api\",\"address\":null,\"port\":null}]"},"ownerReferences":[{"apiVersion":"usvc-dev.developer.microsoft.com/v1","kind":"ExecutableReplicaSet","name":"trailsmory-api","uid":"603a4c46-5842-4eae-86b6-be5a77a9b623","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"dcpctrl.exe","operation":"Update","apiVersion":"usvc-dev.developer.microsoft.com/v1","time":"2024-03-06T22:09:11Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:csharp-project-path":{},"f:executable-replica-set.usvc-dev.developer.microsoft.com/display-name":{},"f:executable-replica-set.usvc-dev.developer.microsoft.com/replica-state":{},"f:otel-service-name":{},"f:service-producer":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"603a4c46-5842-4eae-86b6-be5a77a9b623\"}":{}}},"f:spec":{"f:env":{},"f:executablePath":{},"f:executionType":{},"f:workingDirectory":{}}}}]},"spec":{"executablePath":"dotnet","workingDirectory":"D:\\projects\\trailsmory\\trailsmory\\src\\backend\\SiRiff.Trailsmory.Api","env":[{"name":"DOTNET_LAUNCH_PROFILE","value":"http"},{"name":"ASPNETCORE_URLS","value":"http://localhost:{{- portForServing \"trailsmory-api\" -}}"},{"name":"ASPNETCORE_ENVIRONMENT","value":"Development"},{"name":"OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES","value":"true"},{"name":"OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES","value":"true"},{"name":"OTEL_EXPORTER_OTLP_ENDPOINT","value":"http://localhost:16150"},{"name":"OTEL_RESOURCE_ATTRIBUTES","value":"service.instance.id={{- .UID -}}"},{"name":"OTEL_SERVICE_NAME","value":"{{- index .Annotations \"otel-service-name\" -}}"},{"name":"OTEL_BLRP_SCHEDULE_DELAY","value":"1000"},{"name":"OTEL_BSP_SCHEDULE_DELAY","value":"1000"},{"name":"OTEL_METRIC_EXPORT_INTERVAL","value":"1000"},{"name":"DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION","value":"true"},{"name":"LOGGING__CONSOLE__FORMATTERNAME","value":"simple"},{"name":"LOGGING__CONSOLE__FORMATTEROPTIONS__TIMESTAMPFORMAT","value":"yyyy-MM-ddTHH:mm:ss.fffffff "},{"name":"ConnectionStrings__trailsmory-db","value":"Host=localhost;Port=62414;Username=postgres;Password=a38f0ed433fb49359b54a23c91f43355;Database=trailsmory-db"}],"executionType":"IDE"},"status":{"executionID":"","state":"","startupTimestamp":null,"finishTimestamp":null}}}
info: Aspire.Hosting.DistributedApplication[0]
      Distributed application started. Press CTRL-C to stop.
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReplicaSetReconciler[0]
      created Executable        {"Controller": "usvc-dev.developer.microsoft.com/executable-replica-set-reconciler", "ExecutableReplicaSet": {"name":"trailsmory-webapp"}, "Reconciliation": 6, "DesiredReplicas": 1, "TotalReplicas": 0, "ActiveReplicas": 0, "exe": {"metadata":{"name":"trailsmory-webapp-5cmse6g","uid":"afd46258-0606-43c8-aa00-3435c9140ae1","resourceVersion":"29","creationTimestamp":"2024-03-06T22:09:12Z","annotations":{"csharp-project-path":"D:\\projects\\trailsmory\\trailsmory\\src\\app\\web\\SiRiff.Trailsmory.WebApp\\SiRiff.Trailsmory.WebApp.csproj","executable-replica-set.usvc-dev.developer.microsoft.com/display-name":"trailsmory-webapp-1","executable-replica-set.usvc-dev.developer.microsoft.com/replica-state":"active","otel-service-name":"trailsmory-webapp","service-producer":"[{\"serviceName\":\"trailsmory-webapp\",\"address\":null,\"port\":null}]"},"ownerReferences":[{"apiVersion":"usvc-dev.developer.microsoft.com/v1","kind":"ExecutableReplicaSet","name":"trailsmory-webapp","uid":"c75e24a1-2e5a-49fd-9954-771afc19b9b9","controller":true,"blockOwnerDeletion":true}],"managedFields":[{"manager":"dcpctrl.exe","operation":"Update","apiVersion":"usvc-dev.developer.microsoft.com/v1","time":"2024-03-06T22:09:12Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:csharp-project-path":{},"f:executable-replica-set.usvc-dev.developer.microsoft.com/display-name":{},"f:executable-replica-set.usvc-dev.developer.microsoft.com/replica-state":{},"f:otel-service-name":{},"f:service-producer":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"c75e24a1-2e5a-49fd-9954-771afc19b9b9\"}":{}}},"f:spec":{"f:env":{},"f:executablePath":{},"f:executionType":{},"f:workingDirectory":{}}}}]},"spec":{"executablePath":"dotnet","workingDirectory":"D:\\projects\\trailsmory\\trailsmory\\src\\app\\web\\SiRiff.Trailsmory.WebApp","env":[{"name":"DOTNET_LAUNCH_PROFILE","value":"http"},{"name":"ASPNETCORE_URLS","value":"http://localhost:{{- portForServing \"trailsmory-webapp\" -}}"},{"name":"ASPNETCORE_ENVIRONMENT","value":"Development"},{"name":"OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES","value":"true"},{"name":"OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES","value":"true"},{"name":"OTEL_EXPORTER_OTLP_ENDPOINT","value":"http://localhost:16150"},{"name":"OTEL_RESOURCE_ATTRIBUTES","value":"service.instance.id={{- .UID -}}"},{"name":"OTEL_SERVICE_NAME","value":"{{- index .Annotations \"otel-service-name\" -}}"},{"name":"OTEL_BLRP_SCHEDULE_DELAY","value":"1000"},{"name":"OTEL_BSP_SCHEDULE_DELAY","value":"1000"},{"name":"OTEL_METRIC_EXPORT_INTERVAL","value":"1000"},{"name":"DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION","value":"true"},{"name":"LOGGING__CONSOLE__FORMATTERNAME","value":"simple"},{"name":"LOGGING__CONSOLE__FORMATTEROPTIONS__TIMESTAMPFORMAT","value":"yyyy-MM-ddTHH:mm:ss.fffffff "},{"name":"services__trailsmory-api__0","value":"http://localhost:5162"},{"name":"services__trailsmory-api__1","value":"http://localhost:5162"}],"executionType":"IDE"},"status":{"executionID":"","state":"","startupTimestamp":null,"finishTimestamp":null}}}
dbug: Microsoft.Extensions.Hosting.Internal.Host[2]
      Hosting started
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      IDE run session started   {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-webapp-5cmse6g"}, "Reconciliation": 7, "RunID": "15"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      IDE run session started   {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-api-mq1hf4g"}, "Reconciliation": 6, "RunID": "16"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-webapp-5cmse6g"}, "Reconciliation": 10, "PropertiesChanged": "{exeState=Starting->Running, executionID=(empty)->15, startupTimestamp=(zero)->Mar  6 22:09:12.409, stdOutFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-webapp-5cmse6g_out_afd46258-0606-43c8-aa00-3435c9140ae1, stdErrFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-webapp-5cmse6g_err_afd46258-0606-43c8-aa00-3435c9140ae1, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-webapp is now in state Ready  {"ServiceName": {"name":"trailsmory-webapp"}, "Reconciliation": 13}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-webapp-5cmse6g"}, "Reconciliation": 11, "PropertiesChanged": "{exeState=Starting->Running, executionID=(empty)->15, startupTimestamp=(zero)->Mar  6 22:09:12.409, stdOutFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-webapp-5cmse6g_out_afd46258-0606-43c8-aa00-3435c9140ae1, stdErrFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-webapp-5cmse6g_err_afd46258-0606-43c8-aa00-3435c9140ae1, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container created {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres"}, "Reconciliation": 2, "ContainerID": "21a404e4f6fe632fa6fca7c1f535a56eaeb41b27af90988ef1e78fc280e6c576"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container created {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5, "ContainerID": "f81ac0d811ee6f4357e5417ac39a2a86fbb99ac03123f058a7f9739591228a58"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"aspire-dashboard"}, "Reconciliation": 13, "PropertiesChanged": "{exeState=Running->Finished, exitCode=(null)->-532462766, startupTimestamp=Mar  6 22:09:11.000->Mar  6 22:09:11.612, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-api-mq1hf4g"}, "Reconciliation": 16, "PropertiesChanged": "{exeState=Starting->Running, executionID=(empty)->16, startupTimestamp=(zero)->Mar  6 22:09:12.523, stdOutFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-api-mq1hf4g_out_2891be0e-6c16-4c5f-8fb6-61609bbd7917, stdErrFile=(empty)->C:\\Users\\User\\AppData\\Local\\Temp\\aspire.zy2zduqx.mpc\\trailsmory-api-mq1hf4g_err_2891be0e-6c16-4c5f-8fb6-61609bbd7917, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-api is now in state Ready     {"ServiceName": {"name":"trailsmory-api"}, "Reconciliation": 15}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-api-mq1hf4g"}, "Reconciliation": 17, "PropertiesChanged": "{pid=(null)->61664, startupTimestamp=Mar  6 22:09:12.000->Mar  6 22:09:12.523, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-api-mq1hf4g"}, "Reconciliation": 18, "PropertiesChanged": "{pid=(null)->61664, startupTimestamp=Mar  6 22:09:12.000->Mar  6 22:09:12.523, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ExecutableReconciler[0]
      Executable run changed    {"Controller": "usvc-dev.developer.microsoft.com/executable-reconciler", "Executable": {"name":"trailsmory-webapp-5cmse6g"}, "Reconciliation": 22, "PropertiesChanged": "{pid=(null)->70156, startupTimestamp=Mar  6 22:09:12.000->Mar  6 22:09:12.409, }"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container started {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 5, "ContainerID": "f81ac0d811ee6f4357e5417ac39a2a86fbb99ac03123f058a7f9739591228a58"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container started {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres"}, "Reconciliation": 2, "ContainerID": "21a404e4f6fe632fa6fca7c1f535a56eaeb41b27af90988ef1e78fc280e6c576"}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container has started successfully        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 7, "ContainerID": "f81ac0d811ee6f4357e5417ac39a2a86fbb99ac03123f058a7f9739591228a58"}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres-pgadmin is now in state Ready        {"ServiceName": {"name":"trailsmory-postgres-pgadmin"}, "Reconciliation": 17}
info: Aspire.Hosting.Dcp.dcpctrl.ContainerReconciler[0]
      container has started successfully        {"Controller": "usvc-dev.developer.microsoft.com/container-reconciler", "Container": {"name":"trailsmory-postgres"}, "Reconciliation": 8, "ContainerID": "21a404e4f6fe632fa6fca7c1f535a56eaeb41b27af90988ef1e78fc280e6c576"}
info: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      service /trailsmory-postgres is now in state Ready        {"ServiceName": {"name":"trailsmory-postgres"}, "Reconciliation": 19}

AppHost env variables (excluded what I thought it wasn't relevant):
ASPNETCORE_ENVIRONMENT	Development
ASPNETCORE_URLS	http://localhost:15051
DEBUG_SESSION_PORT	localhost:59981
DEBUG_SESSION_TOKEN	796326216b0e4a1888f7509b432b63b0
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL	http://localhost:16150
DOTNET_DASHBOARD_URL	http://localhost:15051
DOTNET_ENVIRONMENT	Development
DOTNET_LAUNCH_PROFILE	http

Dashboard env variables (excluded what I thought it wasn't relevant):
ASPNETCORE_ENVIRONMENT	Development
ASPNETCORE_URLS	http://localhost:15051
DEBUG_SESSION_PORT	localhost:56330
DEBUG_SESSION_TOKEN	eb1a79ec26034eeea78001a487db9ca7
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL	http://localhost:16150
DOTNET_DASHBOARD_URL	http://localhost:15051
DOTNET_ENVIRONMENT	Development
DOTNET_LAUNCH_PROFILE	http
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL	http://127.0.0.1:57881

I hope it can help a bit :)
Thanks for Aspire!

Hi Guys! Same issue of the Riff451, Aspire looks a game change technology!

@karolz-ms I just got bit by mismatched binaries and it took a while to figure it out. I didn't realize to check until I saw your comment above. I thought dependabot already upgraded the packages for me :)
Do you think it makes sense to detect the mismatch and throw an exception stating as much?

These will be much less common once we ship GA. Well gracefully degrade functionality or throw if it’s not available.

cc @adityamandaleeka

Just had an interesting one. Walked away from my machine for an hour (desktop, always on), and saw this exception:
info: Aspire.Hosting.DistributedApplication[0]
      Aspire version: 8.0.0-dev
info: Aspire.Hosting.DistributedApplication[0]
      Distributed application starting.
info: Aspire.Hosting.DistributedApplication[0]
      Application host directory is: C:\Code\aspire\playground\OpenAIEndToEnd\OpenAIEndToEnd.AppHost
info: Aspire.Hosting.Azure.AzureProvisioner[0]
      Azure resource connection strings saved to user secrets.
info: Aspire.Hosting.DistributedApplication[0]
      Now listening on: http://localhost:15216
info: Aspire.Hosting.DistributedApplication[0]
      Distributed application started. Press Ctrl+C to shut down.
fail: Aspire.Hosting.Dcp.ApplicationExecutor[0]
      Watch task over kubernetes Container resources terminated
      System.Net.Http.HttpRequestException: Error while copying content to a stream.
       ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
         at k8s.LineSeparatedHttpContent.PeekableStreamReader.PeekLineAsync()
         at k8s.LineSeparatedHttpContent.SerializeToStreamAsync(Stream stream, TransportContext context)
         at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
         --- End of inner exception stack trace ---
         at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
         at System.Net.Http.HttpContent.WaitAndReturnAsync[TState,TResult](Task waitTask, TState state, Func`2 returnFunc)
         at k8s.Kubernetes.CreateResultAsync[T](HttpRequestMessage httpRequest, HttpResponseMessage httpResponse, Nullable`1 watch, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.ICustomObjectsOperations_ListClusterCustomObjectWithHttpMessagesAsync[T](String group, String version, String plural, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at k8s.AbstractKubernetes.k8s.ICustomObjectsOperations.ListClusterCustomObjectWithHttpMessagesAsync(String group, String version, String plural, Nullable`1 allowWatchBookmarks, String continueParameter, String fieldSelector, String labelSelector, Nullable`1 limit, String resourceVersion, String resourceVersionMatch, Nullable`1 timeoutSeconds, Nullable`1 watch, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)
         at k8s.WatcherExt.<>c__DisplayClass1_0`2.<<MakeStreamReaderCreator>b__0>d.MoveNext()
      --- End of stack trace from previous location ---
         at k8s.Watcher`1.<>c.<CreateWatchEventEnumerator>b__21_1[TR](Task`1 t)
         at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
      --- End of stack trace from previous location ---
         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
      --- End of stack trace from previous location ---
         at k8s.Watcher`1.CreateWatchEventEnumerator(Func`1 streamReaderCreator, Action`1 onError, CancellationToken cancellationToken)+MoveNext()
         at k8s.Watcher`1.CreateWatchEventEnumerator(Func`1 streamReaderCreator, Action`1 onError, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+MoveNext() in C:\Code\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 170
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+MoveNext() in C:\Code\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 170
         at Aspire.Hosting.Dcp.KubernetesService.WatchAsync[T](String namespaceParameter, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass25_0.<<WatchResourceChanges>g__WatchKubernetesResource|1>d`1.MoveNext() in C:\Code\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 161
      --- End of stack trace from previous location ---
         at Aspire.Hosting.Dcp.ApplicationExecutor.<>c__DisplayClass25_0.<<WatchResourceChanges>g__WatchKubernetesResource|1>d`1.MoveNext() in C:\Code\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 161

Ah ... so this was the same as Davids.

Hrm I am wondering whether this is a long poll timing out?

@mitchdenny see https://github.com/dotnet/aspire/issues/2422#issuecomment-1974078501 My recommendation would be not to rely on very long timeouts, but instead retry as described in the comment above.

Just got this:
Hosting failed to start
      System.IO.IOException: The process cannot access the file 'C:\Users\davifowl\AppData\Local\Temp\aspire.0h3hcao5.chk\kubeconfig' because it is being used by another process.
         at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
         at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
         at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
         at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
         at System.IO.FileInfo.OpenRead()
         at k8s.KubernetesClientConfiguration.LoadKubeConfigAsync(FileInfo kubeconfig, Boolean useRelativePaths)
         at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFileAsync(FileInfo kubeconfig, String currentContext, String masterUrl, Boolean useRelativePaths)
         at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(FileInfo kubeconfig, String currentContext, String masterUrl, Boolean useRelativePaths)
         at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(String kubeconfigPath, String currentContext, String masterUrl, Boolean useRelativePaths)
         at Aspire.Hosting.Dcp.KubernetesService.EnsureKubernetes() in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 291
         at Aspire.Hosting.Dcp.KubernetesService.ExecuteWithRetry[TResult](DcpApiOperationType operationType, String resourceType, Func`2 operation, CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 257
         at Aspire.Hosting.Dcp.ApplicationExecutor.CreateResourcesAsync[RT](CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 1680
         at Aspire.Hosting.Dcp.ApplicationExecutor.CreateServicesAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 858
         at Aspire.Hosting.Dcp.ApplicationExecutor.RunApplicationAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 128
         at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\DcpHostService.cs:line 70
         at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
         at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
Unhandled exception. System.AggregateException: One or more errors occurred. (The process cannot access the file 'C:\Users\davifowl\AppData\Local\Temp\aspire.0h3hcao5.chk\kubeconfig' because it is being used by another process.)
 ---> System.IO.IOException: The process cannot access the file 'C:\Users\davifowl\AppData\Local\Temp\aspire.0h3hcao5.chk\kubeconfig' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.FileInfo.OpenRead()
   at k8s.KubernetesClientConfiguration.LoadKubeConfigAsync(FileInfo kubeconfig, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFileAsync(FileInfo kubeconfig, String currentContext, String masterUrl, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(FileInfo kubeconfig, String currentContext, String masterUrl, Boolean useRelativePaths)
   at k8s.KubernetesClientConfiguration.BuildConfigFromConfigFile(String kubeconfigPath, String currentContext, String masterUrl, Boolean useRelativePaths)
   at Aspire.Hosting.Dcp.KubernetesService.EnsureKubernetes() in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 291
   at Aspire.Hosting.Dcp.KubernetesService.ExecuteWithRetry[TResult](DcpApiOperationType operationType, String resourceType, Func`2 operation, CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\KubernetesService.cs:line 257
   at Aspire.Hosting.Dcp.ApplicationExecutor.CreateResourcesAsync[RT](CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 1680
   at Aspire.Hosting.Dcp.ApplicationExecutor.CreateServicesAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 858
   at Aspire.Hosting.Dcp.ApplicationExecutor.RunApplicationAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\ApplicationExecutor.cs:line 128
   at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\Dcp\DcpHostService.cs:line 70
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Aspire.Hosting.DistributedApplication.RunAsync(CancellationToken cancellationToken) in C:\dev\git\aspire\src\Aspire.Hosting\DistributedApplication.cs:line 102
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Aspire.Hosting.DistributedApplication.Run() in C:\dev\git\aspire\src\Aspire.Hosting\DistributedApplication.cs:line 110
   at Program.<Main>$(String[] args) in C:\dev\git\aspire\playground\TestShop\AppHost\Program.cs:line 42

Does it reproduce? Reliably? I'm wondering whether we have a race to read the file before DCP has finished writing it.

No it's not reliable.

This reliability issue should be partially addressed in this PR #3132

We are making 3 changes here to improve things in Aspire P5

The watch retries courtesy of @mitchdenny
The fact that DCP API server is now listening on the port BEFORE the kubeconfig file is written
The kubeconfig will not appear until it is fully written

Was just chatting with @mitchdenny about this. I'm hitting this constantly:
fail: Microsoft.Extensions.Hosting.Internal.Host[11]
      Hosting failed to start
      Aspire.Hosting.DistributedApplicationException: Application orchestrator dependency check had an unexpected error System.InvalidOperationException: Command C:\Program Files\dotnet\packs\Aspire.Hosting.Orchestration.win-x64\8.0.0-preview.4.24079.3\tools\dcp.exe info returned non-zero exit code 1
         at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 78.
         at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 105
         at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 115
         at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpHostService.cs:line 67
         at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
         at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
Unhandled exception. System.AggregateException: One or more errors occurred. (Application orchestrator dependency check had an unexpected error System.InvalidOperationException: Command C:\Program Files\dotnet\packs\Aspire.Hosting.Orchestration.win-x64\8.0.0-preview.4.24079.3\tools\dcp.exe info returned non-zero exit code 1
   at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 78.)
 ---> Aspire.Hosting.DistributedApplicationException: Application orchestrator dependency check had an unexpected error System.InvalidOperationException: Command C:\Program Files\dotnet\packs\Aspire.Hosting.Orchestration.win-x64\8.0.0-preview.4.24079.3\tools\dcp.exe info returned non-zero exit code 1
   at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 78.
   at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 105
   at Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs:line 115
   at Aspire.Hosting.Dcp.DcpHostService.StartAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/Dcp/DcpHostService.cs:line 67
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Aspire.Hosting.DistributedApplication.RunAsync(CancellationToken cancellationToken) in /_/src/Aspire.Hosting/DistributedApplication.cs:line 102
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Aspire.Hosting.DistributedApplication.Run() in /_/src/Aspire.Hosting/DistributedApplication.cs:line 110
   at Program.<Main>$(String[] args) in C:\code\neweshop\eShop\src\eShop.AppHost\Program.cs:line 82

@adityamandaleeka what does it say when you run dcp info from the command line?

Looks like you are still using Aspire P4 version @adityamandaleeka

We should print the output from the health check on failure

Yes, updating fixed the error I was seeing, thanks @karolz-ms

Made progress on this in P5, will likely still be more issues found so keeping alive for P6.

Given we are not aware of any work that we need to do here, We opted for closing this and we can re-open an issue if new work is discovered/planned.

authors: ElanHasson Riff451 adityamandaleeka balachir davidfowl joaojvf joperezr karolz-ms mitchdenny

repo: dotnet/aspire


text:
close #2636: added json schemas for Aspire.Hosting.AppHost and Aspire.Hosting.Azure

Description
fixed an issues with intellisense inside appsettings.json when using Aspire.Hosting.AppHost or Aspire.Hosting.Azure
Changes:

added AspireAppHostConfiguration.json file and included it into Aspire.Host.AppHosting nuget package
added src/Aspire.Hosting.Azure/AspireAzureConfigurationSchema.json and included it into Aspire.Host.Azure package

This will close #2636
Microsoft Reviewers: Open in CodeFlow

@eerhardt  thank you for the feedback. Did the changes you asked for

source: gharchive/pull-request

license: MIT

license_type: permissive

license_source: github-api


text:
Question: (How) Can I use the docs.html template for my docfx project?

According to docfx.json the .NET core docs use the docs.html template for docfx ("template": [ "docs.html" ] ).
This doesn't seem to be available in vanilla docfx (but it is a lot prettier than the docfx default theme).
Is it available somewhere and are we allowed to use it for our internal docs projects?

@chenkennt can you help with this question?

@EnCey I'll ask you that you open this issue on the docfx repo instead: https://github.com/dotnet/docfx
You might get better traction than here.

source: gharchive/issue

authors: EnCey mairaw

repo: dotnet/core-docs


text:
Microsoft.Build.Framework.XamlTypes namespace not found

Microsoft.Build.Framework.XamlTypes
Microsoft.Build.Framework.XamlTypes not found in .Net core.
Details
I need to use NameValuePair which is defined under "Microsoft.Build.Framework.XamlTypes" namespace.
NameValuePair, i was using this in .Net framework 4.6.1 but not able to locate in .Net core/ standard. As i am migrating my project from .Net framework to .Net core based project.
Please let me know the solution or any workaround.

@terrajobst

Are you only using the MSBuild assembly for this type? In that case, you should replace it with the standard KeyValuePair<string, string> or ValueTuple<string, string>.

@abhisheksaxena741 I'm going to close this now based on the guidance given by @terrajobst . Let us know if that wont work and we can discuss further if needed.

authors: Petermarcu abhisheksaxena741 terrajobst

repo: dotnet/core


text:
.NET Core 3.0 no longer shows on visual Studio 2019 16.2.2 after installing .,net core Preview 8

Hi,
After installing preview 8,I cannot select .NET Core 3.0 for starting a new project. Use Preview SDKS is checked on Tools but still I .net core 3 is not shown on the list. I also performed repair install, also checked installed sdks which shows the previe8, but still to no avail.

I just installed Preview 8 and updated VS2019 to 16.2.2; the same issue occurs for me

Found this:
To get started with ASP.NET Core in .NET Core 3.0 Preview 8 install the .NET Core 3.0 Preview 8 SDK
If you’re on Windows using Visual Studio, install the latest preview of Visual Studio 2019.
.NET Core 3.0 Preview 8 requires Visual Studio 2019 16.3 Preview 2 or later
To install the latest Blazor WebAssembly template also run the following command:

I downgraded to to preview 7 under 16.2.3 and I see the options again

I'm also facing the same issue. It's only visible when I use the CLI.

authors: ddivita franciscohumarang paolobriones prince272


text:
Ms

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/run
Operating System: linux
Provide details about the problem you are experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

Closing due to lack of response. Feel free to re-open and add details if you're still having issues.


text:
HttpClient Uses Incorrect Port (Not Port Specified in URL)

Description
Created an instance of HTTP client.  Specified a url, ala 192.168.1.32:5000 and client throws error stating that connection cannot be made on 192.168.1.32:6000.  How is this a thing?
Configuration
string url = "http://192.168.1.32:5000/api/"
HttpResponseMessage response = await client.PostAsJsonAsync(url, fields);
dynamic result = await response.Content.ReadAsAsync();
Exception: No Connection could be made because the target machine refused it (192.168.1.32:6000)

Windows 10 Pro 20H2 19042.804
.NET Core 5.0.3
Other information

It's a .NET Core/Kestrel redirect.  Not sure why it is happening but this can be closed/rejected.


text:
.NET Framework v4.7.1 Error message when try to install

I'm trying to install the .NET Framework v4.7.1 on a Windows 7 (64bit) PC, but I keep getting the following error: 'Installation Did Not Suceed' .NET Framework 4.7.1 has not been installed because: The timestamp signature and/or certificate could not be verified or is malformed.'
Does anybody run into this error before? The PC currently has installed a .Net Framework v4.6.2, .NET Framework 4.5 SDK, and .NET Framework 4.5 Multi-Targeting Pack.

Have you installed SHA2 support on your OS?
ref for details over here  https://answers.microsoft.com/en-us/windows/forum/all/the-timestamp-signature-andor-certificate-could/2de7e456-f6df-42a4-82dc-9201eec07c4f


text:
Api diff between 2.2 and 3.0 netcoreapp

cc @ahsonkhan @danmosemsft @terrajobst @ericstj @karelz @buyaa-n, @krwq @layomia, @JeremyKuhne, @safern @divega, @ajcvickers,@cheenamalhotra, @david-engel, @Gary-Zh @wtgodbe, @maryamariyan @carlossanlop @davidsh, @wfurt, @scalablecory, @eiriktsarpalis, @karelz
@tannergooding, @steveharter, @GrabYourPitchforks
@richlander
guys please verify the changes in your area owners.

We did a lot of work 🥂

@cstoner for VB

@cstoner for VB

I think you @-ed the wrong person.

@cston is the correct person (thanks @cstoner)

System.Numerics (including the tangential ones like System.Math) and System.Runtime.Intrinsics.* look good to me.

Microsoft.VisualBasic.* look good to me.

System.Data.SqlClient Looks good to me.

System.Buffers, System.Text.Json/Serialization, System, looks good.

authors: Anipik David-Engel ahsonkhan cston cstoner danmosemsft ericstj tannergooding


text:
lambda

lambda

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 567260f8-0f94-b48c-8344-0d9780ab4448
Version Independent ID: 1bebe367-5b93-0b83-72f5-bdf31d65ef5d
Content: Lambda expressions - C# Programming Guide
Content Source: docs/csharp/programming-guide/statements-expressions-operators/lambda-expressions.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Closing as not actionable.

repo: dotnet/docs


text:
New article: Choose between class, struct, and when to use record types

Create a new article:
Choosing between class, struct, and (maybe record)?
Add it in the ".NET Fundamentals" section, as it applies equally well to VB, C#, and even F#.

Not enough time to prioritize this nice-to-have article.


text:
SAUWUR r991eu][g]1=e=m=cbi. eke] ehououfo8

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 301116d4-ff88-c411-e0e3-ba8b552fc6ee
Version Independent ID: 586f81d7-d9df-95f7-d73f-7d7b6db198a5
Content: How to read from a text file - C# Programming Guide
Content Source: docs/csharp/programming-guide/file-system/how-to-read-from-a-text-file.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

closing and locking.

authors: BillWagner elvismunyikiiru


text:
[API Ref High traffic Low CSAT] System.DateTime

The System.DateTime structure API reference receives very high traffic, but people aren't finding what they need. We'll update it, point to the relevant examples, and improve the experience.

After reviewing the current doc, here are the list of tasks for updating this article:

[ ] Lift samples out of Remarks into Examples.
[ ] Order samples so core scenarios are first.
[ ] Add link to conceptual topic on System.DateTime string formatting at the start of examples.
[ ] Add link to relevant conceptual topics on converting System.DateTime structures (to / from string, long, etc)
[ ] Remove comments from samples and switch to the interactive REPL (saves lots of vertical space)
[ ] Edit for brevity


text:
FileStream.Position breaking change documentation should be deleted

Describe the issue or suggestion
This article describes a breaking change that supposedly occurs in .NET 6:
https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/filestream-position-updates-after-readasync-writeasync-completion
However, it seems that breaking change was reverted before .NET 6 was released, so it is misleading to continue to list that breaking change. I think that article should be deleted.
The supposed breaking change is that FileStream.Position is now updated only after ReadAsync/WriteAsync completes in .NET 6. That breaking change article was drafted on May 5, 2021, but then there was a PR entitled 'Update position before ReadAsync starts, but fix it after incomplete read' on July 29, 2021. So, I think the breaking change article was just not revisited after this later PR.
I've run the sample code provided in the breaking change article on .NET 8, both Windows and WSL, and it matches the pre-.NET 6 behavior described in that article, not the .NET 6+ behavior described.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c2cd1391-c58f-1041-963e-a580fb5b1a27
Version Independent ID: 3b97de24-fc59-5b0e-8921-5d2344dc87ac
Content: .NET 6 breaking change: FileStream.Position updated after ReadAsync or WriteAsync completion - .NET
Content Source: docs/core/compatibility/core-libraries/6.0/filestream-position-updates-after-readasync-writeasync-completion.md
Service: dotnet-fundamentals
GitHub Login: @gewarren
Microsoft Alias: gewarren

Associated WorkItem - 250223

Thanks @mriehm. I'm going to keep the breaking change article but update it according to https://github.com/dotnet/runtime/pull/56531#issuecomment-2095794201.

authors: gewarren mriehm


text:
C# Guide: Structs

This issue tracks the topic for https://github.com/dotnet/docs/blob/master/docs/csharp/structs.md
Much of the content can be taken from here: https://msdn.microsoft.com/en-us/library/ms173109.aspx
edit: @mairaw updated the link to the first topic

With the content ported from MSDN, it seems that we now have duplication of struct topics @BillWagner:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/structs
https://docs.microsoft.com/en-us/dotnet/csharp/structs
The first one gets way more views (probably because of the keywords used in the title and the link juice obtained from msdn redirection).

@BillWagner, @mairaw, they have identical titles, but very different content. The second struct topic is probably mistitled; it's more about value types than structs proper. If there's anything in the second topic that can be consolidated into the first topic, we should do that, and probably find a home for whatever remaining content doesn't belong in the structs topic.

closing as stale.  While this will be covered, it doesn't match the new TOC structure.

authors: BillWagner mairaw rpetrusha


text:
Correction about generation promotions

You can't promote to generation 2 from generation 2.
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Thanks @amazur31 !


text:
adding EventCounter APIs

@brianrob, @vancem, @valenis who should review the docs for the EventCounter class?
Internal review URL

@vancem would you like to add remarks to this PR or do we add this task to the backlog?

I will look at this later today and comment.

Hello Maria,
There is a tutorial here
https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.Tracing/documentation/EventCounterTutorial.md
Which gives a quick example.   (There are only two APIs the constructor and WriteMetric API).   The EventCounter functionality is meant to be an extension of EventSource logging.
The goal of EventSource is logging.    The idea is that to create new logging messages, you create a subclass System.Diagnostics.Tracing.EventSource, and you define methods for each distinct kind of message that you wish to log.   .  You declare arguments to this method to allow the instrumentation point to pass any information you wish to log
The bodies of these subclass methods then call 'WriteEvent' which pass the information long to whoever subscribes to your EventSource.
EventCounters allow you to instead of logging on every event, you simply gather aggregations on every event (computing just the count, sum, min, max and variance).  It is these AGREGATES that then get logged (and the subscriber has control over how often the aggregates get sent).    This allows even very high frequency events to be monitored cheaply.
The recommendation (which the tutorial illustrates), is to have the EventSource method call both the WriteEvent and WriteMetric API.   The subscriber can then decide which of them (or both) to turn on at runtime, allowing the subscriber to have either low overhead or high detail logging.

In the short term, you can simply point at the tutorial in the remarks, but it would not hurt to have a short summary along the lines of the above for the class that you can refer to in both the constructor and WriteMetric methods.

Thanks @vancem and sorry for the delay - things got a bit crazy. I just added a quick link pointing to your tutorial on GitHub and created an issue to keep track of the rest of the work #4325.

Thanks Maira!

authors: mairaw vancem


text:
Fix typo: "release keys" to "release values" (#42219)

Summary
This pull request fixes a typo in the documentation. The term "release keys" was incorrect and has been changed to "release values" to accurately reflect the content.
Changes

Updated the text from "greater than or equal to the value of the known release keys" to "greater than or equal to the value of the known release values".

Verification
Please review the changes to ensure accuracy.
Fixes #42219

Internal previews

📄 File
🔗 Preview link

docs/framework/migration-guide/how-to-determine-which-versions-are-installed.md
docs/framework/migration-guide/how-to-determine-which-versions-are-installed

Thank you, @gewarren, for reviewing and merging my PR! Happy to contribute!


text:
How do I get a table output?

Following (I think) https://github.com/dotnet/interactive/pull/2671 (change default HTML formatting to a tree layout rather than a table), I can't find a way to get a simple table view of my data!
Instead, everything is foldable objects, even when the object is e.g. a simple record.
The only workaround I found is defining the html table manually with an html formatter as described in the Formatting-outputs.ipynb doc.
This is the output I get when I execute https://github.com/dotnet/interactive/blob/main/samples/notebooks/fsharp/Docs/Formatting-outputs.ipynb:

This is what I'm looking for:

Question
How can I generate a table without resorting to manually crafting the html?

We're planning to add an API for this. In the meantime there's a workaround described here: https://github.com/dotnet/interactive/discussions/3081#discussioncomment-6429156

@jonsequitur ah thanks! Sorry I didn't see the discussion about this...

authors: jonsequitur mlaily

repo: dotnet/interactive


text:
Hosting Example won't work In Visual Studio 2019

Issue description
https://github.com/dotnet/samples/tree/main/core/hosting#visual-studio-support
Says to use Visual Studio 2019. However all the projects target .NetCore 6 so they wont work in 2019. If you open the .sln in 2022 it wants to upgrade it. Bit Confusing.
Target framework
Check the .NET target framework(s) being used, and include the version number(s).

[ X] .NET Core

I am running into same.  I don't think it builds with 2022, either.

repo: dotnet/samples


text:
Support RuntimeFrameworkVersion to infer image tag version

Actually, the image tag is build from the TargetFramework and use stable tag.
 <TargetFramework>net7.0</TargetFramework>
 <!--  with only TargetFramework
 <ContainerBaseImage>mcr.microsoft.com/dotnet/runtime:7.0</ContainerBaseImage>
-->
<RuntimeFrameworkVersion>7.0.9</RuntimeFrameworkVersion>
 <!--
<ContainerBaseImage>mcr.microsoft.com/dotnet/runtime:7.0.9</ContainerBaseImage>
 -->

Something like
<Target Name="ComputeContainerBaseImageTagOverride" Returns="$(_ContainerBaseImageTag)"
    DependsOnTargets="_ComputeContainerBaseImageTag" BeforeTargets="ComputeContainerBaseImage">
    <PropertyGroup>
      <_ContainerBaseImageTag Condition="'$(RuntimeFrameworkVersion)' != ''">$(RuntimeFrameworkVersion)</_ContainerBaseImageTag>
    </PropertyGroup>
  </Target>

That's still a useful start - we can parse the FrameworkRuntimeVersion as a SemVer and only keep the first 'preview' segment + iteration. That's still a more useful/general rule than we're currently using.

RuntimeFrameworkVersion is a (really) bad idea for this. Another (container-specific) property should be used.
Partial (but sufficient) context: https://github.com/dotnet/runtime/issues/90096
@elinor-fung

Alright, we can back off of this approach then. The current approach will possibly float the user to a newer runtime than they may have manually specified (because we're using the major-minor version of the tag, but we generally try to be very compatible across those versions so it should be safe.

I have no issue with a ContainerPatchVersion tag (or similar). It's just that the use of RuntimeFrameworkVersion, which very much does other stuff (good and bad) in addition to it being useful for inference.

Alright, we can back off of this approach then. The current approach will possibly float the user to a newer runtime than they may have manually specified (because we're using the major-minor version of the tag, but we generally try to be very compatible across those versions so it should be safe.

My use case is to be able to use Renovate to have a framework version that is manageable and predictable and being able to deduce the corresponding supported runtime image.

RuntimeFrameworkVersion is a (really) bad idea for this. Another (container-specific) property should be used.
Partial (but sufficient) context: dotnet/runtime#90096
@elinor-fung

Does it means that we can actually build the application in an image with the same runtime version but it will not work ?

The issue is that RuntimeFrameworkVersion (as the linked issue suggests) only affects the base runtime and has no effect on other frameworks.
It's a supported feature, however, has very narrow utility, and we do not want to encourage its broad use (which this would do).

@baronfel I guess this one can be closed in favor of https://github.com/dotnet/sdk-container-builds/issues/488.
I assume we can just track digests of say mcr.microsoft.com/dotnet/aspnet:8.0 to stay up-to-date .

authors: baronfel richlander scrocquesel scrocquesel-ml150

repo: dotnet/sdk-container-builds


text:
Would it be possible to pick a fix for https://github.com/microsoft/ApplicationInsights-dotnet/pull/2671?

Would it be possible to pick a fix for https://github.com/microsoft/ApplicationInsights-dotnet/pull/2671 as well?

There doesn't appear to be a release with that change yet.  Transferring to the SDK since they have the AppInsights dependency.

authors: MichaelSimons omajid

repo: dotnet/source-build


text:
Release pipeline PR validation doesn't test build tagging scenario

The changes in https://dev.azure.com/dnceng/internal/_git/dotnet-release/pullrequest/37227 (internal link) fix an issue that occur where Arcade update the tagging pattern for pipeline runs of the VMR. It changed from installer-<sha> to installer <sha>. What's notable is that the PR validation for the release pipeline doesn't execute the code path which causes this build tag to be queried. So we really have no way to verify that the logic is correct today.
This is a more general problem of different code paths within the release pipeline based on certain configurations.

[Triage] Can we have one implementation that looks up the build?  e.g. eliminate the multiple tags?

There doesn't seem to be an easy way to resolve this from the standpoint of the pipeline.
Technically we have two situations for finding the VMR build being released:

we get the installer commit from Stage-DotNet and there is a CI VMR build syncing to this commit
we get the installer commit from Stage-DotNet but:

this commit was rolled over by the VMR CI (it synced to some child commit)
we explicitly want to use a different VMR CI build

If the commit was rolled over, we want to fail and let the user know they have to run the CI for that run or explicitly provide a VMR build ID.
We can't really unify how these two approaches work and automating checks for both of them is arguably too complicated for the benefit it provides. While the validation PR runs might not catch differences in the other code path, test runs will always catch any issues in this logic.
Additionally, the way we fetch pipeline builds is straight-forward enough that even if we do fail on incorrect tag or something similar the fix is relatively trivial (as seen from the PR in the issue description).

A separate issue might be to take a look at the lag of validation PR runs - they are using previous release as the basis. But I'm not really sure what we could do here besides allowing to skip Stage-DotNet completely and just try to release off any installer commit.

Discussed with Michael:

the original issue of not checking the two flows should be addressed by https://github.com/dotnet/source-build/issues/3297, as this would move the logic responsible for fetching the build into code which then can be covered by tests.
the secondary issue where we are not running against latest changes causing to brakes in test pipeline right before release is something more high-level and should be handled separately

authors: MichaelSimons mthalman oleksandr-didyk


text:
add ".angular" folder to gitignore of the angular template

Angular uses the ".angular/" folder for caching files, as it is not included in the .gitignore one has to add it manually after the first build. This fixes that issue.
Sorry for opening the first PR without reviewing that there where multiple gitignore files.
I thought adding it to the ClientApp file is more fitting.

Thank you for your effort.
As you may have seen already, we have decided to remove the SPA project templates from the .NET 8 SDK. As a result, this repo will now be used only for servicing, and we will not be taking any new changes here for non-servicing related needs.

authors: DanielHabenicht mkArtakMSFT

repo: dotnet/spa-templates


text:
Try verify fails the second time with custom output paths

Describe the bug
From CMD or git for windows bash:
dotnet new -i Microsoft.DotNet.Try.ProjectTemplate.Tutorial
mkdir Try
cd Try
dotnet new trydotnet-tutorial
dotnet try verify # Successful
dotnet try verify # Fails

Errors on 2nd or more attempts:
(ins)$ dotnet try verify

C:\dev\unitsnet\Try2\Readme.md
------------------------------
  Checking Markdown...
    ✓  Line 8:  C:\dev\unitsnet\Try2\Program.cs (in project C:\dev\unitsnet\Try2\Try2.csproj)

  Compiling samples for region "HelloWorld"

    Build failed for project C:\dev\unitsnet\Try2\Try2.csproj
                C:\dev\unitsnet\Try2\Program.cs(1,7): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
                C:\dev\unitsnet\Try2\Program.cs(2,7): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
                C:\dev\unitsnet\Try2\Program.cs(9,18): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(18,13): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(19,13): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(20,13): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(21,13): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(22,13): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(17,16): error CS0518: Predefined type 'System.Int32' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(32,25): error CS0518: Predefined type 'System.Int32' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(40,25): error CS0518: Predefined type 'System.Int32' is not defined or imported
                (1,1): error CS5001: Program does not contain a static 'Main' method suitable for an entry point
                C:\dev\unitsnet\Try2\Program.cs(26,17): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(26,33): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(27,17): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(27,31): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(28,32): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(28,32): error CS0246: The type or namespace name 'ArgumentException' could not be found (are you missing a using directive or an assembly reference?)
                C:\dev\unitsnet\Try2\Program.cs(28,50): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(35,1): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(35,1): error CS0103: The name 'Console' does not exist in the current context
                C:\dev\unitsnet\Try2\Program.cs(35,19): error CS0518: Predefined type 'System.String' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(37,20): error CS0518: Predefined type 'System.Int32' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(43,13): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(43,13): error CS0103: The name 'Console' does not exist in the current context
                C:\dev\unitsnet\Try2\Program.cs(43,31): error CS0518: Predefined type 'System.Object' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(43,31): error CS0103: The name 'System' does not exist in the current context
                C:\dev\unitsnet\Try2\Program.cs(45,20): error CS0518: Predefined type 'System.Int32' is not defined or imported
                C:\dev\unitsnet\Try2\Program.cs(9,18): error CS1729: 'object' does not contain a constructor that takes 0 arguments

dotnet try verify found 1 error(s)

Workaround
dotnet clean
dotnet try verify # Successful again!

I tried cloning the try-samples repo, but I cannot reproduce there.
I have tried spotting the difference between my .csproj, Program.cs and markdown files and those at try-samples repo, but I can't find anything that stands out.
.NET info:
$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.101
 Commit:    b377529961

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.101\

Host (useful for support):
  Version: 3.1.1
  Commit:  a1388f194c

.NET Core SDKs installed:
  1.1.14 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.508 [C:\Program Files\dotnet\sdk]
  2.1.509 [C:\Program Files\dotnet\sdk]
  2.1.801 [C:\Program Files\dotnet\sdk]
  2.1.802 [C:\Program Files\dotnet\sdk]
  2.2.108 [C:\Program Files\dotnet\sdk]
  2.2.401 [C:\Program Files\dotnet\sdk]
  2.2.402 [C:\Program Files\dotnet\sdk]
  3.0.103 [C:\Program Files\dotnet\sdk]
  3.1.101 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.16 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Did this error occur while using dotnet try or online?

[x] dotnet-try
[ ] .NET Jupyter Notebook
[ ] online

What kind of error was it?

[ ] User Interface (UI):  For example the output never displayed
[ ] Service Error: For example "The service is temporarily unavailable. We are working on it"
[x] Other: dotnet-try tool

Screenshots
If applicable, add screenshots to help explain your problem.

Please complete the following:

OS

[x] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Browser

[ ] Chrome
[ ] Edge
[ ] Safari

These issues seem related:
https://github.com/dotnet/try/issues/181
https://github.com/dotnet/try/issues/191#issuecomment-492531292

Aha, typing this all out helped me figure it out.
I am trying this out inside my c:\dev\unitsnet project.
In that project, there is a Directory.Build.props file with
    <!-- Avoid sharing obj folder with multiple .csproj files in same folder -->
    <BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)obj/$(MSBuildProjectName)</BaseIntermediateOutputPath>
    <OutputPath>$(MSBuildThisFileDirectory)Artifacts/$(MSBuildProjectName)</OutputPath>

Workaround
Add these to my Try.csproj to override the defaults back to normal output paths.
    <OutputPath>bin</OutputPath>
    <BaseIntermediateOutputPath>obj</BaseIntermediateOutputPath>

Any idea why this breaks the tool? Might be worth investigating.
The reason we added this config was that we at some point had multiple .csproj files in the same folder, but we have since removed that so I can remove the BaseIntermediateOutputPath in my props file and voila - I no longer need any of the lines in the workaround.

Turns out I had to add <OutputPath>bin/$(Configuration)</OutputPath> too, as logs complained it could not find Try.dll. Revised the title of this issue to reflect this.
I am no longer blocked, so you can close it for me, but keeping it open in case you want to look into the case of custom output paths not being supported.

repo: dotnet/try


text:
GUI + Please improve the help: non interactive, and options on upgradind between TFMs is confusing.

Can you please improve the help docs to show the options on the upgrade/fully automatic with selected TFM NET 6.
Can you also provide a GUI to get this as an easier application.

@papyr Thanks for your suggestions
GUI is being tracked in #1225
Would you be able to submit a PR for what you're needing/wanting/expecting in our docs related to non-interactive mode? Thanks!

authors: brandonh-msft papyr

repo: dotnet/upgrade-assistant


text:
Implement SourceLocation using Tasty reflect

Testing in https://github.com/lampepfl/dotty-community-build/pull/30

This will fail with the latest changes. I will adapt it tomorrow on tonight's nightly build.

repo: dotty-staging/minitest


text:
When enabled, it overwrites Control Panel date locale setting with en-us

Discovered this when chasing an issue on Craft CMS issue tracker - all details here: https://github.com/craftcms/cms/issues/2439

Huh, weird. I'll take a look, and let you know what I find.

Looks like this might be a Craft bug after all. I've updated the other thread with some steps to reproduce.

Sounds like this has been fixed for the next release of Craft! 👍
https://github.com/craftcms/cms/issues/2439#issuecomment-366400331

authors: juresrpcic lindseydiloreto

repo: doublesecretagency/craft-matrixcolors


text:
eas build crash in some android devices

Describe the Bug
My app crash in some devices when I install and run the apk using eas build, but when I install the same apk in the android device that I used to develop the prebuild version it works fine... My guess is that the problem is in the build.gradle, because my prebuild version only works when I put jcenter() inside the build.gradle file.
I saw #1573 issue, but I don't know if is the same problem and my react-native-track-player version is 2.1.3.
I got this error in my logcat:
06-30 17:36:29.157 13688 14145 E ReactNativeJS: TypeError: null is not an object (evaluating 't.RATING_HEART')

Steps To Reproduce

Create a new project
Setup the track player
Run eas build:android

Environment Info:
System:
OS: Windows 10 10.0.22000
CPU: (4) x64 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
Memory: 474.42 MB / 3.73 GB
Binaries:
Node: 16.13.2 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.7.0 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
API Levels: 28, 29, 30, 31, 32
Build Tools: 28.0.3, 29.0.2, 30.0.2, 30.0.3, 31.0.0, 32.0.0, 32.1.0
System Images: android-25 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
Android NDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Version     2021.1.0.0 AI-211.7628.21.2111.8309675
Visual Studio: Not Found
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.68.2 => 0.68.2
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
How I can Help
I'm right now trying to figure out why the app doesn't crash in my android device, I hope to figure out soon.

Fixed by updating to version 2.2.0-rc4

Why i removed the library but this error still exist in file android/app/src/main/assets/index.android.bundle


text:
[Android] Crash Fatal Exception: java.lang.AbstractMethodError: abstract method "void android.media.Spatializer$OnSpatializerStateChangedListener.onSpatializerAvailableChanged(android.media.Spatializer, boolean)"

Describe the Bug
Getting consistent crashes on production on Android since updating to 3.0.0
Steps To Reproduce
Only happens on Samsung devices with Android 12 and 98% of the times the app is on the background.
Code To Reproduce
Fatal Exception: java.lang.AbstractMethodError: abstract method "void android.media.Spatializer$OnSpatializerStateChangedListener.onSpatializerAvailableChanged(android.media.Spatializer, boolean)"
       at android.media.Spatializer$SpatializerInfoDispatcherStub.lambda$dispatchSpatializerAvailableChanged$1$Spatializer$SpatializerInfoDispatcherStub(Spatializer.java:529)
       at android.media.Spatializer$SpatializerInfoDispatcherStub$$ExternalSyntheticLambda0.run(Spatializer.java:6)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loopOnce(Looper.java:226)
       at android.os.Looper.loop(Looper.java:313)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Replicable on Example App?
I haven't been able to replicate it yet.
Environment Info:
It only happens on real devices on production at the moment
react-native-track-player 3.2.0-d23c3fb990aaf9d6783881fabe21e059b62b0782
How I can Help
Here to help however I can.

Are specific android devices experiencing these crashes?

You might want to look at the following exoplayer issue: https://github.com/google/ExoPlayer/issues/10684
(If it helps you to distill the issue, please let us know what you found)

Are specific android devices experiencing these crashes?

These are the main ones:
13%
Galaxy Z Fold3 5G
12%
Galaxy Z Flip3 5G
10%
Galaxy Z Flip3 5G
It seems I need to update the compileSDKVersion to at least 32, I'll try it out and let you know.

@RamProg for 3.2.0 you need at least 33. Closing for now, let me know if its still an issue.

authors: RamProg jspizziri puckey


text:
FireFox下是不支持align-content的

亲测FireFox下是不支持align-content的，而文档中说支持！

感谢反馈，测试确实如你所说，修改已提交

repo: doyoe/css-handbook

license_source: bigquery


text:
Document breaking API changes from cordova-plugin-firebase

Documentation issue

Add a sub-section under "Migrating from cordova-plugin-firebase" in the README which explicitly states the breaking API changes.
It should also make it clear that ionic-native/@firebase will not work with this plugin due to the breaking API changes and so how Ionic users can directly use the JS API of the plugin in Typescript (with examples).

Any replacement of ionic-native/@firebase planned ?

@GuiF007 https://github.com/ionic-team/ionic-native/pull/3106

Seems only Ionic v4 ? :(

At least, with ionic v3, the old plugin still works, but I use almost nothing (just automatic events)


text:
🛑 Portal TBK Clientes Sandbox is down

In acfc1d9, Portal TBK Clientes Sandbox ($PORTAL_TBK_CLIENTES_SANDBOX) was down:

HTTP code: 502
Response time: 130 ms

Resolved: Portal TBK Clientes Sandbox is back up in e5ed8e7 after 55 minutes.

repo: dpkg-i-foo-deb/upptime


text:
Some errata found on the code

Hi,
Thanks for sharing wonderful work :)
While running the code, I found some minor errata building the data augmentation module.
https://github.com/dqshuai/MetaFormer/blob/669bf18c35fdb51e35b0a79fa86224a18cd38ac5/data/build.py#L16
I guess this line should fixed with
from timm.data.transforms import str_to_pil_interp
since there is no _pil_interp in timm.data.transforms. https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/transforms.py
If there is something I missed, pleased let me know :)

@seungwoos Hi,
I think it is the difference of version, and i used timm==0.4.5. https://github.com/rwightman/pytorch-image-models/blob/v0.4.5/timm/data/transforms.py#L43

authors: dqshuai seungwoos

repo: dqshuai/MetaFormer


text:
[User-Story] - dqedit Docker Container

Story
As a dqualizer operator who deploys dqualizer, I want to run dqedit as docker container so I can easily use the tool (in the same way as the other dqualizer components).
Acceptance Criteria

[ ] docker container is running with dqedit

Dependencies
Additional context

Now there is a Dockerfile which does run, but not more. We still need to add a correct development/deployment Dockerfile

repo: dqualizer/dqedit


text:
🛑 366.ru is down

In 7db1292, 366.ru (https://366.ru) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 366.ru is back up in 9aa5fe9.


text:
🛑 366.ru is down

In 5c22752, 366.ru (https://366.ru) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 366.ru is back up in 35b49bc.


text:
How to get caller and callee recording file separately

Hi Team
I am getting single recording file contains caller and called party audio... How to get record caller and called party audio file separately.

/etc/rtpengine-recording.ini file you can configure both stream to be separated
output-mixed = false

Actually I am using the setup like opensips-rtpengine-dtachtioSRS-freeswitch(recording).
Please let me know how to configure in drachtio SRS  and also freeswitch dialplan as well please....

i have not tried with freeswitch , rtpeninge i have implemented it

@davehorton please let me know your suggestion....

@vdharashive How we can do the rtp live stream using rtpengine as a media server

Any update please?

@Pandi1981 your questions seem to have to do with freeswitch and rtpengine.  Both provide options for recording stereo streams, however this is an open source repo that we put out there for people to use and extend but we do not have time to provide a lot of active support for it.  @vdharashive already showed you how to record stereo in rtpengine, if you search the freeswitch docs you will see similar on how to do with freeswitch.  Unfortunately, my time these days is spent working on and supporting jambonz so I have little time to advance this repo beyond what it provides today.

authors: Pandi1981 davehorton vdharashive


text:
persist loaded data in docker image

I tried to recreate the workflow developed for VeBiDraCor (see https://github.com/dracor-org/small-world-paper/tree/publication-version) with the new docker setup.
Although the data that I added to the database was preserved during restarts of the container on the same machine, it got lost when I did docker commit of the running or stopped container and pushed the created image to dockerhub.
This is because the Dockerfile defines a Docker Volume to store the data outside the container (see https://github.com/dracor-org/dracor-api/blob/main/Dockerfile#L114).
For testing I removed this line and built a bare image of the dracor-api. To this image I added the data again. With this image I managed to preserve the loaded plays when pushing a Docker image of the  prepared container to dockerhub.
I am not totally sure what's the rationale behind the docker volume defined in the Dockerfile. Maybe, separating code and data, which makes sense in the usual scenario, but does not work when we want to "freeze" data and code together for scenarios of repeating research.
I am wondering if it might be an option to remove the line defining the volume from the Dockerfile, but introduce this in the compose.yaml instead. In this case I could add an additional compose.yaml file that would not define the volume and I would use images built with this setup when I want to create images that bundle the data.
I think, if line defining the volume stays in the Dockerfile I can not override it and have to build the image from a fork/branch.
@cmil, does that make sense or do you see another solution to the problem?

There is a stack overflow issue that might help. It is about overriding volumes: https://stackoverflow.com/questions/43020286/intentionally-removing-volumes-in-override-docker-compose-files

@ingoboerner With #202 data volumes for both exist and fuseki have been added to compose.yml (see https://github.com/dracor-org/dracor-api/pull/202/commits/02af74d430cc07da68899412d7a27442a8c51248). Persisting the exist data, however, has a drawback: it also persists the installed eXist extensions which are stored in the database and thus makes it impossible to update the dracor-api extension by pulling or building a newer image. To find a solution that allows both to persist the actual data and to update the database software including the dracor extension, it would be helpful to know more about the workflow you are trying to implement.

authors: cmil ingoboerner

repo: dracor-org/dracor-api


text:
Dracula Theme - Hyperterm

New Theme
Hello, everyone. I created a theme dracula for hyperterm, i would like make my submission to dracula organization.
https://github.com/Adejair/dracula-hyperterm
Thanks for all.

Hello Adejair. We usually transfer the repository to the organization and then add the creator as maintainer. Are you OK with that?

OK, will be cool !!

@Adejair there is no code in your repository?

Ohhhh sorry, Hyperterm it download the dependencies in accordance with name in npm, because of that i had forgotten to add the source. I Added the source code on repository =)

OMG haha, I'd just been working on this too.
BTW, very nice @Adejair

Hey guys!
It's been a while since we started this thread. Let's create an official Hyper theme once and for all?
From my research I found these themes related to Dracula:

https://github.com/nerdpad/hyper-dracula
https://github.com/amorino/hyperterm-dracula
https://github.com/diegotoral/dracula-hyperterm
https://github.com/Adejair/dracula-hyperterm
https://github.com/ythecombinator/dracula-hyperterm

Is anyone of you interested in transferring your repository to the Dracula org and maintain it?
/cc @Adejair @lenovouser @ythecombinator @nerdpad @amorino @diegotoral

Just to be clear, I'd like to see all of us converging and contributing to one theme.
We'll need to transfer only one repository but that doesn't mean we need only one maintainer :)

Nobody?

Seems like most have not been updated in a while.
On Tue, Mar 7, 2017 at 10:35 AM, Zeno Rocha notifications@github.com
wrote:

Nobody?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dracula/dracula-theme/issues/202#issuecomment-284814350,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPOUNRSmkTuZbNgxMLSCI117ZVKyhNrks5rjaNugaJpZM4JORfx
.

--
We are prone to overestimate how much we understand about the world and to
underestimate the role of chance in events.
Please feel free to connect with me on LinkedIn.
http://www.linkedin.com/in/samzaydel

Yeah I don't mind any of these but I think some of the maintainers should respond

Hi @zenorocha, I'm interested in being a maintainer.
:)

Hi everyone!
I'm interested in being a maintainer too.  Let me know how I can help you.

Awesome! I sent an invitation to join the organization for both of you. The next step would be coming into an agreement of what is the best repository to migrate. If you don't have a place to chat, I'd recommend using Dracula's slack channel.
Once you decide which one we're going to use, we can move the repository to this organization and start making changes to improve it. Then, we can add a page on the website and share it with the world ;)

Ok, thanks @zenorocha
PS: you send the invitation ?

Yes @Adejair, you can accept it via email or at https://github.com/dracula.

Friendly ping @Adejair What is the status of the Hyper theme? I also tracked down @dangvanthanh who has a really good looking version for hyper at https://github.com/dangvanthanh/hyper-dark-dracula that we might consider.

Done!!!
https://draculatheme.com/hyper
https://github.com/dracula/hyper
https://www.npmjs.com/package/hyper-dracula
Thanks @dangvanthanh for your work and willing to maintain this project!
And thanks @nerdpad for providing the npm package!

For all the work package owners, I'd recommend trying this one out and sending feedback. I think it would be more beneficial for the project and community if we centralize all efforts into one instead of 5 different ones.

authors: Adejair benjamreynolds diegotoral lenovouser szaydel ythecombinator zenorocha

repo: dracula/dracula-theme

license: mit


text:
Bandwidth auto-balance

Why you need it?

According to @ lowzj, after downloading the first partition, the super node can be transmitted to the client. In theory, the more time is: partition size / download rate, and the partition size range is 4MB ~ 15MB. The default speed limit for dragonflies is 20MB / s.
//  按照 @lowzj 的说法，super node下载完第一个分片，就可以传输给客户端，多的时间理论上是: 分片大小/下载速率，分片大小范围在 4MB~15MB 之间。蜻蜓默认是限速20MB/s。

How it could be?

It is a technical task to calculate the weight and determine the bandwidth allocation of super nodes~
// 计算权重，决定 super node 的带宽分配是一个技术活儿 ~
Other related information

!!!!WE STRONGLY ENCOURAGE YOU TO DESCRIBE YOUR ISSUE IN ENGLISH!!!!

我之前用持续动态规划平衡过共享带宽里面的EIP，也许可供参考
https://github.com/p-program/common-bandwidth-auto-switch/blob/aa0afb2a91a2470b7e65f561403eaa810289863e/manager/manager.go

Great idea. I think that we can use it in these aspects:

The client selects the supernode according to the current supernode's bandwidth
Supernode schedules peer nodes to transfer data between each other, and dynamically adjust the client downloading rate. There is currently a DownLink parameter that is passed to dfget, but it is not currently used.

authors: lowzj zeusro

repo: dragonflyoss/Dragonfly