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

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

Merged
merged 22 commits into from Jun 30, 2023
Merged

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

merged 22 commits into from Jun 30, 2023

Conversation

rmarinho
Copy link
Member

Description of Change

Update net8 branch with latest fixes

rdavisau and others added 22 commits June 15, 2023 13:08
…#15791)

* Update and rename dotnet-format-daily.yml to dotnet-format-daily-net7.yml

* Create dotnet-format-daily-main.yml

* Update dotnet-format-daily-main.yml

* Update dotnet-format-daily-net7.yml
…30621.2 (#15857)

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

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)

* [uitests] Option to run Compatibility uitests

* Missing -

* [uitests] Set variable on the correct place

* Increase timeout for UITests

* Ignore a couple of more tests

* Ignore a couple of more tests

* [uitests] Skip TabbedPage tests

* Ignore more TabbedPageTests
Context: #14664
Context: https://github.com/nacompllo/MemoryLeakEverywhere/tree/bugfix/memoryLeakItemsSource

In reviewing our latest changes in main with the above customer sample,
I found that there appeared to be leaks related to MAUI's
`UITableViewCell` subclasses when using `CollectionView`.

I was able to reproduce the issue in a test, such as:

    // DataTemplate saves WeakReference to the View in a list
    collectionView.ItemTemplate = new DataTemplate(() =>
    {
        var label = new Label();
        labels.Add(new(label));
        return label;
    });

    // Create a cell and bind it to the template:
    cell = new VerticalCell(CGRect.Empty);
    cell.Bind(collectionView.ItemTemplate, bindingContext, collectionView);

    // Check we have no leaks
    foreach (var reference in labels)
    {
        Assert.False(reference.IsAlive, "View should not be alive!");
    }

After isolating the issue, I found the issue was the
`TemplatedCell.PlatformHandler` property:

    internal IPlatformViewHandler PlatformHandler { get; private set; }

This stores a copy of the `LabelHandler` in our test/example.

The problem with `UITableViewCell` is that UIKit holds onto these and
reuses them. This means that UIKit may keep the `LabelHandler` alive
longer than needed.

It also appears to be a somewhat complex circular reference:

* `CollectionView` -> handlers / etc. -> `TemplatedCell` -> `LabelHandler` -> `Label` -> `CollectionView`

I made the `PlatformHandler` use a `WeakReference` as its backing
field and the problem goes away!

I will retest #14664 to verify if it is fully solved.
* Optimize iOS selection synchronization not to use O(n^2) algorithm and to respect GetHashCode/Equals overrides instead of relying on reference equality.

* Fix few more places where reference equality was used instead of object equality.
* fix(shell): Fixed removing items from the shell causing a crash

* Auto-format source code

* Use null terminator

* Add device tests

* PR feedback, move test to run on all devices

---------

Co-authored-by: Mike Corsaro <mikecorsaro@microsoft.com>
Co-authored-by: GitHub Actions Autoformatter <autoformat@example.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…eters (#15662)

### Description of Change

Makes `WebUtils.ParseQueryString` extract parameters from both
`Uri.Query` and `Uri.Fragment`, resolving a regression from net8p4 to
net8p5.

### Issues Fixed

Fixes #15661
* Fix crash swapping MainPage on Windows

* Updated tests

* Fix crash swapping MainPage on Windows

* Updated tests

* Updated Impl

* More changes

* Updated test

* Changes from feedback

---------

Co-authored-by: Javier Suárez <6755973+jsuarezruiz@users.noreply.github.com>
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.2 to 17.6.3.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.6.2...v17.6.3)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Wait for switched item to load

* - fix edge case where a shell page is removed during load
* Use default StepFrequency and SmallChange values

* Only remove SmallChange
Bumps [powershell](https://github.com/PowerShell/PowerShell) from 7.3.4 to 7.3.5.
- [Release notes](https://github.com/PowerShell/PowerShell/releases)
- [Commits](PowerShell/PowerShell@v7.3.4...v7.3.5)

---
updated-dependencies:
- dependency-name: powershell
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix PointerGesture CommandParameter properties

* Add tests
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@Eilon Eilon added the area/infrastructure 🏗️ CI, Maestro / Coherency label Jun 29, 2023
@rmarinho
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@rmarinho rmarinho self-assigned this Jun 30, 2023
@rmarinho rmarinho enabled auto-merge June 30, 2023 13:49
@rmarinho rmarinho merged commit 2fb4f20 into net8.0 Jun 30, 2023
27 of 28 checks passed
@rmarinho rmarinho deleted the merge-net8-main branch June 30, 2023 14:58
@github-actions github-actions bot locked and limited conversation to collaborators Dec 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/infrastructure 🏗️ CI, Maestro / Coherency
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet