Skip to content

Conversation

@asklar
Copy link
Member

@asklar asklar commented Jul 23, 2020

This relies on bits that will only be available publicly via WinUI 3 preview 3, so for now I'm using a nuget package from CI.

All of the changes are usable with system xaml and winui 3 preview 2 except for one in TouchEventHandler (since the IXP apis are changing), so that one change is behind a WINUI3_PREVIEW3 preprocessor define.

The facebook api for native UI manager has a fixed set of exception types it handles, and obviously those don't include winrt::hresult_error, so when a WinRT type activation fails, a hresult_error is thrown and goes unhandled crashing the whole process, so adding a conversion from hresult_error to the error message so that the frame that's lower in the stack handles it (since it catches among a few other things, std::strings).

I'm also including a script to transform packages.config and winui.props automatically based on a new nuget package.

Microsoft Reviewers: Open in CodeFlow

asklar added 6 commits July 22, 2020 01:18
* Playground Win32 - start getting it working on WinUI 3

* Change files

* use lifted DWXS

* DWXS header

* create separate 16.7 packaging solution

* format

* fix non-winui3 case

* use CI nuget downloaded and expanded to C:\temp

* preprocessor defines

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!

* hosting namespace

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* guard against hresult (from failed activation) in UIManager, update reference to winui.props in WAP

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!

* Playground Win32 - start getting it working on WinUI 3

* use lifted DWXS

* DWXS header

* create separate 16.7 packaging solution

* format

* guard against hresult (from failed activation) in UIManager, update reference to winui.props in WAP

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!
* Playground Win32 - start getting it working on WinUI 3

* Change files

* use lifted DWXS

* DWXS header

* create separate 16.7 packaging solution

* format

* fix non-winui3 case

* use CI nuget downloaded and expanded to C:\temp

* preprocessor defines

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!

* hosting namespace

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* guard against hresult (from failed activation) in UIManager, update reference to winui.props in WAP

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!

* Playground Win32 - start getting it working on WinUI 3

* use lifted DWXS

* DWXS header

* create separate 16.7 packaging solution

* format

* guard against hresult (from failed activation) in UIManager, update reference to winui.props in WAP

* Playground Win32 - start getting it working on WinUI 3

* DWXS header

* create separate 16.7 packaging solution

* format

* Port to WinUI 3 dev nuget with IXP payload (almost preview 2). Islands are rendering!
@asklar asklar changed the title WinUI 3 islands support WinUI 3/islands support Jul 23, 2020
@asklar asklar marked this pull request as ready for review July 23, 2020 10:24
@asklar asklar requested a review from a team as a code owner July 23, 2020 10:24
@asklar asklar added Area: Islands Area: WinUI AutoMerge Causes a PR to be automatically merged once all requirements are passed (label drives bot activity) labels Jul 23, 2020
@ghost
Copy link

ghost commented Jul 23, 2020

Hello @asklar!

Because this pull request has the AutoMerge label, I will be glad to assist with helping to merge this pull request once all check-in policies pass.

Do note that I've been instructed to only help merge pull requests of this repository that have been opened for at least 10 hours, a condition that will be fulfilled in about 1 hour 55 minutes. No worries though, I will be back when the time is right! 😉

p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (@msftbot) and give me an instruction to get started! Learn more here.

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we avoid having spaces in the folder and file names? Many tools will fail to work. Especially if they originally created for Unix-like OSes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vmoroz can you clarify what tools created for Unix might have to deal with a Windows app packaging project?

@ghost ghost merged commit 958ebb9 into microsoft:master Jul 30, 2020
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Islands Area: WinUI AutoMerge Causes a PR to be automatically merged once all requirements are passed (label drives bot activity)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants