Skip to content

[net8.0] Merge main to net8.0 branch#16681

Merged
PureWeen merged 31 commits intonet8.0from
merge-main-net8
Aug 11, 2023
Merged

[net8.0] Merge main to net8.0 branch#16681
PureWeen merged 31 commits intonet8.0from
merge-main-net8

Conversation

@rmarinho
Copy link
Copy Markdown
Member

Description of Change

Update net8 branch with latest fixes from main.

  • move to XCode 14.3.1

sbanni and others added 30 commits August 4, 2023 14:59
Bumps the androidx group with 1 update: [Xamarin.AndroidX.RecyclerView](https://github.com/xamarin/AndroidX).

- [Commits](https://github.com/xamarin/AndroidX/commits)

---
updated-dependencies:
- dependency-name: Xamarin.AndroidX.RecyclerView
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: androidx
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Begin doc progress

* Document element

* More explicit interface implementations

* Address PR feedback

* Document interfaces + delete xml

* whitespace

* Prevent compile issues

* Document IElementController (and mark as obsolete)

* Remove Obsolete attribute from IElementController

This would break the build in various places - and would go out of scope of the PR

* Document IVusalElementController

Apparently is only for internal use. We can't make it private so the only choice is to mark everything as for internal use only

* Prevent mdoc from breaking

You can't really cref a namespace

* Fixed other crefs

* Address Dave's feedback
* 'pwsh' is broken on net8

PowerShell/PowerShell#19679

* Remove the script

* oops
* Fix the issue

* Added more tests

* Updated Impl
* Implement on Windows and add unit tests

* Update src/Controls/src/Core/PointerGestureRecognizer.cs

Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>

---------

Co-authored-by: Samantha Houts <samhouts@users.noreply.github.com>
* [X] Optimize OnPlatform element syntax

- fixes #5583

* Auto-format source code

* don't generate x:Name for removed OnPlatforms

* Update src/Controls/src/SourceGen/Controls.SourceGen.csproj

Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>

* fix string comparison

---------


Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
also adds a checkbox to make it clear if this is a regression or not
Because, you know, why not ? It could be useful

- fixes #13619
* Update dependencies from https://github.com/dotnet/xharness build 20230807.2

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

* Run device tests on 16.4

* Force to 16.4

* Skip test that fails on iOS

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
* Adds prompts when creating a new page.

* Updates description as per suggested PR comments
Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Platform/iOS/PlatformTouchGraphicsView.cs(12,29): error MA0002: Member '_hoverGesture' could cause memory leaks in an NSObject subclass. Remove the member, store the value as a WeakReference, or add the [UnconditionalSuppressMessage("Memory", "MA0002")] attribute with a justification as to why the member will not leak.

I could reproduce a leak in `MemoryTests.cs`:

    ++[InlineData(typeof(GraphicsView))]
    public async Task HandlerDoesNotLeak(Type type)

Solved the problem by fixing two places:

* `PlatformTouchGraphicsView` now stores the `IGraphicsView` as a
  `WeakReference`.

* A `UIHoverGestureRecognizerProxy` is used for callbacks to the
  `UIHoverGestureRecognizer`.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Test demonstrating binding issue

* [C] SetBinding overrides SetValue, but only when the value is set

* - reenable tests

---------

Co-authored-by: Stephane Delcroix (HE/HIM) (from Dev Box) <stdelc@microsoft.com>
* Use runtime check

* Remove private

* Add back line

* Line endings?

* Use System.OperatingSystem

* Update src/BlazorWebView/src/Maui/iOS/BlazorWebViewHandler.iOS.cs

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
* [Housekeeping] Fix broken bug template

checkbox <> checkboxes

* Update bug-report.yml

* Update bug-report.yml
)

* Pointer Platform Event Args

* remove extension and use property instead

* make ctor internal

* nullable consistency, spelling, and private setter

* Public API changes and remove nullable windows routedargs

* uitests part 1

* only run ui tests on windows and mac

* move device conditional to test

* Change the tests to Pointer Tests for more reusability

* Add documentation

* Add extension method for ignoring platforms

* Update the documentation

* Change platform specific docs
* [C] fix Specificity for VSM

- fixes #11204

* remove skipped test
I did not realize that they would be editable tasks on the issue. Replaced with a dropdown. Also reordered the versions to be the most likely default options to speed up the reporting process.
…4824)

* Fix Android SwipeView not swiping using Label as Content

* Refactoring code

* Added sample to validate 6154

---------

Co-authored-by: Javier Suárez <6755973+jsuarezruiz@users.noreply.github.com>
* Locate xplat view from platformview

* - dispatcher

* - fix layout comparison on xunit

* - PR review comments

* - tizen fix
Bumps the aspnetcore group with 7 updates:

| Package | Update |
| --- | --- |
| [Microsoft.AspNetCore.Authorization](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Components.WebView](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.JSInterop](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Components.Web](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.Facebook](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.Google](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |
| [Microsoft.AspNetCore.Authentication.MicrosoftAccount](https://github.com/dotnet/aspnetcore) | 7.0.9 to 7.0.10 |


Updates `Microsoft.AspNetCore.Authorization` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Components.WebView` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.JSInterop` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Components.Web` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.Facebook` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.Google` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

Updates `Microsoft.AspNetCore.Authentication.MicrosoftAccount` from 7.0.9 to 7.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v7.0.9...v7.0.10)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Authorization
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Components.WebView
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.JSInterop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Components.Web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.Facebook
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.Google
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
- dependency-name: Microsoft.AspNetCore.Authentication.MicrosoftAccount
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aspnetcore
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Handlers/SwipeItemMenuItem/SwipeItemMenuItemHandler.iOS.cs(10,30): error MA0001: Event 'FrameChanged' could cause memory leaks in an NSObject subclass. Remove the event or add the [UnconditionalSuppressMessage("Memory", "MA0001")] attribute with a justification as to why the event will not leak.

I could reproduce the leak with a custom test in `SwipeViewTests`.

Solved the problem by introducing `SwipeItemButtonProxy` with the same
pattern from other PRs.
Context: #16346

This addresses the memory leak discovered by:

    src/Core/src/Platform/iOS/MauiDatePicker.cs(37,27): error MA0003: Subscribing to events with instance method 'OnValueChanged' could cause memory leaks in an NSObject subclass. Remove the subscription or convert the method to a static method.

I could reproduce a leak in `MemoryTests.cs`:

    ++[InlineData(typeof(DatePicker))]
    public async Task HandlerDoesNotLeak(Type type)

Solved the problem by fixing two places:

* `MauiDatePicker` now uses a `UIDatePickerProxy` type, for iOS

* `DatePickerHandler.MacCatalyst.cs` now uses a `UIDatePickerProxy` type,
  for MacCatalyst.

Other changes:

* Skip test on Android API 23

This is working for me locally on an API 23 emulator -- so I don't think
it is really leaking.

We skipped API 23 in another place:

https://github.com/dotnet/maui/blob/9fcccd57b5a3d664e4788b3c7fc3edc10010beaf/src/Controls/tests/DeviceTests/Elements/NavigationPage/NavigationPageTests.cs#L302-L303

We are more interested in iOS on this PR anyway.
### Description of Change

Implement Swipe for UI Testing
First attempt at more complicated queries for 'child'

This will enable Javier's changes for
#14320 with some additional changes
to his test that I will make once this is in.
…16552)

* Add doc comments for common types used in templates, maps, webview
* Enable WarnigsAsErrors for inline docs on Maps

I went through every type/method/etc. used in the default MAUI app template and ensured there are doc for all of them.

I also added a few miscellaneous docs for WebView types and Map (many were copied from Xamarin.Forms docs).
---------
Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>
# Conflicts:
#	eng/Versions.props
#	eng/cake/dotnet.cake
#	eng/package.ps1
#	eng/pipelines/device-tests.yml
@rmarinho rmarinho requested a review from a team as a code owner August 10, 2023 18:47
@Eilon Eilon added the area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions label Aug 10, 2023
@PureWeen PureWeen merged commit 442217f into net8.0 Aug 11, 2023
@PureWeen PureWeen deleted the merge-main-net8 branch August 11, 2023 00:02
@github-actions github-actions bot locked and limited conversation to collaborators Dec 7, 2023
@samhouts samhouts added the fixed-in-8.0.0-rc.1.9171 Look for this fix in 8.0.0-rc.1.9171 label Aug 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions fixed-in-8.0.0-rc.1.9171 Look for this fix in 8.0.0-rc.1.9171

Projects

None yet

Development

Successfully merging this pull request may close these issues.