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, upstream dependencies/versions 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 requested review from PureWeen and mattleibow June 30, 2023 14:56
@rmarinho rmarinho merged commit 2fb4f20 into net8.0 Jun 30, 2023
@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
@samhouts samhouts added the fixed-in-8.0.0-preview.6.8686 Look for this fix in 8.0.0-preview.6.8686! 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-preview.6.8686 Look for this fix in 8.0.0-preview.6.8686!
Projects
None yet
Development

Successfully merging this pull request may close these issues.