Skip to content
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

Upgrade to Maui Version 8.0.3 & net8.0 #64

Closed
wants to merge 5,644 commits into from

Conversation

lytico
Copy link
Collaborator

@lytico lytico commented Nov 7, 2023

Description of Change

Based on Version 8.0.3 https://github.com/dotnet/maui/releases/tag/8.0.3
merge branch dotnet@0d64894

how to get it compile:

you have to install workload android, otherwise build fails with rider!

checkout https://github.com/lytico/GtkSharp/tree/lytico/net8


sudo -s
dotnet workload install android
git clone https://github.com/lytico/GtkSharp.git -b lytico/net8
cd GtkSharp
dotnet tools restore
dotnet cake --BuildTarget=UninstallWorkload 
dotnet cake --BuildTarget=InstallWorkload 
cd ..
rm -R GtkSharp

grafik

PureWeen and others added 30 commits September 25, 2023 14:27
* Recreate Details Fragment, if its been destroyed

* Update ToolbarTests.cs
* fix: remove reference to concrete native host app

* chore: fixing null dereference

* chore: update to avoid obsolete code

* chore: removing obsolete hard references

* chore: use private property on Tizen

* chore: fix null dereference

* chore: normalize Exception for null services

* chore: use current Android Application Context without strong type

* chore: make fields nullable

* chore: fixing nullable references

* chore: add null check for Maui Context

* chore: fixing obsolete message
* [Windows] Fixes border content clipping

Fixes clip path size to consider the border stroke thickness, so it only uses the inner space. For the space the border takes we consider both sides (top and bottom, or left and right) and not just the thickness.

On top of that, the clip should not be sentered with the content, so we need to offset it based on the contents position.

* [Windows] Fixes border content clipping

Fixes clip path size to consider the border stroke thickness, so it only uses the inner space. For the space the border takes we consider both sides (top and bottom, or left and right) and not just the thickness.

On top of that, the clip should not be sentered with the content, so we need to offset it based on the contents position.

* Fix BorderResizeContent sample

Add stroke thickness to polygon border

* Add border gallery for UI tests

* Minor fixups to the Border1 Controls.Sample.UITest

* Add border gallery ui tests

* Update border test

* Removed unnecessary .csproj changes

* Add WaitForStubControl, waiting for UI to appear

* Fix up border appium tests

* Make WaitForStubControl have label text - didn't seem to show up otherwise

* Disable test for now; will enable in a separate PR

---------

Co-authored-by: Bret Johnson <[email protected]>
Co-authored-by: Jeffrey Stedfast <[email protected]>
Bumps the xunit group with 3 updates: [xunit](https://github.com/xunit/xunit), [xunit.runner.visualstudio](https://github.com/xunit/xunit) and [xunit.runner.utility](https://github.com/xunit/xunit).


Updates `xunit` from 2.5.0 to 2.5.1
- [Commits](xunit/xunit@2.5.0...2.5.1)

Updates `xunit.runner.visualstudio` from 2.5.0 to 2.5.1
- [Commits](xunit/xunit@2.5.0...2.5.1)

Updates `xunit.runner.utility` from 2.5.0 to 2.5.1
- [Commits](xunit/xunit@2.5.0...2.5.1)

---
updated-dependencies:
- dependency-name: xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: xunit
- dependency-name: xunit.runner.visualstudio
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: xunit
- dependency-name: xunit.runner.utility
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: xunit
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…30921.1 (dotnet#17620)

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23431.1 -> To Version 8.0.0-prerelease.23471.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
# Conflicts:
#	eng/Versions.props
#	src/Templates/src/templates/maui-blazor/MauiApp.1.csproj
dotnet#17555)

* Fixed Android's Border background to use a Transparent bg if not otherwise specified

Fixes issue dotnet#17547

* Added unit test for default Border brackground
* Update Flyout when Shell.FlyoutContent changes

* Add test: FlyoutContentUpdatesAfterChange
* [XamlC] fix generic array

fix generic resolution for interfaces with generic array types.

- fix dotnet#10583

* fix tests
### Description of Change

Bring latest changes from main to net8.0 project
)

* Enable .NET 7 <MauiVersion> to work in .NET 8 SDK projects

* Add some tests
Windows and iOs correctly handled transparency with regards to children, but did not allow taps to pass through
Adapt to disable titlebar color during color change
### Description of Change

* Apply user accent color to the title bar when the setting "Show accent
color on title bars and windows borders" is enabled
* React to changes in user accent color
* When accent color on title bars are disabled: align the default title
bar color to use the Mica material when supported



| Before      | After |
| ----------- | ----------- |

|![before_dark](https://github.com/dotnet/maui/assets/890772/2a85c32c-5b81-47e9-92f2-939bfec38e8a)
|
![after_dark](https://github.com/dotnet/maui/assets/890772/8f6a7626-dc2b-4c3e-91ab-4130f825d108)
|

|![before_dark_accent](https://github.com/dotnet/maui/assets/890772/397fd23d-9645-4001-b316-6c0f7ce31007)
|
![after_dark_accent](https://github.com/dotnet/maui/assets/890772/8a668776-8eca-4689-9e02-8e39fb549b43)
|

|![before_light](https://github.com/dotnet/maui/assets/890772/78dcc229-4a23-4de4-ad4e-53b839ce4dfc)
|![after_light](https://github.com/dotnet/maui/assets/890772/e19390f9-4ea2-4cc1-8728-376f0b50217f)|

|![before_light_accent](https://github.com/dotnet/maui/assets/890772/ab68eef6-8707-487f-9178-eacdcd886914)|![after_light_accent](https://github.com/dotnet/maui/assets/890772/e82065b4-b024-4441-8755-7a1677acf043)|


### Visual Reference: Notepad

**Dark**

![ref_notepad_dark](https://github.com/dotnet/maui/assets/890772/d77be3d8-006d-4dcb-8146-3a71c0f560dc)

**Light**

![ref_notepad_light](https://github.com/dotnet/maui/assets/890772/f082a144-c9e9-45f7-8343-078803d39187)

### Issues Fixed

Fixes dotnet#16969
* Remove obsolete MauiWinUIApplication properties

* - add better comments

* - ignore banned on winui generated xaml file
# Conflicts:
#	eng/devices/windows.cake
### Description of Change

Merging latest stuff done with rc2
* Add ViewHandler & IViewHandler inline docs

* Update ViewHandler.cs

* Apply suggestions from code review

Co-authored-by: Juan Diego Herrera <[email protected]>

---------

Co-authored-by: Juan Diego Herrera <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gerald Versluis <[email protected]>
* Update dependencies from https://github.com/xamarin/xamarin-android build 8.0.1xx-rc2-4c7b6455b7bbf60268520e8d55996133210d1a37-1

Microsoft.Android.Sdk.Windows
 From Version 34.0.0-rc.2.464 -> To Version 34.0.0-rc.2.465

Dependency coherency updates

Microsoft.Dotnet.Sdk.Internal
 From Version 8.0.100-rc.2.23468.1 -> To Version 8.0.100-rc.2.23472.8 (parent: Microsoft.Android.Sdk.Windows

* Add missing feeds

* Update dependencies from https://github.com/xamarin/xamarin-android build 8.0.1xx-rc2-36bf7fbea070bd94155029a09aa079e52ca0e33e-1

Microsoft.Android.Sdk.Windows
 From Version 34.0.0-rc.2.464 -> To Version 34.0.0-rc.2.467

Dependency coherency updates

Microsoft.Dotnet.Sdk.Internal
 From Version 8.0.100-rc.2.23468.1 -> To Version 8.0.100-rc.2.23472.8 (parent: Microsoft.Android.Sdk.Windows

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <[email protected]>
# Conflicts:
#	.config/dotnet-tools.json
#	NuGet.config
#	eng/Version.Details.xml
#	eng/Versions.props
#	eng/devices/devices-shared.cake
#	src/Compatibility/Core/src/Compatibility.csproj
#	src/Controls/tests/UITests/Tests/Issues/Issue17490.cs
#	src/Controls/tests/UITests/Tests/UITestBase.cs
#	src/Core/src/Platform/iOS/KeyboardAutoManagerScroll.cs
@lytico lytico marked this pull request as ready for review December 7, 2023 18:37
@lytico lytico changed the title Lytico/merge/main231023 Upgrade to Maui Version 8.0.3 & net8.0 Dec 7, 2023
@lytico
Copy link
Collaborator Author

lytico commented Dec 20, 2023

@jsuarezruiz please a short statement to future of maui-linux
i understand that there are no resources to merge into maui https://github.com/dotnet/maui as of
dotnet#11738 (comment)
but is there a future of this fork?

@jsuarezruiz
Copy link
Owner

@jsuarezruiz please a short statement to future of maui-linux i understand that there are no resources to merge into maui https://github.com/dotnet/maui as of dotnet#11738 (comment) but is there a future of this fork?

I'm on vacation right now but I'll talk about it with the MAUI team soon when I get back. At the community level I am open to proposals or ideas.

@jsuarezruiz
Copy link
Owner

jsuarezruiz commented Jan 22, 2024

@jsuarezruiz please a short statement to future of maui-linux i understand that there are no resources to merge into maui https://github.com/dotnet/maui as of dotnet#11738 (comment) but is there a future of this fork?

David Ortinau and other PMs should decide what to do. In the past, when working in Xamarin.Forms GTK fork, was merged into the Xamarin.Forms repo once the entire implementation was completed.

@hansmbakker
Copy link

In the past when working in Xamarin.Forms GTK was merged into the Xamarin.Forms repo but once the entire implementation was completed

@jsuarezruiz this sentence seems to be cut off - could you please check if this was what you meant to write?

@lytico
Copy link
Collaborator Author

lytico commented Jan 22, 2024

it means that:
there has to be a complete implementation of Maui.Gtk before it could be merged into the main branch.
this was the way in the past how it was done with the Xamarin.Forms - Gtk-Implementation

@hansmbakker
Copy link

Ah, I understand it now, thanks

@malix0
Copy link

malix0 commented Jan 25, 2024

@lytico I remember you posted a link with the status of components, but I'm not sure was related to MAUI Linux or GtkSharp

@lytico
Copy link
Collaborator Author

lytico commented Jan 25, 2024

status is something like this: https://github.com/lytico/maui/blob/lytico/merge/main231023/Status.md

@jsuarezruiz
Copy link
Owner

it means that: there has to be a complete implementation of Maui.Gtk before it could be merged into the main branch. this was the way in the past how it was done with the Xamarin.Forms - Gtk-Implementation

Exactly that, thanks @lytico for the answer.

@hifron
Copy link

hifron commented Feb 17, 2024

Ask MS if you could merge this into Maui, but problem is legal because WinForms on other platforms than Windows requires special care or maybe permission. But if you could make deal with MS and you agree to support Maui under Linux for the long term and maybe community would agree for some special care to handle bugs, Microsoft Legal Review Process maybe could approve this(maybe from beginning requiring Windows license or other licensing) but probably would this go further if success.. But this repository is now violating something but problem is that that are simply more problems and no money only otherwise...

There are other possibilities to make Desktop Linux Apps, and if MS has problems with Maui(or even WinForms) under Linux, it is for some purpose...

@lytico
Copy link
Collaborator Author

lytico commented Mar 21, 2024

closing because outdated

a new PR will be prepared based on

https://github.com/lytico/maui/tree/lytico/gtk-ongoing

@lytico lytico closed this Mar 21, 2024
@DamianSuess
Copy link

@lytico looking forward to your PR. Just took a look at what you have going on, holy geez amazing!!
Really hope the MAUI team accepts your upcoming PR into the mainstream. 2 years back, we had to pivot to a different Linux UI-supporting solution due to it not being carried forward from Xamarin.Forms. Can't wait 🙏

@lytico
Copy link
Collaborator Author

lytico commented Mar 21, 2024

the pr is here: #66

@DamianSuess
Copy link

Just made my day! Have a great weekend

@lytico
Copy link
Collaborator Author

lytico commented Mar 21, 2024

@DamianSuess Really hope the MAUI team accepts your upcoming PR into the mainstream.

they won't. it's too much work to get a nearby production version.

i estimate around 600 - 800 hours to finalize it.

the whole layout process is a mess - starting with Layout-View and others.

there is a lot of mini mini, but time consuming stuff to do.

alone the BorderView - although it's a minimal implementation - took me 20 hours.

@malix0
Copy link

malix0 commented Mar 24, 2024

It's a shame, I see lot of people, shure also me, that are following Linux related MAUI issues. As you said 800 hours are too much for a single developer, but if the work can be splitted between more people, it maybe can be achieved. But I think that this is difficult to manage, cause there are a lot of things that need to be studied. MAUI architecture, GTK, WebView and related things. Then a coordination is needed. But if someone else is interested I'm here to learn and help.

@github-actions github-actions bot locked and limited conversation to collaborators Apr 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.