-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Merge ~ProgressBarValue
classes
#4074
base: main
Are you sure you want to change the base?
Conversation
Thanks Nirmal4G for opening a Pull Request! The reviewers will test the PR and highlight if there is any conflict or changes required. If the PR is approved we will proceed to merge the pull request 🙌 |
⁎ProgressBarValue
classes~ProgressBarValue
classes
@andrewleader thoughts on this? If we're going to make a breaking change though this will have to wait until an 8.0 release, which we currently don't have scheduled. |
There were explicit reasons why there were two different classes for WinRT (C++) vs the .NET (C#) libraries. One of the classes supports dynamic type conversion, so developers can assign doubles or strings if using absolute values. WinRT didn't like that though, so for WinRT I created separate classes (WinRT is only used when consumed in a C++ app). I haven't been able to thoroughly look through this, so I'm not sure if it's changed any functional behavior of being able to use the automatic type conversions or anything. Additionally, someday in the future we're going to implement these toast notification APIs in Project Reunion (which will be a fully new API set). I'm in favor of holding off any breaking changes until when we bring these APIs into Project Reunion. Switching to the Project Reunion APIs will already be a breaking change, might as well have those changes bulked together. This is great feedback to consider though when we bring these APIs into Project Reunion! |
@andrewleader It's a drop-in replacement. It doesn't change any functional behavior. Both implicit and explicit type conversions still work for non-WinRT targets. |
9153694
to
c2c2d45
Compare
c2c2d45
to
092ef04
Compare
7b05530
to
5ad1239
Compare
5ad1239
to
d5dee1d
Compare
Thanks @Nirmal4G, I took a slightly longer look at this, and while it does look like you're right that this will work for both WinRT (C++) and non-WinRT, I do have concerns about the breaking change. Developers that wrote I fully agree that the APIs should have been what you have here from the start. However, I'm not sure this small change is worth the breaking change. As I explained earlier, we're going to be considering moving these APIs into the Windows App SDK, and that alone will be a breaking change and an opportunity to redo these classes how you designed them. How would you feel about waiting till these APIs move to the Windows App SDK? That probably won't happen till late 2022 or possibly 2023. |
Thanks for the info @andrewleader, we'll probably have another major version before that timeframe, so we can think about applying these changes at that time as well. I don't know when an '8.0' will be on the horizon at the moment. I think we'll have a 7.2 in timeline for the .NET 6 release in November-ish. So, probably wouldn't be at the earliest until start of 2022. |
It's actually other way around. But yes! They have to do a global find and replace for the type.
If it takes more than 6 months, why not make a change here, gather feedback and properly ingest these APIs into the WAS (Windows App SDK)? That's one of the purpose of this project, right? |
d5dee1d
to
dc08035
Compare
💯 but since it's a breaking change we hold those to our major releases. We don't have an 8.0 scheduled yet. Moving this to draft, as that'll still probably occur before these move into the SDK; so we can pick this up when we get there. |
Meld 'BindableProgressBarValue' class into 'AdaptiveProgressBarValue' class The difference between them is subtle and is platform specific. So, melding the changes from one class into the other shouldn't be an issue. Although this is a Breaking Change, it doesn't change any functional behavior. It's refactored to be a drop-in replacement. So, just a global text replace is enough.
dc08035
to
8310486
Compare
Fixes #4073
Meld
BindableProgressBarValue
intoAdaptiveProgressBarValue
. Although this is a Breaking Change, it doesn't change any functional behavior. It's refractored to be a drop-in replacement. So, just a global text replace is enough.PR Type
What kind of change does this PR introduce?
What is the current behavior?
It's confusing to have
BindableProgressBarValue
andAdaptiveProgressBarValue
providing similar functionality but on different platforms with no common type, even though that's possible.What is the new behavior?
Replaced the
BindableProgressBarValue
class withAdaptiveProgressBarValue
class which wasn't available in previous versions.PR Checklist
Please check if your PR fulfils the following requirements:
Other information
rebase
on latestHEAD
and then commit, without updating from the latestHEAD
.Merge pull request #xxxx from repo/branch
, and commit message to either PR message or messages of individual commits. Theauto-merge
bot does this by default.