-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug/476 multiple methods per interface with JSON serialization doesn´t work #1343
Bug/476 multiple methods per interface with JSON serialization doesn´t work #1343
Conversation
I did found out what is wrong with the devcontainer setup :) Will fix both here. Of course the blind implementation was broken. Will be fixed in the next hour. |
f847e87
to
a13100b
Compare
@onionhammer This is now ready to review :) That was a fun research. I tried to don't break existing code paths as much as I could. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, although I have no authority here :)
.NET 7 fell out of support May 14 of this year and .NET 8 will do the same on November 10, 2024 with .NET 9 being introduced in the same time frame. That should be right around the 1.15 release, so I think there will be a good case to be made to drop .NET 6 and .NET 7 explicit support, target .NET 8 instead and include .NET 9 in the test suite for 1.16. |
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
…terface Signed-off-by: paule96 <paul-jeschke@outlook.com>
Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
adb8471
to
7be9077
Compare
@WhitWaldo if I change the default version to dotnet 9.0 the new security vulnerability scanning of the dotnet CLI turns on implicitly and produces, of course, a lot of errors. I guess the upgrading of the default SDK needs to be delayed. maybe a separate issue is needed to clean up the solution of, the old tests, old implementation, and what else is connected to it. I guess the documentation needs to be updated too. So for now I would try to just update the default to dotnet 8.0 (support until November 10, 2026, it's LTS), and postpone the change to dotnet 9.0 to a later point in time. |
That's right - the plan is to put off changing the targeted releases until after the release of Dapr 1.15. There, we'll target .NET 6 and .NET 8 still, so no changes needed in the short term. But we'll put something prominent announcing EOL in the release notes so it's clear that in 1.16 we'll drop support for .NET 6 in favor of .NET 8 (and language version C# 12). An open question on that thread is whether we should go on targeting .NET 9 as well (though I'm also inclined to lean yes since there are frequently so many performance improvements in each). You're right, that'll require some significant doc updates in addition to the other projects, but I've got a draft PR that'll likely handle the latter as I'm gradually adding nullability annotations throughout the .NET SDK and there are several other PRs in place that'll shift up some of the project layouts as well that'll help. Things to tackle after the next release! |
@WhitWaldo do you know anybody I could ping to get a review? (maybe yourself) |
@paule96 I'm not a maintainer, so my check isn't worth a whole lot. I suspect this will get more attention as we edge closer to the 1.15 release and there's more of a general code freeze. If it hasn't been looked at closer to that timeline, I'll give it a look myself (for whatever it might be worth). |
…h_json_serialisation_doesntwork
@halspang & @philliphoff friendly reminder |
@paule96 I'm a maintainer now, so happy to give this a look! I'm not already super familiar with how Dapr handles serialization under the hood, so I'm learning as I read through your changes here. The approach already taken registers the interface and references it throughout using an int, why it does this, I'm not entirely sure, but I'd assume it's to avoid name conflicts and shorten the amount of data passed around. If that's at all accurate, I'm concerned that this approach, which binds the serialization to the name of the method runs a risk of being insufficiently specific (especially in light of #1350 and the opportunity for polymorphic bindings reflecting the same method names). Now, perhaps that's not a problem, as different interfaces should register different IDs and you're keying the serializers by both this interface and method. Perhaps you've considered this, but given your richer familiarity with the underlying problem space, does it make more sense to have a similar ID registry for the method names as we appear to have for the actor interfaces rather than the approach you've taken here? Second, could you add some unit tests that prove that this approach works sufficiently well for method overloads? |
…h_json_serialisation_doesntwork
…h_json_serialisation_doesntwork
…h_json_serialisation_doesntwork
…h_json_serialisation_doesntwork
@WhitWaldo sorry for the late reply. Was kinda busy these days. My first comment to overloads is: It's not supported. Their is an explicit exception for that in the file: dotnet-sdk/src/Dapr.Actors/Description/InterfaceDescription.cs Lines 135 to 151 in ee8be67
I will try to see what I can do to enable support for it. But I guess it will still work with names instead of Ids. The problematic part is, that we need to type match here. And because the transport types are json, it maybe becomes a challenge. (not sure yet) And I can understand that actors get an "id". Because their polymorphy is possible. By the language design of methods I'm not aware of any function that will provide polymophic behavior to methods. The only thing that I could see, if to trick around with inheritance, to like use the |
Maybe it resolves the need of chmod for it 🤷♀️ Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
Signed-off-by: paule96 <paul-jeschke@outlook.com>
@WhitWaldo I now have created the basic changes for method overloading. I will not push it to this branch or PR. The problem is, that by the design of the actors part of dapr, it doesn't seem to be supported. For now I would put it on hold, but would like to know where we can find the framework independent documentation for dapr. Where you can see how dapr works outside of the SDK you use.
to:
or if it has parameters:
And I'm quite sure that this will be a breaking change, in special if you try to call an actor from example a python app. |
…h_json_serialisation_doesntwork
The actor runtime itself is in dapr/dapr, but I don't know that there's any specific documentation available that details any of it. As I understand it, it works similarly under the hood to Orleans (well, sort of) and Service Fabric Actors (closer) |
@WhitWaldo so can we skip the topic for now on this pullrequest and maybe open a new issue for method overloading? Because that was not scope of this PR |
…h_json_serialisation_doesntwork
@paule96 I agree method overloading isn't in scope, but I'm concerned about the opportunity for developers attempt to do so and then run into an odd runtime experience (as happens where with more than one method per interface). I'm going to review this again this week and see if we can't get it merged as-is. |
…h_json_serialisation_doesntwork
…h_json_serialisation_doesntwork
@WhitWaldo is their a chance that you can take a look to this :) |
@paule96 It's in the queue - trying to get to it before the 1.15 release. |
@paule96 If you could go through and fix the minor naming notes throughout (e.g. "dapr" -> "Dapr" and "github" -> "GitHub" on the exceptions that are noted, I'd be happy to merge it. |
Signed-off-by: paule96 <paul-jeschke@outlook.com>
…erface_with_json_serialisation_doesntwork' into bug/476_multiple_methods_per_interface_with_json_serialisation_doesntwork Signed-off-by: paule96 <paul-jeschke@outlook.com>
@WhitWaldo done :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
"ghcr.io/devcontainers/features/docker-from-docker:1": { | ||
"version": "20.10" | ||
"ghcr.io/devcontainers/features/docker-in-docker": { | ||
"version": "latest" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, this should be pinned to a particular version in case breaking changes are introduced later on.
|
||
if(_wrappedRequestMessageTypes.Count > 1){ | ||
throw new NotSupportedException("JSON serialisation should always provide the actor method (or nothing), that was called" + | ||
" to support (de)serialisation. This is a dapr sdk error, open an issue on github."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"dapr" -> "Dapr"
"github" -> "GitHub"
I neglected to say it earlier - thank you very much for your contribution here @paule96 ! |
…t work (dapr#1343) * update devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * update test setup Signed-off-by: paule96 <paul-jeschke@outlook.com> * Now the json serialization should work with multiple methods in an interface Signed-off-by: paule96 <paul-jeschke@outlook.com> * fixed devcontainer to run actors Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix bugs with the current implementation Signed-off-by: paule96 <paul-jeschke@outlook.com> * add a test that checks excatly the behavior Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix devcontainer post creatd command Signed-off-by: paule96 <paul-jeschke@outlook.com> * change the default to dotnet 8.0 Signed-off-by: paule96 <paul-jeschke@outlook.com> * I don't know what is different but we commit. Maybe it resolves the need of chmod for it 🤷♀️ Signed-off-by: paule96 <paul-jeschke@outlook.com> * make it easier to see why the application of an E2E test couldn't start Signed-off-by: paule96 <paul-jeschke@outlook.com> * make the exception in E2E more percise Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix exception message Signed-off-by: paule96 <paul-jeschke@outlook.com> --------- Signed-off-by: paule96 <paul-jeschke@outlook.com> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Divya Perumal <divzi.perumal@gmail.com>
…t work (dapr#1343) * update devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * update test setup Signed-off-by: paule96 <paul-jeschke@outlook.com> * Now the json serialization should work with multiple methods in an interface Signed-off-by: paule96 <paul-jeschke@outlook.com> * fixed devcontainer to run actors Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix bugs with the current implementation Signed-off-by: paule96 <paul-jeschke@outlook.com> * add a test that checks excatly the behavior Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix devcontainer post creatd command Signed-off-by: paule96 <paul-jeschke@outlook.com> * change the default to dotnet 8.0 Signed-off-by: paule96 <paul-jeschke@outlook.com> * I don't know what is different but we commit. Maybe it resolves the need of chmod for it 🤷♀️ Signed-off-by: paule96 <paul-jeschke@outlook.com> * make it easier to see why the application of an E2E test couldn't start Signed-off-by: paule96 <paul-jeschke@outlook.com> * make the exception in E2E more percise Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix exception message Signed-off-by: paule96 <paul-jeschke@outlook.com> --------- Signed-off-by: paule96 <paul-jeschke@outlook.com> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com>
* Make context mockable Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fix project Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Consolidated version of coverlet.msbuild, coverlet.collector, xunit, xunit.runner.visualstudio, Microsoft.AspNetCore.Mvc.Testing, Moq to the same version in all projects. Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Make context mockable Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fix project Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added unit test to prove out concern raised on Discord Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed unused using Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added unit test to validate that headers aren't being stripped off request Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fixed spelling typo Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added fix to handle null return values Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed unnecessary null check Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed deprecated methods from DaprClient and tests as well as unused types Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed unused (and invalid) reference Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed E2E workflow test as it validated DaprClient and the functionality has been moved out to the Dapr.Workflow project instead. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Adding instance-based CreateInvokableHttpClient (#1319) This PR takes the implementation of the static method and puts it into the DaprClient instance, pulling from the existing apiTokenHeader on the instance to populate the daprApiToken, pulling the endpoint from the instance's httpEndpoint value and accepting only an appId argument so as to specify the ID of the Dapr app to connect to and place in the resulting URI. --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fixed security advisory updates across dependencies (transitive and direct) (#1366) Migrating whole solution to Central Package Management - several package version upgrades to address security advisories and otherwise. --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removes floating classes and introduces Dapr.Common project (#1365) Extracting classes out to common project --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Extracted Protos out to common project (#1367) Protos pulled out to separate shared project Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Improvement of the dotnet-contributing files (#1330) Add link about Dapr bot to contribution documentation Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Support case insensitive cloudevent payloads and forward cloudevent props s headers (#1153) * forward cloudevent props Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * refactor middleware Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * add cloud event property filters Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * update string check Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * forward cloudevent props Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * refactor middleware Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * add cloud event property filters Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> * update checks Signed-off-by: Ilias Politsopoulos <polil91@hotmail.com> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Updating actor serialization documentation (#1371) * Changed headers, updated introduction to reflect the difference in serialization between either type and added a brief section to detail the use of System.Text.Json for weakly-typed Dapr actor clients and to point to official documentation on it --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Prioritize retrieval of environment variables from IConfiguration instead of directly (#1363) * Implemented against Dapr.Client.AspNetCore and Dapr.Client Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * SImplified DaprWorkflow DI registration and updated to use IConfiguration preference. Needs testing. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright header Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated actor registration to prefer the updated IConfiguration-based approach for pulling the HTTP endpoint and API token Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Adopted accepted proposal's guidelines for favoring different environment variables for determining the sidecar endpoint. Added notes to explain this in the code going forward. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Made some lines a little more concise, added hostname default to DaprDefaults to use when building endpoints. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed and updated unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated to put endpoint resolution mechanism in DaprDefaults within Dapr.Common - updating projects and unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated packages to fix security advisory https://github.com/advisories/GHSA-447r-wph3-92pm Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated Workflow builder to use DaprDefaults with IConfiguration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updating global.json Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Tweaked global.json comment Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Adding braces per nit Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Consolidated both registration extension methods to remove duplication Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * cleanup: Removed Serilog nuget from Directory.Packages.props (#1376) * Removed Serilog nuget from Directory.Packages.props Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Update Directory.Packages.props Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> --------- Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Removed sample folder (#1375) Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Remove unused variables (#1314) * Remove unused variables Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com> Signed-off-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Remove unused using statements. (#1313) Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Incremental source generator for actors (#1334) * Samples - Add k8s deployment yaml to DemoActor sample (#1308) * up Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed build Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added scripts for image build Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added readme Build and push Docker image Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added demo-actor.yaml Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed typo Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated guide, fixed invocation throw curl Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Removed dockerfile, updated readme, removed ps1 and sh scripts Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated base image Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Update demo-actor.yaml Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added overload for DaprClient DI registration (#1289) * Added overload for DaprClient DI registration allowing the consumer to easily use values from injected services (e.g. IConfiguration). Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added supporting unit test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Co-authored-by: Phillip Hoff <phillip@orst.edu> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Merge `release-1.13` back into `master` (#1285) * Update protos and related use for Dapr 1.13. (#1236) * Update protos and related use. Signed-off-by: Phillip Hoff <phillip@orst.edu> * Update Dapr runtime version. Signed-off-by: Phillip Hoff <phillip@orst.edu> * Init properties. Signed-off-by: Phillip Hoff <phillip@orst.edu> --------- Signed-off-by: Phillip Hoff <phillip@orst.edu> * Update artifact action versions. (#1240) Signed-off-by: Phillip Hoff <phillip@orst.edu> * Make recursive true as default (#1243) Signed-off-by: Shivam Kumar <shivamkm07@gmail.com> * Fix for secret key transformation in multi-value scenarios (#1274) * Add repro test. Signed-off-by: Phillip Hoff <phillip@orst.edu> * Fix for secret key transformation in multi-value scenarios. Signed-off-by: Phillip Hoff <phillip@orst.edu> --------- Signed-off-by: Phillip Hoff <phillip@orst.edu> * Update Dapr version numbers used during testing. Signed-off-by: Phillip Hoff <phillip@orst.edu> --------- Signed-off-by: Phillip Hoff <phillip@orst.edu> Signed-off-by: Shivam Kumar <shivamkm07@gmail.com> Co-authored-by: Shivam Kumar <shivamkm07@gmail.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> --------- Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Phillip Hoff <phillip@orst.edu> Signed-off-by: Shivam Kumar <shivamkm07@gmail.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Co-authored-by: Phillip Hoff <phillip@orst.edu> Co-authored-by: Shivam Kumar <shivamkm07@gmail.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Aligned nuget version Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * UP Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * UP Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Debug profile added Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated implementation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Emitted DAPR001 Diagnostic warning Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added DAPR002 diagnostic Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Cleaun Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * UP Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added summaries Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added base interface to ActorClient Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added ctor Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added nullable directive Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added null check for actorproxy ctor parameter Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Moved DiagnoticException in a dedicate cs file Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Moved generator costants to dedicated class Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added ActorReference creation from the ActorBase class informations (#1277) * Handled creation of ActorReference from Actor base class Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated null check Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added unit test for GetActorReference from null actore and actor proxy Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added test for ActorReference created inside Actor implementation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated description Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed test method naming Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added unit test for exception generated in case the type is not convertible to an ActorReference Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> --------- Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added overload to support SDK supplying query string on invoked URL (#1310) * Refactored extensions and their tests into separate directories Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added overload to method invocation to allow query string parameters to be passed in via the SDK instead of being uncermoniously added to the end of the produced HttpRequestMessage URI Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests to support implementation Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Marking HttpExtensions as internal to prevent external usage and updating to work against Uri instead of HttpRequestMessage. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated unit tests to match new extension purpose Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Resolved an ambiguous method invocation wherein it was taking the query string and passing it as the payload for a request. Removed the offending method and reworked the remaining configurations so there's no API impact. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed actorProxy argument null check Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Moved ActorClientDesciptor into separta cs file Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Moved textual templates to dedicated class Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated comments, property names Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added argument null check to SyntaxFactoryHelpers Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added comments Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Removed obsolete testing packages https://github.com/dotnet/roslyn-sdk/blob/main/src/Microsoft.CodeAnalysis.Testing/README.md#obsolete-packages Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Adapted existing unit test to new source generated code Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Up Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added tests for SyntaxFactoryHelpers Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated generation of ArgumentNullException Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated nullability Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed internal methods tests Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added test to IEnumerableExtensions Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Unittested GetSyntaxKinds from Accessibility Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * UP Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated assignment implementation of ctor body Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Improved unit test Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added implementation of method generation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed ArgumentNullException invocation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added test for NameOfExpression Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed ActorProxy method invocation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Simplified proxy argument definition Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Explicit generic arguments of the proxy call during generation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Handled cancellation token with default value Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed typo Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Configured eol used in NormalizeWhitespace function Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Normalized expected source Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Moved to constat the ActorProxyTypeName Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fix typo Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Created ActorProxyInvokeMethodAsync SyntaxFactoryHelper Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Removed custom concat implementation Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * fix (#1329) Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * link to non-dapr endpoint howto (#1335) Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Merge 1.14 release branch back into `master`. (#1337) Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed merge errors Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated some summaries Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added some missing summaries Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Fixed typo Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Improved some summary text Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Improved summaries Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Handled review requests Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Changed SyntaxFactoryHelpers accessor to internal Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> --------- Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Phillip Hoff <phillip@orst.edu> Signed-off-by: Shivam Kumar <shivamkm07@gmail.com> Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Co-authored-by: Phillip Hoff <phillip@orst.edu> Co-authored-by: Shivam Kumar <shivamkm07@gmail.com> Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Add .NET client for Dapr Jobs API (#1384) * Package addition + updates Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added Dapr.Jobs project Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Initial commit - unable to proceed without update on master from streaming sub PR Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added class to Dapr.Common, fixed compilation errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests for Dapr.Common enum extensions Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright header Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added sample Jobs project Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added documentation Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright header Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Downgraded Roslyn packages since master doesn't yet have the incremental source generator updates Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Missed a reference regarding incremental source generators Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Downgraded packages to fix nullability issues on build Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Downgraded from 8.* packages back to 6.* packages for the various Microsoft.Extensions.* packages to fix build issues Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unnecessary assignment Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added braces for clarity Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added more curley braces Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * More curly braces again Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Marked two properties as static Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated to handle any order of parameters to endpoint route builder delegate Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated default cancellation token value Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing package version in Directory.Packages Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added test to ensure that even if cancellation token is provided, it'll handle the mapping properly Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Updated prereqs to specify .NET 6 and .NET 8 in v1.15 (#1398) Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Refactor DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions (#1244) This commit refactors the DaprWorkflowClientBuilderFactory and WorkflowRuntimeOptions classes. In DaprWorkflowClientBuilderFactory: - Added a new method, UseGrpcChannelOptions, to allow the use of custom GrpcChannelOptions for creating the GrpcChannel. - Updated the UseGrpc method to use the GrpcChannelOptions provided by the WorkflowRuntimeOptions. In WorkflowRuntimeOptions: - Added a new property, GrpcChannelOptions, to store the custom GrpcChannelOptions. - Added a new method, UseGrpcChannelOptions, to set the GrpcChannelOptions. These changes improve the flexibility and customization options for the Dapr workflow client. Signed-off-by: Michiel van Praat <michiel.vanpraat@humandigital.nl> Co-authored-by: Michiel van Praat <michiel.vanpraat@humandigital.nl> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fix for DI registration not completing as expected (#1386) * Tentative fix for DI registration not completing as expected Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Making injected IConfiguration optional as it might not be populated if user isn't utilizing ASP.NET Core from caller Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed DI injection issue Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed registration of DaprWorkflowClientBuilderFactory Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated field names for consistency Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Minor formatting changes Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed build error caused by bad merge resolution Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Add .NET client for pub/sub support - streaming subscriptions (#1381) * Building out Dapr.Messaging and test project for streaming pubsub subscriptions Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added copyright notices Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Minor stylistic updates Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added generic client builder to support publish/subscribe client builder Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Tweaked XML comment Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added several unit tests for the generic client builder Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated to include latest review changes: - Added lock so that while we guarantee the method is called only once, it should be thread-safe now - Marked PublishSubscribeReceiver as internal so its members aren't part of the public API - Updated TopicMessage to use IReadOnlyDictionary Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Switched to interlock exchange instead of lock to slightly simplify code Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added sample project Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Minor changes to unit test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Deleted protos folder Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Using lowercase protos dir name Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added registration extension methods Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated example to use DI registration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added default cancellation token Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Passing stream into method instead of creating it twice Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * ci: set fail-fast to false (#1405) Signed-off-by: Mike Nguyen <hey@mike.ee> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added async operations workflow sample (#1394) Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added workflow example: Fan out/fan in (#1396) * Added workflow fan out/fan in example Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added copyright headers Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added workflow sample: Sub-workflows (#1395) * Added Workflow with sub-workflow Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed duplicate package version reference Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added workflow sample: Task chaining (#1387) * Added Workflow Task Chaining example to replace https://github.com/dapr/dotnet-sdk/pull/1206 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Targeting .NET 6, fixed transposition error Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright headers Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added workflow sample: Monitor (#1388) * Added workflow monitor Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Restore to original argument names Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Update to target .NET 6 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright headers Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Added workflow example: External interaction (#1389) * Added workflow example demonstrating external interaction Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added copyright headers Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed .sln file Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Optional DI lifecycle change (#1408) * Added mechanism to allow the service lifetime to be overridden from a singleton (default) to another lifetime Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests - updated dependencies accordingly Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added service lifetime to DaprClient as well Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added update to DaprClient to pass service lifetime through Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added documentation indicating how to register DaprWorkflowClient with different lifecycle options. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unnecessary line from csproj Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Simplified registrations Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Called out an important point about registrations Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Additional lifecycle registration changes (#1410) * Added service lifetime to Jobs client Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added service lifetime to messaging client Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added service lifetime to actors registration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests for DaprClient Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Minor naming tweaks Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed invalid using Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added service lifetime tests for actors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests for jobs client lifecycle registrations Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests for PubSub and lifecycle registration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed missing registration dependency Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Preserve comparer of the original dictionary from ConfigurationProvider (#935) Signed-off-by: Tomas Hrebicek <tomhreb@users.noreply.github.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Update all.sln Removed duplicate project include of Dapr.Workflow.Test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Bug/476 multiple methods per interface with JSON serialization doesn´t work (#1343) * update devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * update test setup Signed-off-by: paule96 <paul-jeschke@outlook.com> * Now the json serialization should work with multiple methods in an interface Signed-off-by: paule96 <paul-jeschke@outlook.com> * fixed devcontainer to run actors Now the devcontainer uses docker in docker, so you can reach the dapr setup after you did run dapr init. This will then only affect the dev container, without compromising the host of the devcontainer Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix bugs with the current implementation Signed-off-by: paule96 <paul-jeschke@outlook.com> * add a test that checks excatly the behavior Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix devcontainer post creatd command Signed-off-by: paule96 <paul-jeschke@outlook.com> * change the default to dotnet 8.0 Signed-off-by: paule96 <paul-jeschke@outlook.com> * I don't know what is different but we commit. Maybe it resolves the need of chmod for it 🤷♀️ Signed-off-by: paule96 <paul-jeschke@outlook.com> * make it easier to see why the application of an E2E test couldn't start Signed-off-by: paule96 <paul-jeschke@outlook.com> * make the exception in E2E more percise Signed-off-by: paule96 <paul-jeschke@outlook.com> * fix exception message Signed-off-by: paule96 <paul-jeschke@outlook.com> --------- Signed-off-by: paule96 <paul-jeschke@outlook.com> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Support .NET 9 (#1404) * Updated build and integration test scripts to include .NET 9 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unused matrix values Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Reverted some .NET 8 requirement Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated setup-dotnet to use latest action version + updated script to prefer a GA release, but use RC if available. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unnecessary secondary build step Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updating TFM moniker Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added test to install VStest Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Rolling back use of tool as it doesn't independently exist outside of the SDK Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added .NET 9 to build targets Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added .NET 9 to target frameworks across solution Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * I understand the reason for the required install step now - adding it back with a .NET 9 install step Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Placing install steps before build Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updating global.json Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Disabled analyzer errors in unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added .NET 9 to test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Changed from #pragma error to #pragma warning Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed unit tests to resolve analyzer warning Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated integration test to always include .NET 8 and .NET 9 installs Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Falling back to add separate .NET 9 support Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated referenced projects to target appropriate frameworks Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added all target frameworks back to Dapr.Commono Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added warnings to fix nullability analyzer warnings when targeting .NET 6 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated build step to use .NET 9 instead Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed cloud event middleware tests - the ApplicationBuilder requires a non-null ServiceProvider per https://learn.microsoft.com/en-us/dotnet/core/compatibility/extensions/8.0/activatorutilities-createinstance-null-provider Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Including target for .NET 6, 7, 8 and 9 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Trialing fix to E2E integration test - excluding use of AppWebApplicationFactory in favor of direct use of HttpClient Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Reverting as it breaks the other .NET versions Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Potentially fixed unit tests in .NET 9 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed extra line from build definition Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated documentation to reflect .NET 9 and a note highlighting that .NET 6 and .NET 7 will be deprecated in v1.16 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unintentionally added file to commit Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added .NET 9 to E2E test setup Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed typo Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed RC version from .NET 9 build Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Apparently the solution file got a minor change Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unnecessary null checks Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Whoops - didn't mean to commit that project to the solution Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * update .net workflow docs to stable (#1418) Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * FIX: Actor source generator generates invalid code for generic interfaces (#1419) * Handled generic actor interface Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Added more actor examples Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> * Updated actor namespace in example project Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> --------- Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Add .NET client for LLM Conversations support (#1382) * Updated prototype Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added Dapr.AI project and unit test project to contain the conversational building block (and potentially future other projects) Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Changed default values Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unnecessary method Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added a few unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added example project Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright headers Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Changed type name -> DaprLlmInput to DaprConversationInput Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Returning read only list Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Update to use IReadOnlyDictionary Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added method to abstract class Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Striving for consistency in how properties are specified on the record Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Refactored enum extensions out to Dapr.Common since it will be used in AI project Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added JSON converter for System.Text.Json to handle enum serialization based on the enum member attributes Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit tests to prove out generic enum JSON converter using EnumMember attributes Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added JSON converter to new enum for Dapr Conversation role Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Set up role to map to the string used in grpc call to sidecar Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * No need for the JSON converter after all Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing package version to fix build error Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed duplicate using statement breaking build Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed missing [Fact] annotation Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated proto types to reflect type name changes in https://github.com/dapr/dapr/pull/8250 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added support for service lifetime Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Building out documentation for Dapr AI Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Simplified registration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Tweaked package version Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Using IConfiguration to source DaprClient values if provided in service provider Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed Models.* directories, flattened into Conversation namespace Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Swapped out to use IReadOnlyDictionary Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added suggested optimization Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed bad using statement Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updates to use uniform method for standing up new Dapr clients Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed duplicate project reference Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed build error Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixing build errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed bad references Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed several build errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixing more build errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated to fix several build errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed bad refernce Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixing more build errors Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Role is required when submitting conversation input Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed impossible path since the role cannot be nullable Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed impossible path from logic now that role cannot be null Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Updated protos to latest in dapr/dapr (#1420) Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Conversation builder consistency changes (#1423) * Corrected several unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated extension name for consistency Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated registration name for consistency Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * #906 -Added methods in status API supports for saving and reading binary data (#1116) * Added methods in status API supports for direct storage and reading of byte arrays #906 Signed-off-by: Divya Perumal <divzi.perumal@gmail.com> Signed-off-by: Divya Perumal <diperuma@microsoft.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fixes + unit tests for streaming PubSub implementation (#1415) * Added null check - the proto suggests this shouldn't ever be null, but there's an issue reporting as much, so this fixes that Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed the Task.WhenAll making the operation non-blocking Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added unit test to validate that the subscription is no longer blocking Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Removed unused line from previous test, added another test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added another test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * More unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added more unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Updated to make DaprPublishSubscribeClientBuilder configurable via a registered IConfiguration Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing copyright statements Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added missing package reference Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed bad reference (missed in merge) Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed failing unit test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Tweak to only pass along EventMessage payloads to developers as it's expected that the initial response will be null if EventMessage is populated Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Was missing assignment of the Data property in the TopicMessage. Shout out to both @tommorvolloriddle and @Aimless321 for catching this! Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fix - return would be bad. Continue is the right move. Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Added a simple test Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Fixed unit tests Signed-off-by: Whit Waldo <whit.waldo@innovian.net> * Merged in tweaks from #1422 Signed-off-by: Whit Waldo <whit.waldo@innovian.net> --------- Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Fix nulls Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/Properties/launchSettings.json Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Delete examples/AI/ConversationalAI/Properties/launchSettings.json Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Delete daprdocs/content/en/dotnet-sdk-docs/dotnet-ai/dotnet-ai-usage.md Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Update dotnet-jobs-howto.md Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Update dotnet-jobs-howto.md Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Update dotnet-workflowclient-usage.md Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Update dotnet-workflowclient-usage.md Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * fix thing Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Update WorkflowActivityContext.cs Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Update WorkflowActivityContext.cs Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> * Fix version Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Update Dapr.Workflow.Test.csproj Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * fix things Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Delete examples/AI/ConversationalAI/Properties/launchSettings.json Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Delete examples/Client/PublishSubscribe/StreamingSubscriptionExample/Properties/launchSettings.json Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> * Update WorkflowActivityContext.cs Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> --------- Signed-off-by: Siri Varma Vegiraju <svegiraju@microsoft.com> Signed-off-by: Manuel Menegazzo <manuel.menegazzo@outlook.com> Signed-off-by: Whit Waldo <whit.waldo@innovian.net> Signed-off-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Signed-off-by: Rafael Camara <rafaelcamarac@gmail.com> Signed-off-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com> Signed-off-by: Phillip Hoff <phillip@orst.edu> Signed-off-by: Shivam Kumar <shivamkm07@gmail.com> Signed-off-by: Hannah Hunter <hannahhunter@microsoft.com> Signed-off-by: Michiel van Praat <michiel.vanpraat@humandigital.nl> Signed-off-by: Mike Nguyen <hey@mike.ee> Signed-off-by: Tomas Hrebicek <tomhreb@users.noreply.github.com> Signed-off-by: paule96 <paul-jeschke@outlook.com> Signed-off-by: Divya Perumal <divzi.perumal@gmail.com> Signed-off-by: Divya Perumal <diperuma@microsoft.com> Signed-off-by: Siri Varma Vegiraju <siri.varma@outlook.com> Co-authored-by: Siri Varma Vegiraju <svegiraju@microsoft.com> Co-authored-by: Manuel Menegazzo <mmenegazzo@battistellacompany.it> Co-authored-by: Whit Waldo <whit.waldo@innovian.net> Co-authored-by: Shubhdeep Singh <shubhdeepsingh1502@gmail.com> Co-authored-by: Ilias <polil91@hotmail.com> Co-authored-by: Manuel Menegazzo <65919883+m3nax@users.noreply.github.com> Co-authored-by: Rafael Câmara <52082556+RafaelJCamara@users.noreply.github.com> Co-authored-by: Phillip Hoff <phillip@orst.edu> Co-authored-by: Shivam Kumar <shivamkm07@gmail.com> Co-authored-by: Hannah Hunter <94493363+hhunter-ms@users.noreply.github.com> Co-authored-by: Ruud van Falier <119449492+humandigital-ruud@users.noreply.github.com> Co-authored-by: Michiel van Praat <michiel.vanpraat@humandigital.nl> Co-authored-by: Mike Nguyen <hey@mike.ee> Co-authored-by: Tomas Hrebicek <tomhreb@users.noreply.github.com> Co-authored-by: paule96 <paul-jeschke@outlook.com> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Divya Perumal <38757978+divzi-p@users.noreply.github.com>
@holopin-bot @paule96 Big thanks from me as well! Here's a digital badge as a small token of appreciation! |
Congratulations @paule96, the maintainer of this repository has issued you a badge! Here it is: https://holopin.io/claim/cm5qyfe9d41380clbwgkwzf2g This badge can only be claimed by you, so make sure that your GitHub account is linked to your Holopin account. You can manage those preferences here: https://holopin.io/account. |
Description
Now the Actor manager provides the
MethodName
for the serializationActorMessageSerializersManager
.This makes it now possible for the JSON serialization to support Actor interfaces with more than one method defined in it.
As a side effect, this PR solves #1342 too.
Changes made in the dev container:
C# DevKit
as an additional extension. This can be a breaking change for people that don't have a visual studio license and want to run the dev container on their local host. Users that run the dev container on GitHub get a license automatically injected.localinit.sh
script before running itChanges made to the E2E Tests
Issue reference
It's part of the issue #476 starting with this comment.
It fixes also #1342
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:
cc @onionhammer as original contributor :)